Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

Нужно - пишите. Вы хотите разрешения от нас?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 08.11.2018, 19:27   #3
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,708
Репутация: 3715
По умолчанию

Код:

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 в 19:34.
Вадим Мошев на форуме   Ответить с цитированием
Старый 09.11.2018, 11:28   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,525
Репутация: 5308
По умолчанию

Вадим Мошев, это некорректный код.
нельзя брать за минимум нулевой элемент. он же может быть отрицательный.
и тогда, сколько бы не было положительных, условие 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 в 11:32.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 10.11.2018, 02:38   #5
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,708
Репутация: 3715
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


14:55.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru