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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Массивы подсчёт max и min от rand - C++

18.09.2012, 09:35. Просмотров 617. Ответов 7
Метки нет (Все метки)

До меня никак не доходит всё что ниже строчки min_value = list[0](зачем присваем именно первый элемент массива, зачем делаем вот это:if(min_value > list[i]) min_value = list[i]; ); Объясните мне пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    int i, min_value, max_value;
    int list[10];
 
    for(i=0; i<10; i++) list[i] = rand();
 
    min_value = list[0];
    for(i=1; i<10; i++)
        if(min_value > list[i]) min_value = list[i];
    cout << "Минимальное значение: " << min_value << '\n';
 
    max_value = list[0];
    for(i=1; i<10; i++)
        if(max_value < list[i]) max_value = list[i];
    cout << "Максимальное значение: " << max_value << '\n';
    
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 09:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы подсчёт max и min от rand (C++):

Найти max и min, если min левее max, то среднее арифметическое между ними - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { int n,a; int...

Max и min векторов, используя массивы - C++
Создать программу,которая будет находить max и min векторов из введенных, используя массивы пожалуйста с объяснение:)

Массивы[max,min,среднее ариф.] - C++
Здравствуйте форумчане, требуется ваша помощь. Даны задачи: Си 1) в данном числовом массиве a(m,n) найти min и мах элемент и его...

Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c) - C++
Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c). Как эту программу реализовать в код?

Найти min(max(x, y), max(x, z), max(z, d) - C++
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).

Найти max {min (a, b), min (c, d)}. - C++
Найти max {min (a, b), min (c, d)}.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2012, 09:43 #2
aleksand, Ищем минимальное значение же. Сначала устанавливаем минимум равным первому элементу, затем в цикле от 2 до последнего элемента, если текущий минимум больше текущего элемента - минимум становится этим элементом.
1
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
18.09.2012, 09:46  [ТС] #3
Дошло =) Спасибо огромное, вот только почему эти рандомные числа всё время остаются одинаковыми, хотя функция rand() задаёт их разными?
0
-=ЮрА=-
Заблокирован
Автор FAQ
18.09.2012, 09:53 #4
Цитата Сообщение от aleksand Посмотреть сообщение
if(min_value > list[i])
- ЭТО НЕВЕРНОЕ УСЛОВИЕ, это поиск МАКСИМУМА
Цитата Сообщение от aleksand Посмотреть сообщение
if(max_value < list[i])
- А ЭТО ПОИСК МИНИМУМА у тебя условия перепутаны

aleksand, вот твой алгоритм
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main()
{
    int i;
    int min_value;
    int max_value;
    int arr[10];
    srand(time(0));//ÎÁßÇÀÒÅËÜÍÎ ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ Г*Г*Г· Г§Г*Г*Г·ГҐГ*ГЁГҐ
    //Гў ГЈГҐГ*ГҐГ°Г*òîðå ñëó÷ Г·ГЁГ±ГҐГ«
    for(i = 0; i < 10; i++)
        //Г‡Г*ïîëГ*ГїГҐГ¬ ñëó÷ Г·ГЁГ±Г«Г*ìè îò -50 äî 50
        cout<<(arr[i] = rand()%100 - 50)<<" ";
    min_value = arr[0];
    max_value = arr[0];
    for(i = 1; i < 10; i++)
    {
        if(arr[i] < min_value)
            min_value = arr[i];
        else
        if(max_value < arr[i])
            max_value = arr[i];
    }
    cout<<endl;
    cout<<"min_value : "<<min_value<<endl;
    cout<<"max_value : "<<max_value<<endl;
    system("pause");
    return 0;
}
1
Миниатюры
Массивы подсчёт max и min от rand  
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
18.09.2012, 10:01  [ТС] #5
Ок, спасибо конечно, но код писал не я, а Гирберт Шилдт и он правильный, если логически рассуждать, но твоя доработка мне очень понравилась =) Респект!
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2012, 10:06 #6
-=ЮрА=-,
C++
1
if(min_value > list[i]) min_value = list[i];
Внимааательно смотрим на код и тихонько понимаем, что алгоритм написан верно.)
0
-=ЮрА=-
18.09.2012, 10:51
  #7

Не по теме:

ForEveR, да теперь вижу я невнимательно посмотрел

0
serejkus
47 / 45 / 4
Регистрация: 31.10.2011
Сообщений: 98
18.09.2012, 11:36 #8
Цитата Сообщение от aleksand Посмотреть сообщение
Дошло =) Спасибо огромное, вот только почему эти рандомные числа всё время остаются одинаковыми, хотя функция rand() задаёт их разными?
Дело в том, что rand() возвращает псевдослучайные числа: rand(). Выходная последовательность зависит от так называемого "seed" - некого начального значения. Задать его можно с помощью функции srand(unsigned). Наиболее распространённый способ - использовать в качестве seed текущее epoch time().
C
1
2
3
4
5
#include <stdlib.h>
#include <time.h>
 
srand(time(NULL));
/* use rand() */
Зачем нужно, чтобы последовательность была всегда одинаковой? Так удобнее отлаживаться, в готовом продукте уже можно использовать srand() или же написать собственный генератор.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2012, 11:36
Привет! Вот еще темы с ответами:

max i min - C++
как такое сделать?

Max(x,y,z) min(x,y,z) на c++ - C++
max(x,y,z) min(x,y,z) на c++ Добавлено через 47 секунд пожалуйста помогите!

min(x,y) max(x,y) - C++
заданы действительные числа х, у. получить min(x,y) max(x,y)?

max min - C++
Всем доброго времени суток. нужна ваша помощь ув. программеры. Дана целочисленная матрица размера 6*9. Определить функцию поиска значения и...


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

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

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