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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2018, 17:48   #1
masha99
 
Регистрация: 08.11.2018
Сообщений: 9
По умолчанию Нужно написать прогу на си (Найти наименьший положительный элемент линейного массива)

Найти наименьший положительный элемент линейного массива

Последний раз редактировалось masha99; 08.11.2018 в 18:05.
masha99 вне форума Ответить с цитированием
Старый 08.11.2018, 17:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Нужно - пишите. Вы хотите разрешения от нас?
p51x вне форума Ответить с цитированием
Старый 08.11.2018, 18:27   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код:
int min = a[0];
for (int i = 1; i < arrayLength; i++) {
	if (a[i] < min && a[i] > 0) {
		min = a[i]
	};
};

if (min > 0) {
	// Искомый элемент равен min
} else {
	// в массивет нет положительных элементов
};

Последний раз редактировалось Вадим Мошев; 08.11.2018 в 18:34.
Вадим Мошев вне форума Ответить с цитированием
Старый 09.11.2018, 10:28   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вадим Мошев, это некорректный код.
нельзя брать за минимум нулевой элемент. он же может быть отрицательный.
и тогда, сколько бы не было положительных, условие a[i] < min && a[i] > 0 не выполнится ни разу.

я бы предложил такой вариант
Код:
int indexmin = -1;
for (int i = 0; i < arrayLength; i++){
  if(a[i]>0){
    if(indexmin<0)
	indexmin = i;
    else
	if(a[i]<a[indexmin])
		indexmin = i;
  }
};

if ( indexmin < 0) {
  // в массиве нет положительных элементов
} else {
  // Искомый минимальный положительный элемент равен a[indexmin]
};

Последний раз редактировалось Serge_Bliznykov; 09.11.2018 в 10:32.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2018, 01:38   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Да, виноват, я был не прав. Писал, вообще не думая...
Вадим Мошев вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FASM: Среди элементов одномерного массива (в сегменте данных) найти наибольший отрицательный и наименьший положительный элементы. 1234568654321 Помощь студентам 1 30.04.2015 20:30
наименьший положительный элемент sp.caster Visual C++ 1 07.05.2011 00:33
Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный ниже (Pascal) Tifa Помощь студентам 10 28.01.2011 08:23
одномерные массивы(C++) - Найти максимальный положительный элемент и вычислить сумму элементов массива Scarletred Помощь студентам 2 03.04.2010 03:08