Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/55: Рейтинг темы: голосов - 55, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 19

Определить максимальный элемент массива и его порядковый номер

19.01.2019, 21:39. Показов 10383. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, нужна помощь , не знаю как до конца написать , помогите народ,вот задание: Определить максимальный элемент массива В(n) и его порядковый номер, где 0<=n<=90.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <stdio.h>
#include <math.h>
int main() 
{
const int n=90;
int B[n];
int i, S=0;
std::cout<< "Massiv B" <<std::endl;
for ( i=0; i<n; i++ )
{ 
 B[n]=rand ( ) % 90;
std::cout<<B[n]<<" "<<std::endl;
}
 std::cout<<std::endl;
for (i=0; i<n; i++)
S +=B[n];
 std::cout<<"Result Summa="<< S<<std::endl;
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2019, 21:39
Ответы с готовыми решениями:

Определить максимальный элемент массива А[10] и его порядковый номер
Здравствуйте Недавно начал изучать С++ Ну и столкнулся с проблемным заданием Очень срочно нужно для экзамена Само задание ...

Определить максимальный элемент массива N (n) и его порядковый номер, где 0 <= n <= 45
Определить максимальный элемент массива B(n) и его порядковый номер, где 0 &lt;= n &lt;= 45. Мои наработки #include &lt;iostream&gt; ...

Найти максимальный элемент массива и его порядковый номер.
17.Дан массив А(4). Найти максимальный элемент массива и его порядковый номер.

17
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
19.01.2019, 22:09
Моя твоя не понимает
0
26 / 25 / 14
Регистрация: 12.10.2018
Сообщений: 240
19.01.2019, 22:15
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <algorithm>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
const int n = 90;
int B[n], index;
cout << "Massiv B" << endl;
for (int i=0; i<=n; i++)
{
B[i]=rand()%n;
cout << "B[" << i << "]=" << B[i] << endl;
}
cout << endl;
int mx = B[0]; index = 0;
for (int i=0; i<=n; i++)
{
if (B[i]>mx) {mx=B[i]; index=i;}
}
cout << "MAX=" << mx << endl;
cout << "INDEX=" << index << endl;
return 0;
}
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
19.01.2019, 22:23
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int main()
{
    int arr[]{3,4,6,10,9};
    int max=*arr, counter=0;
    for(auto &el:arr)
    {
        if(el>max)
        {
            max=el;
            counter++;
        }
 
    }
    std::cout<<"Position (starting at 0): "<<counter<<std::endl<<"Value: "<<max<<std::endl;
}
0
26 / 25 / 14
Регистрация: 12.10.2018
Сообщений: 240
19.01.2019, 22:28
А еще так:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
const int n = 90;
int B[n];
cout << "Massiv B" << endl;
for (int i=0; i<=n; i++)
{
B[i]=rand()%n;
cout << "B[" << i << "]=" << B[i] << endl;
}
cout << endl;
int mx = B[0];
for (int i=0; i<=n; i++) if (B[i]>mx) mx=B[i];
for (int i=0; i<=n; i++)
if (B[i]==mx) {cout << "MAX=" << mx << endl; cout << "INDEX=" << i << endl << endl;}
return 0;
}
0
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 19
20.01.2019, 19:43  [ТС]
Спасибо, а как вывести массив в одну строчку через пробел, и поиск макс и индекса в одной проверке написать?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
20.01.2019, 19:50
an apple_WTF, мой код делает все в одной проверке
Вывод массива
C++
1
2
for(auto &el:arr)
cout<<el<<' ';
0
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 19
20.01.2019, 20:25  [ТС]
Спасибо конечно, но мне int arr[]{3,4,6,10,9}; вот это не знакомо. Мне массив нужно от 0 до 90.немного Ваш язык написания не понятен, может потому что я новичок))
Я так понимаю вот это в одну строку проверка?
std::cout<<"Position (starting at 0): "<<counter<<std::endl<<"Value: "<<max<<std::endl;
Простите за столько вопросов, но только начал изучать С++

Добавлено через 9 минут
Pashka Durov, поможете разобраться?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
20.01.2019, 20:31
an apple_WTF, проверка вот
Цитата Сообщение от Pashka Durov Посмотреть сообщение
if(el>max)
* * * * {
* * * * * * max=el;
* * * * * * counter++;
* * * * }
Если надо прям в одну, то вот
C++
1
el>max? (max=el, counter++) : NULL;
Цитата Сообщение от an apple_WTF Посмотреть сообщение
Ваш язык написания не понятен
Просто я использую новый синтаксис, о нем в книгах для начинающих не пишут)

Добавлено через 41 секунду
Цитата Сообщение от an apple_WTF Посмотреть сообщение
поможете разобраться?
Естесна, если смогу, конечно )
0
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 19
20.01.2019, 20:50  [ТС]
Pashka Durov, не думаю, что мой препод одобрит ту методику решения, с помощью которой новички не решают. помогите написать на понятном мне языке,если Вам не в тягость.Так как я начал решать,знаю что в конце начал искать сумму какую-то, которая мне не нужна, помогите исправить мой код
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 37
20.01.2019, 21:02
Смотри. Создаешь свой массив, создаешь переменную и даешь ей значение 0, после этого запускаешь проверку через цикл. Если значение элемента массива больше твоей переменной, то приравниваешь ей это значение, если нет, то идешь дальше. Потом просто выводишь переменную и ее индекс. Вопросы есть?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
20.01.2019, 21:05
an apple_WTF, не думаю что препод против чего-то нового, хотя, разные бывают, держите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int main()
{
    int arr[]={3,4,6,10,9};
    int max=arr[], counter=0;
    for(int i=0; i<sizeof(arr)/sizeof(int); i++)
    {
        if(arr[i]>max)
        {
            max=el;
            counter++;
        }
 
    }
    std::cout<<"Position (starting at 0): "<<counter<<std::endl<<"Value: "<<max<<std::endl;
}
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
20.01.2019, 21:18
Вот решение алгоритма приведенного 1u5t1se. Я бы еще добавил, что индекс максимального элемента - это переменная равная изначально нулю. Мы ее приравниваем к индексу найденного элемента тут :
Цитата Сообщение от 1u5t1se Посмотреть сообщение
Если значение элемента массива больше твоей переменной
Попробуйте решить САМИ. Задавайте вопросы если что-то не ясно.
Код под SPOILER'ом, на самый крайний случай!

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
using namespace std;
 
int main()
{
    const int size = 90; // не больше 90 элементов
    double Array[size]; // создаем статичный одномерный массив 
 
    int cnt; cout << " Enter cnt = "; cin >> cnt; // вводим его размер
 
    for (int i = 0; i < cnt; i++)
    {
        cout << " Array[" << i << "]= "; // заполняем массив
        cin >> Array[i];
    }
 
    for (int i = 0; i < cnt; i++)
    {
        cout << " " << Array[i]; // выводим массив
    }
    cout << endl;
 
    int IndexMax = 0; // перeменная IndexMax будет отвечать за индекс максимального элемента, изначально равна 0
    int ElementMax = Array[0]; // перeменная ElementMax - за сам максимальный элемент, изначально равна первому элементу массива
    for (int i = 0; i < cnt; i++) 
    {
        if (Array[i] > ElementMax) { // если в массиве есть число, которое больше текущего максимального,
            ElementMax = Array[i];   // то максимальный элемент и индекс максимального элемента равны
            IndexMax = i;            // этому элементу и его индексу соответственно
        }
    }
 
    cout << " IndexMax : " << IndexMax << endl; // выводим индекс максимального элемента
    cout << " ElementMax : " << ElementMax << endl; // выводим максимальный элемент
 
    return 0; // если Visual Studio
}
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
20.01.2019, 21:25
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
это переменная равная изначально нулю
А если нам дана отрицательная последовательность?
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
20.01.2019, 22:50
Pashka Durov, все равно. Ведь я говорю об индексах, а для них нет разницы какой элемент - или +.
Code
1
2
Array[cnt] = {-1, 4, 6, 2, -10, ... }
indexes :      0, 1, 2, 3,   4, ... , n
Обратите внимание :
Цитата Сообщение от JohnBlack123 Посмотреть сообщение
индекс максимального элемента - это переменная равная изначально нулю
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
20.01.2019, 23:00
JohnBlack123, мда, я почему-то прочитал, что переменная инициализирована нулем, соре

Добавлено через 1 минуту
Цитата Сообщение от 1u5t1se Посмотреть сообщение
Создаешь свой массив, создаешь переменную и даешь ей значение 0
Наверное с этим сообщением у меня в голове все перемешалось
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
20.01.2019, 23:09
Pashka Durov, забыли
0
20.01.2019, 23:12

Не по теме:

Цитата Сообщение от JohnBlack123 Посмотреть сообщение
забыли
старею )

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2019, 23:12
Помогаю со студенческими работами здесь

Вычислить максимальный элемент массива из отрицательных и его порядковый номер
Здравствуйте, помогите пожалуйста, не могу составить программу. Задача:В одномерном массиве, состоящем из 10ти вещественных элементов...

Найти и вывести на экран максимальный элемент массива, а также его порядковый номер
Найти и вывести на экран максимальный элемент данного массива U(10), а также его порядковый номер

Определить максимальный элемент массива, его номер и их количество
в массиве определить максимальный элемент, его номер и их кол-во

Определить максимальный элемент матрицы А, номер его строки и номер его столбца
Помогите написать программу)Не могу сформировать одномерный массив из строки(( Дана матрица А (5*5) нецелых элементов. -3.8 ...

Минимальный элемент массива и его порядковый номер
16. Дан массив А(6). Найти минимальный элемент массива и его порядковый номер. (с использованием только библиотеки math.h)


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru