Форум программистов, компьютерный форум CyberForum.ru

Доделать решение... - C++

Восстановить пароль Регистрация
 
Shady3000rf
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
04.11.2010, 15:17     Доделать решение... #1
Всем доброго времени суток)
Помогите пожайлуста делать решение задачи)))
В данном массиве чисел а1, а2, ..., а25 поменять местами минимальный и максимальный элементы.
А именно, не могу додуматься как сделать саму замену максимального минимальным и на оборот

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---------------------------------------------------------------------------
 
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int main()
{int min,max,i,a[25];
randomize();
for (i=0;i<25;i++)
        {a[i]=random(25);}
 
for (i=0;i<25;i++)
        {printf("%i ", a[i]);}
 
printf("\n");
max=a[0];
for (i=0;i<25;i++)
        {if (max<a[i]) max=a[i];
         if (min>a[i]) min=a[i];}
printf("max=%i\n min=%i\n  ", max, min);
 
for (i=0;i<25;i++)
        {}
 
getch();
return 0;
}
//---------------------------------------------------------------------------
Вот сделал только вывод массива, и вывод max и min, а вот как поменять местами до меня не доходит(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 15:17     Доделать решение...
Посмотрите здесь:

C++ Доделать программу.
C++ не могу доделать.
C++ доделать программу
Не могу доделать C++
Доделать программу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lerny
 Аватар для Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
04.11.2010, 15:25     Доделать решение... #2
C++
1
int min,max,i,a[25],maxi,mini,t;
C++
1
2
3
4
5
6
7
for (i=0;i<25;i++)
        {if (max<a[i]) {max=a[i];maxi=i;}
         if (min>a[i]) {min=a[i];mini=i;}
         }
t=a[mini];
a[mini]=a[maxi];
a[maxi]=t;
Shady3000rf
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
04.11.2010, 15:34  [ТС]     Доделать решение... #3
ругается на t=a[mini];
[IMG]http://s011.***********/i317/1011/fc/4a147d70d648.jpg[/IMG]

А я немного не понял сначало) Всё норм)))
Lerny
 Аватар для Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
04.11.2010, 15:45     Доделать решение... #4
Не, действительно иногда ругается.

C++
1
2
max=a[0];
min=a[0];
Вот оно где))
C++
1
2
3
4
for (i=0;i<25;i++)
        {if (a[i]>max) {max=a[i];maxi=i;}
         if (a[i]<min) {min=a[i];mini=i;}
         }
Shady3000rf
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
04.11.2010, 15:46  [ТС]     Доделать решение... #5
Щас попробую...
Lerny
 Аватар для Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
04.11.2010, 15:51     Доделать решение... #6
Так, не. Что-то у меня под вечер уже каша в голове, сейчас вычленим.
Ага:
C++
1
int min,max,i,a[25],maxi=0,mini=0,t;
Shady3000rf
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
04.11.2010, 16:11  [ТС]     Доделать решение... #7
Вот теперь всё работает)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{int min,max,i,a[25],t,mini=0,maxi=0;
randomize();
for (i=0;i<25;i++)
        {a[i]=random(25);}
 
for (i=0;i<25;i++)
        {printf("%i ", a[i]);}
 
printf("\n");
max=a[0];
min=a[0];
for (i=0;i<25;i++)
        {if (max<a[i]) {max=a[i];maxi=i;}
         if (min>a[i]) {min=a[i];mini=i;}
         }
t=a[mini];
a[mini]=a[maxi];
a[maxi]=t;
printf("max=%i\n min=%i\n  ", max, min);
printf("mini=%i maxi=%i ", a[mini], a[maxi]);
Вот только у меня почему-то не выводит массив с уже заменёнными, т.е. в конце печатаю
printf("%i ", a[i]);
а он у меня выводит только одно число, или я не правильно его вывожу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 16:14     Доделать решение...
Еще ссылки по теме:

Доделать код C++
C++ Доделать код
Доделать программу С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lerny
 Аватар для Lerny
56 / 56 / 3
Регистрация: 14.03.2010
Сообщений: 151
04.11.2010, 16:14     Доделать решение... #8
У вас же выводится уже массив однажды, также и копируйте:
C++
1
2
for (i=0;i<25;i++)
        {printf("%i ", a[i]);}
Yandex
Объявления
04.11.2010, 16:14     Доделать решение...
Ответ Создать тему
Опции темы

Текущее время: 18:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru