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

Вычислить максимальный элемент массива из отрицательных и его порядковый номер

24.03.2015, 09:46. Показов 2666. Ответов 10
Метки нет (Все метки)

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

С первой половиной программы я почти справился,проблема в том, что я не могу переделать её под вещественные.
Вторую я ума не приложу как сделать. Прошу помощи.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int _tmain ()
 
setlocale(LC_ALL, "Russian");
   int a[5], min;
 
   for (int i = 0; i < 5; i++)
   {
       cout << "Введите " << i <<"-й элемент массива: ";
       cin >> a[i];
   }
       min = 0;
       for (int j = 0; j < 5; j++)
       if (a[min] > a[j]) min = j; 
    cout << "Максимальный отрицательный элемент = " << a[min] <<'\n';
    cout << "Порядковый номер = " <<j<<'\n';
    return 0;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2015, 09:46
Ответы с готовыми решениями:

Определить максимальный элемент массива и его порядковый номер
Всем привет, нужна помощь , не знаю как до конца написать , помогите народ,вот задание: Определить максимальный элемент массива В(n) и его...

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

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

10
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
28.03.2015, 21:49
1)
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>
using namespace std;
 
#define VALUES_COUNT 10
 
int main() {
    setlocale(LC_ALL, "Russian");
 
    double values[VALUES_COUNT];
    double max = -INFINITY;
    int index = 0;
    for (int i = 0; i < VALUES_COUNT; i++) {
        cout << "Введите " << i << "-й элемент массива: ";
        cin >> values[i];
 
        if (values[i] < 0 && values[i] > max) {
            max = values[i];
            index = i;
        }
    }
 
    cout << "Максимальный отрицательный элемент = " << max << endl;
    cout << "Порядковый номер = " << index << endl;
 
    system("pause");
    return 0;
}
1
 Аватар для posol_7
18 / 18 / 13
Регистрация: 19.11.2014
Сообщений: 156
29.03.2015, 11:35
тут почитай
https://www.cyberforum.ru/cpp-beginners/thread1335340.html

или тут...
https://www.cyberforum.ru/cpp-beginners/thread1033303.html
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 12
16.06.2015, 19:36  [ТС]
я изменил прогу, но всё ещё есть проблема
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
{
cout<< "Enter n: ";
int n;
cin>>n;
float*array=new float [n];
cout<< "[";
for (unsigned int i=0; i<n; i++)
{
array[i]=rand()%1501+(-500); 
cout<<array[i];
if(i!=n-1)
cout<<",";
}
cout<<"]"<<endl;
int max_negative=-0.00000001, max_negative_i=0;
for(unsigned int i=0; i<n; i++)
if (array[i]<0)
{
max_negative=array[i];
max_negative_i=i;
break;
}
for(unsigned int i=max_negative_i+1; i<n; i++)
if (array [i]<0 && max_negative<array[i])
{
max_negative=array[i];
max_negative_i=i;
}
cout<<"["<<max_negative_i<<"]="<<max_negative<<endl;
unsigned int last_negative_i;
for (int i=n-1; i>=0; i--)
if (array[i]<i)
last_negative_i=i;
int sum=0;
for(unsigned int i=last_negative_i; i<n; i++)
sum+=(int)array[i];
if(last_negative_i==n-1)
sum=0;
cout<<"sum="<<sum<<endl;
delete[]array;
 
    return 0;
}
не считает после последнего отрицательного (выдаёт неверное значение) как исправить?
0
2 / 2 / 1
Регистрация: 31.05.2015
Сообщений: 10
16.06.2015, 20:29
C++
1
2
3
4
5
for (int i = n - 1; i >= 0; i--)
        if (array[i] < 0)
        {
            last_negative_i = i; break;
        }
вы про break забыли. Он и вертит цикл до нуля.

Добавлено через 7 минут
P.S. А почему массив у вас float, а max_negative - int? Оно же ему дробную часть отрежет
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 12
16.06.2015, 21:02  [ТС]
Ну я дробные не использую, а говоря откровенно: в душе не чаю)

Добавлено через 7 минут
кстати, правильное значение всё равно не выдает
0
2 / 2 / 1
Регистрация: 31.05.2015
Сообщений: 10
16.06.2015, 21:25
Ну так сделайте и массив int, тем более
Цитата Сообщение от brom_Ap Посмотреть сообщение
rand()%1501+(-500);
всё равно только целые генерирует.

Добавлено через 5 минут
Цитата Сообщение от brom_Ap Посмотреть сообщение
кстати, правильное значение всё равно не выдает
Но... у меня всё правильно выдаёт...
0
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 12
16.06.2015, 22:07  [ТС]
Я кажется понял в чём дело, кроме того, что прога суммирует после последнего отрицательного, оно прибавляет САМО последнее отрицательное) чего быть не должно
осталось решить эту дилемму)
0
2 / 2 / 1
Регистрация: 31.05.2015
Сообщений: 10
16.06.2015, 22:16
А можно скрин консоли?

Добавлено через 9 минут
А, хотя не надо
C++
1
2
3
4
5
for (unsigned int i = last_negative_i+1; i<n; i++)
            sum += (int)array[i];
        if (last_negative_i == n - 1)
            sum = 0;
        cout << "sum=" << sum << endl;
Просто один прибавить и всё. какая тут дилемма
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 12
16.06.2015, 22:20  [ТС]
0
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 12
16.06.2015, 22:24  [ТС]
я ранд поменял: rand ()%150+(-50))*(rand()%150+(-50))*14.8

Добавлено через 3 минуты
Всё работает. Большое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2015, 22:24
Помогаю со студенческими работами здесь

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

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

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

Определить максимальный элемент массива В и его порядковый номер, замените максимальный элемент массива нулём
Массив: В(К); Условия и ограничения: в i&gt;0, N&lt;=30 Помогите пожалуйста

Определить максимальный элемент массива и его порядковый номер; записать этот элемент в конец массива
1.Сформировать элементы массива (одномерного) с помощью счетчика случайных чисел . На лист Excel вывести исходный массив. 2. Определить...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru