Помогите Решить задачу в Borland C/C++, В массиве из 15 элементов необходимо поменять местами максимальный и |
Здравствуйте, гость ( Вход | Регистрация )
Помогите Решить задачу в Borland C/C++, В массиве из 15 элементов необходимо поменять местами максимальный и |
SisDAn |
15.3.2011, 20:28
Сообщение
#1
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
В массиве из 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 |
Тролль |
15.3.2011, 20:34
Сообщение
#2
|
Доцент Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
Надо зафиксировать также какой номер у максимального элемента.
Например так (k = 0 - номер максимального элемента): if (a[i]>max) { k = i; max = a[i]; } А в конце (l - номер минимального элемента) s = a[k]; a[k] = a[l]; a[l] = s; |
SisDAn |
15.3.2011, 20:36
Сообщение
#3
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
хорошо а поточнее я в программировании не силён!!!
|
Тролль |
15.3.2011, 20:37
Сообщение
#4
|
Доцент Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
Что именно нужно поточнее?
|
SisDAn |
15.3.2011, 20:38
Сообщение
#5
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
как зафиксировать к=0
и вывести на экран |
Тролль |
15.3.2011, 20:46
Сообщение
#6
|
Доцент Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
В самом начале написать int k = 0
А зачем его выводить? |
SisDAn |
15.3.2011, 20:47
Сообщение
#7
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
ответ надо показать на экране ! задание такое !
Щас попробую и отпишусь! |
граф Монте-Кристо |
15.3.2011, 20:53
Сообщение
#8
|
Доцент Группа: Преподаватели Сообщений: 3 840 Регистрация: 27.9.2007 Из: Старый Оскол Город: Москва Учебное заведение: МФТИ/МАИ Вы: другое |
1)У Вас же задано, что в массиве 15 элементов, зачем вводить n с клавиатуры?
2)Где, собственно, ввод самих элементов массива? |
SisDAn |
15.3.2011, 21:06
Сообщение
#9
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
Я только учусь 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 |
граф Монте-Кристо |
15.3.2011, 21:31
Сообщение
#10
|
Доцент Группа: Преподаватели Сообщений: 3 840 Регистрация: 27.9.2007 Из: Старый Оскол Город: Москва Учебное заведение: МФТИ/МАИ Вы: другое |
Нет.
Чтобы правильно сделать float max=a[0], min=a[0]; - нужно, чтобы хотя бы a[0](а,желательно,и все остальные элементы массива) было задано. Кроме того,в глаза бросается различное количество открывающих и закрывающих фигурных скобок,а так же совсем не понятно, что Вы имели в виду после последнего if'а. И определитесь, на чём Вы пишете - С или С++. В первом случае советую книжку Кернигана и Ритчи, во втором - Страуструпа или Шилдта. |
Тролль |
15.3.2011, 21:31
Сообщение
#11
|
Доцент Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
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 |
15.3.2011, 21:57
Сообщение
#12
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
Ладно народ спасибо до завтра !!! А то вставать в 7:00!
Завтра буду разбираться! |
nik77714 |
16.3.2011, 9:56
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 2 Регистрация: 16.3.2011 Город: Мончегорск Учебное заведение: кафэПетрГУ зис2010(5.5) |
ВОТ КАК ТО ТАК! НАВЕРНО (ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ)
#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; } БОЛЬШАЯ ПРОСЬБА, ЕСЛИ НЕПРАВИЛЬНО, ТО ДАТЬ РЕДАКТИРОВАННЫЙ ОТВЕТ С ОБЪЯСНЕНИЯМИ (IMG:style_emoticons/default/helpsmilie.gif) |
nik77714 |
16.3.2011, 15:28
Сообщение
#14
|
Новичок Группа: Пользователи Сообщений: 2 Регистрация: 16.3.2011 Город: Мончегорск Учебное заведение: кафэПетрГУ зис2010(5.5) |
Итог таков:
#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 данного массива и выводим на экран! ВОПРОС: как вписать перестановку местами? |
граф Монте-Кристо |
16.3.2011, 17:14
Сообщение
#15
|
Доцент Группа: Преподаватели Сообщений: 3 840 Регистрация: 27.9.2007 Из: Старый Оскол Город: Москва Учебное заведение: МФТИ/МАИ Вы: другое |
Чтобы осуществить перестановку,надо знать индексы переставляемых элементов. Об этом Вам Тролль уже говорил.
|
SisDAn |
16.3.2011, 19:26
Сообщение
#16
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
А как наитй индексы???
#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 |
16.3.2011, 20:00
Сообщение
#17
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
Народ HELP !!!!
|
Тролль |
16.3.2011, 20:02
Сообщение
#18
|
Доцент Группа: Преподаватели Сообщений: 2 964 Регистрация: 23.2.2007 Город: Москва Учебное заведение: МГУ |
Я же писал уже.
|
SisDAn |
16.3.2011, 21:56
Сообщение
#19
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
Народ как построить математическую модель к заданию ??? Прогу мы написали!!!
|
SisDAn |
17.3.2011, 20:35
Сообщение
#20
|
Школьник Группа: Продвинутые Сообщений: 10 Регистрация: 15.3.2011 Город: Monchester Вы: студент |
#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() ; |
Текстовая версия | Сейчас: 24.4.2024, 20:38 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru