Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269

Найти максимальный элемент массива и сумму элементов массива по условию

04.12.2015, 08:58. Показов 2709. Ответов 13

Студворк — интернет-сервис помощи студентам
Доброе утро!...Уже и не знаю в чём дело....Вот тебе и заочное отделение

Написать программу, работающую с одномерным вещественным массивом.
Исходные данные:
- количество элементов N=20;
- тип массива – вещественный.
- Интервал [a,b] принять равным a = 3.1 и b = 7.9
-Массив:
-1.50 3.12 -0.15 1.17 7.77 -6.27 2.78 5.09 -9.31 -2.99
0.75 8.54 -9.31 4.27 3.12 0.10 -9.46 3.82 8.14 -3.64


1)Найти максимальный элемент массива.
2)Найти сумму элементов массива, расположенных до последнего положительного элемента.
3)Сжать массив, удалив из него все элементы, модуль которых находится в интервале[a,b]. Освободившиеся в конце массива элементы заполнить нулями.
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 <locale>
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"");
    
    int i;
    int N=20;
    double mas1[21] = {-1.50, 3.12, -0,15, 1.17, 7.77, -6.27,  2.78, 5.09, -9.31, -2.99, 0.75, 8.54, -9.31, 4.27, 3.12,  0.10, -9.46, 3.82,  8.14, -3.64};
    double max=mas1[0];
        for (double i = 0; i < 10; ++i)     
    {       
        if (mas1[21]>max)
            max=mas1[21];
    }
    cout<<"max: "<<max<<endl;
    
 
 
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.12.2015, 08:58
Ответы с готовыми решениями:

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

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

Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива
Вот, что есть.Помогите довести до ума! #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void...

13
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
04.12.2015, 09:04
Во-первых, почему 21, если сказано 20? Во вторых, зачем ты размер везде пишешь? В циклах должен быть индекс и он целочисленный. Внимательно сравнивай.
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 <locale>
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
setlocale(LC_ALL,"");
 
int i;
const int N=20;
double mas1[N] = {-1.50, 3.12, -0,15, 1.17, 7.77, -6.27, 2.78, 5.09, -9.31, -2.99, 0.75, 8.54, -9.31, 4.27, 3.12, 0.10, -9.46, 3.82, 8.14, -3.64};
 
double max=mas1[0];
for (int i = 1; i < 10; ++i)
{
    if (mas1[i]>max) max=mas1[i];
}
cout<<"max: "<<max<<endl;
 
 
 
return 0;
}
1
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.12.2015, 09:15  [ТС]
Спасибо! Всё бы хорошо, но VS 2012 пишет "слишком много инициализаторов" и указывает на последнее число массива, я указываю размер 20, пишет ошибка, а вот 21 уже всё в порядке...С N сейчас тоже самое...не компелирует из-за этой ошибки((
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
04.12.2015, 09:46
Цитата Сообщение от ShmelVG Посмотреть сообщение
Спасибо! Всё бы хорошо,
Писать надо внимательно
Цитата Сообщение от ShmelVG Посмотреть сообщение
{-1.50, 3.12, -0,15,
0.15
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.12.2015, 10:21  [ТС]
Спасибо!!! Действительно проглядел, помогло, но частично, выдаёт максимум 7.77, но должно ведь быть 8.54...
0
-L
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
04.12.2015, 11:24
ShmelVG,

C++
1
i < 10
а элементов-то сколько-сколько...
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.12.2015, 11:50  [ТС]
Ахахаха))))Спасибо)))Что-то точно у меня сегодня с внимательностью))))

Добавлено через 12 минут
Цитата Сообщение от ShmelVG Посмотреть сообщение
2)Найти сумму элементов массива, расположенных до последнего положительного элемента.
А с этим кто-нибудь может подсказать?
0
-L
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
04.12.2015, 12:14
ShmelVG,

Алгоритм может быть такой:

1. Пробежаться в обратном цикле (от последнего элемента массива к началу). Если i-ый элемент > 0 , то сохранить его индекс в переменную и завершить цикл.
2. Пробежаться в прямом цикле (от начала к концу) по массиву до сохранённого значения, складывая все элементы подряд.

Добавлено через 4 минуты
Типа такого:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int index = 0;
for (int i = N-1; i >= 0; --i)
{
    if (mas1[i]>0) 
   {
        index=i;
        break;
    }
}
 
double sum = 0;
for (int i = 0; i < index; ++i)
{
    sum = sum + mas1[i];
}
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.12.2015, 13:00  [ТС]
Классно!) Но я вот не пойму т.е. по идее он должен тут складывать все положительные числа, но ответ он мне выдал 1.54 , мы же вытащили все положительные числа и сложили. Далее, согласно условию,я полагаю что имеется ввиду сложить всё кроме последнего числа(в данном случае сложить все числа кроме -3.64), но опять же ответ у меня не сходится...
0
-L
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
04.12.2015, 13:16
ShmelVG,

в задаче сказано найти сумму элементов массива до последнего положительного, то есть складывает он все элементы независимо от того, положительные ли они или отрицательные. "до" последнего для меня означает (i < index), а не включительно последний (i <= index)
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
04.12.2015, 13:16
8.14 тоже не учитывается.
0
-L
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
04.12.2015, 13:53
nmcf, об этом и речь. Последний положительный 8.14. Если нужно сложить те, что до него, то не надо учитывать. Если включительно, то надо учитывать. По сути замена в моём коде < на <=
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
04.12.2015, 15:02  [ТС]
Спасибо, разобрался в этом!))
Цитата Сообщение от ShmelVG Посмотреть сообщение
3)Сжать массив, удалив из него все элементы, модуль которых находится в интервале[a,b]. Освободившиеся в конце массива элементы заполнить нулями.
...А есть какие -нибудь идеи на счёт этого?
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
24.01.2016, 16:49  [ТС]
Вот получилось как-то так:

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
#include <locale>
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
setlocale(LC_ALL,"");
 
int i;
const int N=20;
double mas1[N] = {-1.50, 3.12, -0.15, 1.17, 7.77, -6.27, 2.78, 5.09, -9.31, -2.99, 0.75, 8.54, -9.31, 4.27, 3.12, 0.10, -9.46, 3.82, 8.14, -3.64};
 
double max=mas1[0];
for (int i = 1; i < 20; ++i)
{
    if (mas1[i]>max) max=mas1[i];
}
cout<<"max: "<<max<<endl;
 
int index = 0;
for (int i = N-1; i >= 0; --i)
{
    if (mas1[i]>0) 
   {
        index=i;
        break;
    }
}
 
double sum = 0;
for (int i = 0; i < index; ++i)
{
    sum = sum + mas1[i];
}
cout<<"Сумма элементов = "<<sum<<endl;
 
 
return 0;
}
А можете подсказать как сжать массив, удалив из него все элементы, модуль которых находится в интервале[3.1,7.9] и освободившиеся в конце массива элементы заполнить нулями??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2016, 16:49
Помогаю со студенческими работами здесь

Найти сумму элементов массива, максимальный и минимальный элемент массива
Дан массив из N элементов на отрезке из найти сумму элементов массива , максимальный и минимальный элемент массива ,номер элементов равные...

Найти минимальный и максимальный элемент массива.Найти сумму всех элементов массива
Проверьте пожалуйста программу. Program lb4; var i,j,k,l,m,n,v:integer; mass:array of real; max,min,s:real; Procedure...

Найти сумму элементов массива и максимальный элемент
нада найти суму елементов массива и максимальний елемент. вот текс програми. тут ещет только максимальний елемент, помогите переднлать...

Найти максимальный элемент и сумму положительных элементов одномерного массива
Даны действительные числа а1, а2, а3, ... , аn; n&lt;=30. Найти максимальный элемент и сумму положительных элементов массива А. Прошу помощи,...

Найти сумму элементов столбца, содержащего максимальный элемент массива В(4,4)
Помогите пожалуйста :cry: 1)Найти сумму элементов столбца, содержащего максимальный элемент массива В(4,4). 2)Найти количество всех...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru