![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.05.2009
Сообщений: 30
|
![]()
массиве а[10] поменять max и min элементы.
вывести исходный и результирующий массивы. #include<stdio.h> #define n 10 int main(void) {int i, max, min,b; int a[n]; printf("\nvvedite %d chisel:\n",n); for(i=0; i<n; i++) scanf("%d", a+i); for(i=0; i<n; i++) if (a[i]>max) {max=a[i]; printf("\n maximalnuy element massiva %d\n",max); } for(i=0; i<n; i++) if(a[i]<min) {min=a[i]; printf("\nminimalnuy element massiva %d\n",min); } for(i=0; i<n; i++) if (max>min) {max=b; min=max; b=min; } printf("\n resultiruuchii massiv\n"); for(i=0; i<n; i++) printf("%d ", a[i]); return 0; } если может укажите на места с ошибками или как их исправить.. |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
min и max не инициализированы перед циклами, в них может быть что угодно.
Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.05.2009
Сообщений: 30
|
![]()
а как тогда лучше написать ? объявить переменные max и min =1?
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 09.05.2010
Сообщений: 17
|
![]()
переменным max и min до циклов их нахождения присвоить значения первого элемента, чтобы было с чем сравнивать. Тогда цикл можно начинать с i=1, но работать будет и так.
А вот Код:
Чтобы поменять их местами надо еще хранить индексы, в которых хранятся эти самые минимальное и максимальное - их же в массиве надо изменить, а не в переменных min и max. Чтобы поменять значения переменных a и b: t=a; a=b; b=t; плюс нужно что-то сделать со случаем, когда несколько мин. и макс. значений. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 27.05.2009
Сообщений: 30
|
![]()
#include<stdio.h>
#define n 10 int main(void) {int i, max, min,b; int a[n]; printf("\nvvedite %d chisel:\n",n); for(i=0; i<n; i++) scanf("%d", a+i); for(i=0; i<n; i++) if (a[i]>max) {max=a[i]; printf("\n maximalnuy element massiva %d\n",max); } min=a[1]; for(i=0; i<n; i++) if(a[i]<min) {min=a[i]; printf("\nminimalnuy element massiva %d\n",min); } max=a[1]; for(i=0; i<n; i++) if (max>min) {max=b; min=max; b=min; } printf("\n resultiruuchii massiv\n"); for(i=0; i<n; i++) printf("%d ", a[i]); return 0; } вот так? только максимаьлный элемент всё равно не ищет и перестановка не происходит.. |
![]() |
![]() |
![]() |
#6 |
Boom-boom)
Форумчанин
Регистрация: 02.02.2009
Сообщений: 500
|
![]() Код:
¡ʁɔvʎнdǝʚǝdǝu dиw
|
![]() |
![]() |