Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 17:55   #1
bot.bat
 
Регистрация: 04.11.2011
Сообщений: 8
По умолчанию Максимальное и минимальные числа из 10 (C++)

Программа должна из 10 введенных чисел поменять местами максимальное и минимальное число.

Мой код:

Код:
#include <stdio.h>
#include <conio.h>
#define NOM 10

void main()
{
	float ch[NOM], max, min;
	int i, imax, imin;
	printf("\nENTER NUMBERS: \n");
	scanf("%f",&max);
	min=max;
	ch[0]=max;
	for(i=1;i<NOM;i++)
	{  scanf("%f",&ch[i]);
	   if(ch[i]>max)
	   {  max=ch[i];
	      imax=i;
	   }
	   if(ch[i]<min)
	   {  min=ch[i];
	      imin=i;
	   }
	}
	printf("\nRESULT:\n");
	for(i=0;i<NOM;i++)
		if(ch[i]==max) printf(" %f", ch[imax]);
		else
			if(ch[i]==min) printf(" %f", ch[imin]);
			else printf("%f", ch[i]);
	getch();
}
При трассировке какая-то уличная магия происходит... Каждый раз на какой-нибудь рандомной по счету цифре программа не входит в эту часть кода, хотя должна (ибо условие подходит):

Код:
if(ch[i]>max)
	   {  max=ch[i];
	      imax=i;
	   }
Почему так?
bot.bat вне форума Ответить с цитированием
Старый 15.01.2012, 18:13   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

В первую очередь, я вообще не увидел перестановки самих элементов.
Во вторую, здесь как я понимаю вы хотите просто вывести элементы.
Код:
for(i=0;i<NOM;i++)
		if(ch[i]==max) printf(" %f", ch[imax]);
		else
			if(ch[i]==min) printf(" %f", ch[imin]);
			else printf("%f", ch[i]);
А для чего вообще тогда запоминали индексы?) Лишний цикл в общем. Что мешает сразу вывести минимальное и максимальное число?
И еще, попросил бы комментрий вот к этой строчке
Код:
ch[0]=max;
'
И зря вы так играетесь
Код:
min=max;
.....
Базиля вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Минимальные требования для компа Mikhail Bakurov Свободное общение 11 13.09.2011 16:03
найти максимальный и минимальные элементы viknik Помощь студентам 1 01.06.2011 23:12
минимальные элементы Dmitry73 Помощь студентам 1 24.11.2010 23:05
Минимальные значения строк. Delphi Delphin-666 Помощь студентам 2 14.06.2010 13:45
Задача:Найти максимальное из цифр четырехзначного числа Obender13 Помощь студентам 1 07.11.2009 08:07