Консультация № 192223
24.12.2017, 11:20
0.00 руб.
0 3 0
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:Ребят, мне нужно найти второй по модулю элемент массива, мне сказали что нужно сначала найти минимальный , а потом написать еще один цикл, где мы находим второй минимальный элемент массива. Минимальный я нашел, но не понимаю что писать во втором цикле, подскажите пожайлуста



Приложение:
#pragma argsused
int main(int argc, char* argv[]){
int i;
int a[10]= {4,1,7,8,-3,0,-8,9,-2,5};
int min=a[0];

for(i=0;i<10;i++)
{
if(abs(a[i]) < abs(min))
{
min = a[i];

}
}
cout<<min;

getch();
}

Обсуждение

давно
Посетитель
7438
7205
24.12.2017, 14:04
общий
Адресаты:
Сделайте, например, так
Код:
#include "math.h"
#include "conio.h"
#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
int i;
int a[10]= {4,1,7,8,-3,0,-8,9,-2,5};
int min=a[0];
int min2;

for(i=1; i<10; i++)
{
if(abs(a[i]) < abs(min))
min = a[i];
}

min2 = a[0];

for(i=1; i<10; i++)
{
if((abs(a[i]) > abs(min)) && (abs(a[i]) < abs(min2)))
min2 = a[i];
}

cout<<min2;

getch();
}
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Академик
20764
1861
25.12.2017, 21:37
общий
Есть пара вопросов к заданию:
1: найти элемент -- это не то же самое, что найти его значение. Лучше вернуть указатель или для этого случая его индекс в массиве. Здесь это то же самое, но когда элемент -- это какая-то структура, с данными, не попадающими под сравнение, это уже серьёзно.
2: если условие для второго элемента совпадает с первым, что делать? По моим понятиям вернуть надо второй совпадающий (и кто из них второй, это тоже вопрос)
Без номера: а если попросят найти третий, четвёртый,.. (а это напрашивается) -- всё здорово усложнится. По идее тут надо данные отсортировать, а потом выдать результат.
давно
Мастер-Эксперт
425
4118
02.01.2018, 18:12
общий
Адресаты:
Минимальный я нашел, но не понимаю что писать во втором цикле

То же самое, что и в первом цикле, только исключив из поиска уже найденый элемент. Т.е. его номер надо запомнить, а в условии второго цикла добавить, что делаем сравнение значений только если номер элемента не равен уже найденному.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа