Форум программистов, компьютерный форум CyberForum.ru

Не пойму логику нахождения минимального числа - C++

Восстановить пароль Регистрация
 
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
23.09.2010, 19:37     Не пойму логику нахождения минимального числа #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
void main()
{
int myarr[5];
int hold=0;
for (int i=0; i<5; i++)
{
cin >> myarr[i];
if (myarr[i]<myarr[hold])
hold=i;
}
cout <<"Minimalnuy "<<myarr[hold]<<endl;
cin.get();
cin.get();
}
не понимаю ни как элементарной вещи, как программа находит минимальное число?
cin >> myarr[i]; // вот я ввёл число к примеру 5
if (myarr[i]<myarr[hold]) //тут идёт проверка 5<0, соответственно нет
hold=i; // то что же тут происходит, соответственно ни чего

так как же всё таки программа находит минимальное число? Должен же в итоге всегда ноль получаться?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2010, 19:37     Не пойму логику нахождения минимального числа
Посмотрите здесь:

Алгоритм нахождения минимального конечного автомата C++
C++ Нахождения минимального числа из двух введённых чисел
C++ Создать программу,которая находит минимальное из 3х чисел. Для нахождения минимального числа создать функцию
C++ Функция для нахождения минимального элемента
C++ Создать функцию нахождения минимального числа (по шаблону)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
23.09.2010, 19:54     Не пойму логику нахождения минимального числа #2
Идёт проверка 5 < arr[0]. А arr[0] будет 5, итого, первая проверка будет 5 < 5 - что неверное, и минимальным числом останется первое, то есть arr[hold], где hold = 0;
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
23.09.2010, 21:01  [ТС]     Не пойму логику нахождения минимального числа #3
а как дальше будет происходить? к примеру я ввожу 8 и будет проверяться 8<5 ?
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
23.09.2010, 21:02     Не пойму логику нахождения минимального числа #4
Цитата Сообщение от yardie Посмотреть сообщение
а как дальше будет происходить? к примеру я ввожу 8 и будет проверяться 8<5 ?
Угу.___
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
23.09.2010, 21:13  [ТС]     Не пойму логику нахождения минимального числа #5
спс)))
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
23.09.2010, 21:19     Не пойму логику нахождения минимального числа #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void main()
{
int myarr[5];
int min;
for (int i=0; i<5; i++)
{
cin >> myarr[i];
}
for(int i=0;i<5;i++){
if(min>myarr[i])
min=myarr[i];
}
cout <<"Minimalnuy "<<min<<endl;
cin.get();
cin.get();
}
думаю так понятнее будет
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
29.09.2010, 11:48  [ТС]     Не пойму логику нахождения минимального числа #7
А вот так к стати не работает!
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.09.2010, 11:53     Не пойму логику нахождения минимального числа #8
Цитата Сообщение от yardie Посмотреть сообщение
А вот так к стати не работает!
И не будет, так как элементы массива сравниваются с мусором, а надо первое сравнение выполнить с числом не меньше минимума по массиву, а потом с минимумом из уже обработанных.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2010, 11:53     Не пойму логику нахождения минимального числа
Еще ссылки по теме:

C++ Написать функцию нахождения минимального парного числа в дереве
C++ В чем ошибка нахождения минимального числа?
Задача на нахождения вектора градиента, не подскажите логику решения? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
29.09.2010, 11:53     Не пойму логику нахождения минимального числа #9
забыл инициализацию min
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void main()
{
int myarr[5];
int min;
for (int i=0; i<5; i++)
{
cin >> myarr[i];
}
min=myarr[0];
for(int i=0;i<5;i++){
if(min>myarr[i])
min=myarr[i];
}
cout <<"Minimalnuy "<<min<<endl;
cin.get();
}
так работает корректно
Yandex
Объявления
29.09.2010, 11:53     Не пойму логику нахождения минимального числа
Ответ Создать тему
Опции темы

Текущее время: 08:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru