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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
eugeneC+
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 16
#1

максимум в одномерном массиве - C++

25.06.2012, 16:59. Просмотров 2563. Ответов 7
Метки нет (Все метки)

Добрый день.

Хочу найти максимум в одномерном массиве. Подскажите, где делаю не так. И вопрос: нужно ли для поиска максимума создавать еще один цикл или же можно сделать все в одном?


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
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <cstdlib>
#include <time.h>
 
 
using namespace std;
 
int main()
{
 
srand(time(0));
 int mass[10];
 int i;
 int n;
 int max;
 int min;
 
 
 for(i=0;i<10;i++)
  {
 
      n=rand();
      mass[i]=n;
 
      cout<<mass[i]<<" "<<"\n"<<endl;
 
  }
 
 
 
       max=0;
         mass[0]=max;
 
    if ( mass[i]>max)
 
       {
           max=mass[i];
           cout<<"maximum = "<<max<<" ";
       }
 
     return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 16:59     максимум в одномерном массиве
Посмотрите здесь:

В одномерном массиве целых чисел заменить минимум на максимум - C++
в одномерном массиве целых чисел заменить минимум на максимум. не могу поменять их местами..а остальное работает #include...

В одномерном массиве найти максимум/минимум, среднее арифметическое - C++
Вообще ничего не понимаю, помогите пожалуйста:( Числовой массив B целочисленный, содержит k элементов. Элементы массива вводится с...

В одномерном массиве найти максимум, сумму, переставить элементы согласно условию - C++
1)максимальный по модулю элемент массива 2)сумму элементов массива, расположенных между первым и вторым положительными элементами. ...

Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;stdio.h&gt; #include...

Максимум в массиве - C++
Найти максимум в массиве иего положение Добавлено через 1 минуту #include &lt;iostream&gt; using namespace std; int main() { int...

Максимум в массиве - C++
Вводится массив, состоящий из целых чисел. Найти наибольшее среди них. Входные данные Сначала задано число N — количество элементов...

максимум в массиве - C++
Народ, помогите! Как найти максимум в массиве с помощью циклов и условного оператора?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vladzzx
27 / 19 / 1
Регистрация: 16.06.2012
Сообщений: 95
25.06.2012, 17:02     максимум в одномерном массиве #2
Условие if - проверяет только i-ый элемент. Засунь это в цикл.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
25.06.2012, 17:04     максимум в одномерном массиве #3
Можно так


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
#include <iostream> 
#include <ctime> 
#include <cstdlib>
using namespace std;
int main() 
{   
    srand((unsigned) time(0));
    const int size = 10; 
    int array[size]; 
    int i; 
    int max;
    
    for ( i = 0; i < size; i++) 
        array[i] = rand() % 10;  
 
    for ( i = 0; i < size; i++) 
        cout << array[i] << " ";  
    cout << endl;
 
    max = array[0]; 
 
    for ( i = 1; i < size; i++) 
        if( max < array[i]) 
            max = array[i];  
 
    cout << "Max " << max << endl;
}
eugeneC+
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 16
25.06.2012, 17:06  [ТС]     максимум в одномерном массиве #4
все равно где-то косяк, выдаёт много значения максимума. Может неправильно сам максимум считаю.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <cstdlib>
#include <time.h>
 
 
using namespace std;
 
int main()
{
 
srand(time(0));
 int mass[10];
 int i;
 int n;
 int max;
 int min;
 
 
 for(i=0;i<10;i++)
  {
 
      n=rand();
      mass[i]=n;
 
      cout<<mass[i]<<" "<<"\n"<<endl;
 
  }
 
 
 
       max=0;
         mass[0]=max;
 for(i=0;i<10;i++)
  {
    if ( mass[i]>max)
 
       {
           max=mass[i];
           cout<<"maximum = "<<max<<" ";
       }
  }
 
 
     return 0;
}
vladzzx
27 / 19 / 1
Регистрация: 16.06.2012
Сообщений: 95
25.06.2012, 17:07     максимум в одномерном массиве #5
Строку
C++
1
cout<<"maximum = "<<max<<" ";
вытащи из цикла и вставь после.
eugeneC+
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 16
25.06.2012, 17:18  [ТС]     максимум в одномерном массиве #6
все работает. спасибо.

Добавлено через 8 минут
Сразу еще один вопрос: как искать минимум? Если можно не сам код, а идею . Спасибо.
vladzzx
27 / 19 / 1
Регистрация: 16.06.2012
Сообщений: 95
25.06.2012, 17:20     максимум в одномерном массиве #7
Всё то же самое, только изначально берёшь некое большое значение (или первый элемент массива), и начинаешь с ним сравнивать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 17:37     максимум в одномерном массиве
Еще ссылки по теме:

Пятый максимум в массиве - C++
прога должна выдать 5 максимум то есть элемент который больше 5 чисел #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; ...

Найти максимум в массиве - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;math.h&gt; using namespace std; int main() { ...

Найти минимум и максимум в массиве - C++
Доброго времени суток) Совсем не давно начали изучать С++ поэтому простите мои глупые ошибки Возникла проблема с функцией После...

Минимум и максимум в двумерном массиве - C++
Написать программу, которая находит минимум и максимум в двумерном массиве. Помогите пожалуйста!

Определите максимум (М1) и минимум (М2) в массиве - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;string&gt; #include&lt;stdio.h&gt; #include&lt;fstream&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7158 / 4324 / 630
Регистрация: 29.11.2010
Сообщений: 11,746
25.06.2012, 17:37     максимум в одномерном массиве #8
Зачем вам лишние итерации? Вот, в один цикл всё:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
 
int main()
{
    std::srand( time(NULL) );
    const int N = 10;
    int arr[N], maxIndex = 0, minIndex = 0; 
    for (int i=0; i < N; i++)
    {
        arr[i] = rand() % 100; // элементу массива присваиваем СЧ в диапазоне от 0 до 99
        std::cout<< arr[i]<< " "; // выводим на экран
        if (arr[i] > arr[maxIndex]) // если число больше максимума
            maxIndex = i; // индекс максимального равен i
        else if (arr[i] < arr[minIndex]) // если число меньше минимума
            minIndex = i; // индекс минимального элемента равен i
     }
     std::cout<< "\nMax: "<< arr[maxIndex]
              << "\nMin: "<< arr[minIndex];
     return 0; 
}
http://liveworkspace.org/code/b4c7fe...5125eddbe0e298
Yandex
Объявления
25.06.2012, 17:37     максимум в одномерном массиве
Ответ Создать тему
Опции темы

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