SisDAn
Сообщение
#71921 15.3.2011, 20:28
В массиве из 15 элементов необходимо поменять местами максимальный и минимальный значения
Вот что накидал !!!
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15],i,n;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]>max)max=a[i]; //БЛОК ПОИСКА
if(a[i]<min)min=a[i]; //МИН И МАК
}
Вопрос как поменять значения в массиве Min , Max
Тролль
Сообщение
#71922 15.3.2011, 20:34
Надо зафиксировать также какой номер у максимального элемента.
Например так (k = 0 - номер максимального элемента):
if (a[i]>max)
{
k = i;
max = a[i];
}
А в конце (l - номер минимального элемента)
s = a[k];
a[k] = a[l];
a[l] = s;
SisDAn
Сообщение
#71923 15.3.2011, 20:36
хорошо а поточнее я в программировании не силён!!!
Тролль
Сообщение
#71924 15.3.2011, 20:37
Что именно нужно поточнее?
SisDAn
Сообщение
#71925 15.3.2011, 20:38
как зафиксировать к=0
и вывести на экран
Тролль
Сообщение
#71926 15.3.2011, 20:46
В самом начале написать int k = 0
А зачем его выводить?
SisDAn
Сообщение
#71927 15.3.2011, 20:47
ответ надо показать на экране ! задание такое !
Щас попробую и отпишусь!
граф Монте-Кристо
Сообщение
#71928 15.3.2011, 20:53
1)У Вас же задано, что в массиве 15 элементов, зачем вводить n с клавиатуры?
2)Где, собственно, ввод самих элементов массива?
SisDAn
Сообщение
#71929 15.3.2011, 21:06
Я только учусь 1 курс 1 семестр ЗА ОЧКИ пытаюсь хоть как то разобраться!!!
Вот так я правельно понял ???
int main()
{
clrscr();
int a[15],i,n,s,k;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]>max)max=a[i]; //БЛОК ПОИСКА
if(a[i]<min)min=a[i]; //МИН И МАК
if (a[i]>max)
int k=0;
max=a[i];
s=a[k];
a[k]=a[1];
a[1]=s;
Ругается на К=0
граф Монте-Кристо
Сообщение
#71930 15.3.2011, 21:31
Нет.
Чтобы правильно сделать float max=a[0], min=a[0]; - нужно, чтобы хотя бы a[0](а,желательно,и все остальные элементы массива) было задано.
Кроме того,в глаза бросается различное количество открывающих и закрывающих фигурных скобок,а так же совсем не понятно, что Вы имели в виду после последнего if'а.
И определитесь, на чём Вы пишете - С или С++. В первом случае советую книжку Кернигана и Ритчи, во втором - Страуструпа или Шилдта.
Тролль
Сообщение
#71931 15.3.2011, 21:31
int main()
{
clrscr();
int a[15],i,n,s,k=0;
float max=a[0], min=a[0];
cout<<"vvedite n:";
cin>>n; //КОЛ ЗНАЧЕНИЙ В МАССИВЕ
for(i=0;i<n;i++)
{
if(a[i]<min)min=a[i];
if (a[i]>max)
{
max=a[i];
k=i;
}
SisDAn
Сообщение
#71932 15.3.2011, 21:57
Ладно народ спасибо до завтра !!! А то вставать в 7:00!
Завтра буду разбираться!
nik77714
Сообщение
#71948 16.3.2011, 9:56
ВОТ КАК ТО ТАК! НАВЕРНО (ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ)
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},n,i,k=0,l=0;
int max=a[0],min=a[0];
for(i=0;i<15;i++)
cout<<a[i]<<" ";
{
if(a[i]<min)min=a[i];
if(a[i]>max)
max=a[i];
k=i;
}
БОЛЬШАЯ ПРОСЬБА, ЕСЛИ НЕПРАВИЛЬНО, ТО ДАТЬ РЕДАКТИРОВАННЫЙ ОТВЕТ С ОБЪЯСНЕНИЯМИ
nik77714
Сообщение
#71977 16.3.2011, 15:28
Итог таков:
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},i,min,max;
max=a[0];
min=a[0];
for(i=0;i<15;i++)
{
cout<<a[i]<<' ';
}
for(i=0;i<15;i++)
{
if(a[i]<min)
{
min=a[i];
}
else if(a[i]>max)
{
max=a[i];
}
}
cout<<endl;
cout<<max;
cout<<endl;
cout<<min;
cout<<endl;
system("pause");
return 0;
}
находим max и min данного массива и выводим на экран!
ВОПРОС: как вписать перестановку местами?
граф Монте-Кристо
Сообщение
#71981 16.3.2011, 17:14
Чтобы осуществить перестановку,надо знать индексы переставляемых элементов. Об этом Вам Тролль уже говорил.
SisDAn
Сообщение
#71988 16.3.2011, 19:26
А как наитй индексы???
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={45,76,43,3,6,9,65,23,64,3,5,92,22,33,10},min,max,i,k,l;
max=a[0];
min=a[0];
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
for(i=0;i<15;i++)
{
if(a[i]<min)
{
min=a[i];
}
else if(a[i]>max)
{
max=a[i];
}
}
cout<<endl;
cout<<max;
cout<<endl;
cout<<min;
cout<<endl;
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
я нашёл макс и мин !!!
у нас есть индекс MAX и MIN Как их поменять местами???
SisDAn
Сообщение
#71992 16.3.2011, 20:00
Народ HELP !!!!
Тролль
Сообщение
#71993 16.3.2011, 20:02
Я же писал уже.
SisDAn
Сообщение
#72001 16.3.2011, 21:56
Народ как построить математическую модель к заданию ??? Прогу мы написали!!!
SisDAn
Сообщение
#72035 17.3.2011, 20:35
#include <iostream.h>
#include <process.h>
#include <conio.h>
int main()
{
clrscr();
int a[15]={45,76,43,3,6,9,65,23,64,4,5,92,22,33,10},min,max,i,k,l;
max=a[0];
min=a[0];
int minposition=0;
int maxposition=0;
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
for(k=0;k<15;k++)
{
if(a[k]>max)
{
max=a[k];
maxposition=k;
}
else if(a[k]<min)
{
min=a[k];
minposition=k;
}
}
a[minposition]=max;
a[maxposition]=min;
cout<<endl;
cout<<"max"<<max;
cout<<endl;
cout<<"min"<<min;
cout<<endl;
cout<<endl;
cout<<"new matrix: ";
cout<<endl;
for(i=0;i<15;i++)
{
cout<<a[i]<<" ";
}
getch() ;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.