Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите Решить задачу в Borland C/C++ > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
SisDAn
В массиве из 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
Тролль
Надо зафиксировать также какой номер у максимального элемента.
Например так (k = 0 - номер максимального элемента):
if (a[i]>max)
{
k = i;
max = a[i];
}
А в конце (l - номер минимального элемента)
s = a[k];
a[k] = a[l];
a[l] = s;
SisDAn
хорошо а поточнее я в программировании не силён!!!
Тролль
Что именно нужно поточнее?
SisDAn
как зафиксировать к=0
и вывести на экран
Тролль
В самом начале написать int k = 0
А зачем его выводить?
SisDAn
ответ надо показать на экране ! задание такое !
Щас попробую и отпишусь!
граф Монте-Кристо
1)У Вас же задано, что в массиве 15 элементов, зачем вводить n с клавиатуры?
2)Где, собственно, ввод самих элементов массива?
SisDAn
Я только учусь 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
граф Монте-Кристо
Нет.
Чтобы правильно сделать float max=a[0], min=a[0]; - нужно, чтобы хотя бы a[0](а,желательно,и все остальные элементы массива) было задано.
Кроме того,в глаза бросается различное количество открывающих и закрывающих фигурных скобок,а так же совсем не понятно, что Вы имели в виду после последнего if'а.
И определитесь, на чём Вы пишете - С или С++. В первом случае советую книжку Кернигана и Ритчи, во втором - Страуструпа или Шилдта.
Тролль
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
Ладно народ спасибо до завтра !!! А то вставать в 7:00!
Завтра буду разбираться!
nik77714
ВОТ КАК ТО ТАК! НАВЕРНО (ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ)

#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;
}

БОЛЬШАЯ ПРОСЬБА, ЕСЛИ НЕПРАВИЛЬНО, ТО ДАТЬ РЕДАКТИРОВАННЫЙ ОТВЕТ С ОБЪЯСНЕНИЯМИ helpsmilie.gif
nik77714
Итог таков:

#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 данного массива и выводим на экран!

ВОПРОС: как вписать перестановку местами?


граф Монте-Кристо
Чтобы осуществить перестановку,надо знать индексы переставляемых элементов. Об этом Вам Тролль уже говорил.
SisDAn
А как наитй индексы???
#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
Народ HELP !!!!
Тролль
Я же писал уже.
SisDAn
Народ как построить математическую модель к заданию ??? Прогу мы написали!!!
SisDAn
#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() ;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.