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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2012, 08:03   #1
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию Minmax-минимумы и максимумы.

Minmax-минимумы и максимумы.
Использовать "однопроходные" алгоритмы, позволяющие получить требуемый результат после однократного просмотра набора исходных данных. (Массивы не использовать). Исходный набор содержит ненулевое количество элементов (N всегда больше нуля)

Задача.
Дано целое число N и набор из N чисел. Найти номер минимального элемента из данного набора.
Если можно, то пишите пожалуйста решение на языке Си.
L01 вне форума Ответить с цитированием
Старый 14.04.2012, 08:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int q,n,max,min; scanf("%d",&n);
for(;!n;n--){ 
 scanf("%d",q);
 max=(q>max)?q:max;
 min=(q<min)?q:min;
};
И вывод на экран экстремумов
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2012, 08:21   #3
DrStrangeLove
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 56
По умолчанию

Как не использовать массивы?? У тебя ведь набор чисел??

Последний раз редактировалось DrStrangeLove; 14.04.2012 в 08:54.
DrStrangeLove вне форума Ответить с цитированием
Старый 14.04.2012, 08:49   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Цитата:
Сообщение от DrStrangeLove Посмотреть сообщение
Как не испоьзовать массивы??
Так, как показал Stilet. У нас же однопроходный алгоритм.
Код:
#include <limits.h>

int q,n,max,min,posax,posin,i;
min=INT_MAX;
max=INT_MIN;
scanf("%d",&n);
for(i=0;i<n;i++){ 
 scanf("%d",q);
 if (q>max)
 {
	max=q;
	posax=i;
 }
 else
 if (q<min)
 {
	min=q;
	posin=i;
 }
};
printf("maxposition: %d minposition: %d",posax+1,posin+1);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 14.04.2012 в 09:04.
BDA на форуме Ответить с цитированием
Старый 14.04.2012, 09:13   #5
DrStrangeLove
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 56
По умолчанию

Код:
min=INT_MAX;
max=INT_MIN;
именно так?? ошибки нет??
DrStrangeLove вне форума Ответить с цитированием
Старый 14.04.2012, 09:13   #6
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Цитата:
Сообщение от DrStrangeLove Посмотреть сообщение
Как не использовать массивы?? У тебя ведь набор чисел??
Ну, по заданию массивы нельзя использовать. Нужно сделать с циклом.
L01 вне форума Ответить с цитированием
Старый 14.04.2012, 09:14   #7
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Спасибо.)))
L01 вне форума Ответить с цитированием
Старый 14.04.2012, 09:15   #8
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

Спасибо.) Попробую написать.)
L01 вне форума Ответить с цитированием
Старый 14.04.2012, 09:27   #9
L01
Пользователь
 
Регистрация: 14.04.2012
Сообщений: 25
По умолчанию

А что такое posax,posin?
L01 вне форума Ответить с цитированием
Старый 14.04.2012, 09:30   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

DrStrangeLove, именно так. Инициализация наоборот (чтобы входные данные сразу изменили эти переменные).
L01, posin - position min; posax - position max. Да, на будущее. Редактируйте свое последнее сообщение кнопкой Правка, иначе можете получить штраф (забыл научное название нарушения).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 14.04.2012 в 09:32.
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Отсортировать максимумы по убыванию в матрицеб а минимумы по возрастаниюю Tifa Паскаль, Turbo Pascal, PascalABC.NET 6 24.01.2012 22:36
MinMax -=Дрюня=- Помощь студентам 1 16.11.2011 16:32
Минимумы и максимумы Абай Паскаль, Turbo Pascal, PascalABC.NET 3 13.06.2011 22:55
ОТСОРТИРОВАТЬ максимумы по убыванию в матрице,а минимумы по возрастанию YooooO!!! Паскаль, Turbo Pascal, PascalABC.NET 1 22.01.2011 14:21
минимумы и максимумы Delphin-666 Общие вопросы Delphi 9 15.06.2010 09:07