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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
#1

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

23.09.2010, 19:37. Просмотров 593. Ответов 8
Метки нет (Все метки)

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; // то что же тут происходит, соответственно ни чего

так как же всё таки программа находит минимальное число? Должен же в итоге всегда ноль получаться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2010, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не пойму логику нахождения минимального числа (C++):

В чем ошибка нахождения минимального числа? - C++
Нужно написать программу нахождения минимального числа из всех введенных. Трудность в том, что я не могу присвоить первое значение...

Создать функцию нахождения минимального числа (по шаблону) - C++
Вычислить значение z-, где функция min- возвращает наименьшее из 2-х чисел. Функция min должна иметь следующий шаблон- //вход : два...

Нахождения минимального числа из двух введённых чисел - C++
Создать программу для нахождения минимального числа из двух введённых.Программа должна вычислять сумма 3 минимальных чисел. Из этого...

Написать функцию нахождения минимального парного числа в дереве - C++
Написать функцию нахождения минимального парного числа в дереве. Вот код дерево, что у меня есть: #include &lt;stdio.h&gt; #include...

Создать программу,которая находит минимальное из 3х чисел. Для нахождения минимального числа создать функцию - C++
Создать функцию - double mini (double a, double b, double c), где a,b,c - задание числа. Спасибо за помощь!

Задача на нахождения вектора градиента, не подскажите логику решения? - C++
Вот задача, не пойму, что надо сделать, смысл задачи не ясен. Ну мне естественно надо программу написать, но хоть смысл подскажите) ...

8
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
23.09.2010, 19:54 #2
Идёт проверка 5 < arr[0]. А arr[0] будет 5, итого, первая проверка будет 5 < 5 - что неверное, и минимальным числом останется первое, то есть arr[hold], где hold = 0;
0
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
23.09.2010, 21:01  [ТС] #3
а как дальше будет происходить? к примеру я ввожу 8 и будет проверяться 8<5 ?
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
23.09.2010, 21:02 #4
Цитата Сообщение от yardie Посмотреть сообщение
а как дальше будет происходить? к примеру я ввожу 8 и будет проверяться 8<5 ?
Угу.___
0
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
23.09.2010, 21:13  [ТС] #5
спс)))
0
Crudelis
Шаровик затейник
674 / 416 / 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();
}
думаю так понятнее будет
0
yardie
9 / 9 / 0
Регистрация: 14.07.2010
Сообщений: 166
29.09.2010, 11:48  [ТС] #7
А вот так к стати не работает!
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.09.2010, 11:53 #8
Цитата Сообщение от yardie Посмотреть сообщение
А вот так к стати не работает!
И не будет, так как элементы массива сравниваются с мусором, а надо первое сравнение выполнить с числом не меньше минимума по массиву, а потом с минимумом из уже обработанных.
0
Crudelis
Шаровик затейник
674 / 416 / 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();
}
так работает корректно
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2010, 11:53
Привет! Вот еще темы с ответами:

Функция для нахождения минимального элемента - C++
Разработать функцию для вычисления минимального значения элементов одномерного целочисленного массива размерности n. С использованием...

Алгоритм нахождения минимального конечного автомата - C++
данный алгоритм уже давно известен, а мне нужен его код на с++. Не хотелось бы изобретать велосипед и запариваться с написанием своего...

Написать функцию нахождения минимального элемента массива - C++
функция с параметром Помогите пожалуйста. Написать функцию, которая получает в качестве параметров адрес числового массива данных и его...

программа для нахождения минимального положительного значения - C++
программа считывает последовательность из целых положительных чисел.потом выдает минимальное среди этих.при вводе 0 программа завершит...


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
29.09.2010, 11:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru