0 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 23

Сумма элементов определенного индекса (массивы)

14.12.2010, 19:40. Показов 3702. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как решить задание?
Найти сумму элементов, индексы которых кратны 3. Размер массива 18.
Я так пробовал, но не работает
C++
1
2
3
4
5
6
int mas[18]
{
int sum;
for (int i=0; i<=17; i++)
if (mas[i]%3==0)
sum+=i;
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2010, 19:40
Ответы с готовыми решениями:

Массивы: сумма, произведение, сумма квадратов, среднее арифметическое всех элементов, сумму шести первых
ПОМОГИТЕ ПОЖАЛУСТА 1.определить: а)сумму всех элементов массива; б)произведение всех элементов массива; в)сумму квадратов всех...

Массивы: найти сумму всех элементов, у которых оба индекса нечетны
1. Создайте двумерный массив целочисленный массив А, и найдите сумму всех его элементов имеющие оба нечетные индексы. Если не сложно -...

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

7
5 / 5 / 0
Регистрация: 07.12.2008
Сообщений: 8
14.12.2010, 20:09
Добрый вечер!
Во-первых, сумму надо обнулить: третья строка
int sum = 0;
Во-вторых, по заданию надо найти сумму элементов, поэтому в строке 6:
sum += mas[i];
И, по-моему мнению, если надо проссумировать каждый третий элемент, то в строке 5:
if (mas[i] % 3 == 2)
тогда получится сумма каждого 3-го элемента начиная с третьего, а не с четвертого, как это было в тексте программы.
Да, и еще... в конце первой строки поставьте ;
и зачем вам строка 2?
1
0 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 23
14.12.2010, 20:13  [ТС]
И, по-моему мнению, если надо проссумировать каждый третий элемент, то в строке 5:
надо проссумировать не каждый 3 элемент, а элементы, индекс которых делится на 3 без остачи.

Цитата Сообщение от Rul4ik Посмотреть сообщение
и зачем вам строка 2?
это лишь часть кода. Не обращайте внимания
0
2 / 2 / 2
Регистрация: 07.02.2009
Сообщений: 36
14.12.2010, 20:24
C++
1
2
3
4
5
6
int mas[18]
{
int sum;
for (int i=0; i<=17; i++)
if (i%3==0)
sum+=mas[i];
Ты проверял кратность элемента, а прибавлял индекс..
1
0 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 23
14.12.2010, 21:26  [ТС]
Написал полностью текст программы, однако, все вычисления мне нужно делать с помоцью подпрограммы. Помогите, пожалуйста, это реализовать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button1Click(TObject *Sender)
{ float a[18];
int i;
for (i=0; i<=17; i++)
a[i]=StrToInt(Memo1->Lines->Strings[i]);
float S=0;
float Sa=0;
float Sap=0;
for (i=1; i<=17; i++)
if (i%3==0)
S=S+a[i];
for (i=1; i<=17; i++)
if (i%4==0)
Sa=Sa+a[i];
Sap=S-Sa;
Edit1->Text=FloatToStr(S);
Edit2->Text=FloatToStr(Sa);
Edit3->Text=FloatToStr(Sap);
}
0
3 / 3 / 0
Регистрация: 13.12.2010
Сообщений: 22
14.12.2010, 22:40
А не проще в цикле начать с третьего и по 3 добавлять?
for(i=3; i<n; i+=3)
1
0 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 23
14.12.2010, 22:56  [ТС]
Как вариант, спасибо. Однако, сейчас меня более интересует, как это все сделать подпрограммой
0
4 / 4 / 0
Регистрация: 04.10.2010
Сообщений: 33
15.12.2010, 09:57
но мне мне понравилась идея SantaMinus
А не проще в цикле начать с третьего и по 3 добавлять?
C++
1
for(i=3; i<n; i+=3)
И сделай аварийный выход из программы на случай, если элементов в
массиве a[nRaz] меньше заданных

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
// объявление подпрограммы
float summel (float * a);
// глобальные переменные
const nRaz=18; // чтобы можно было постоянно менять размерность массива
float a[nRaz];
float S=0;
float Sa=0;
float Sap=0;
// Обработчик события нажатия на кнопку
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i=0; i<=(nRaz-1); i++)
 {
 a[i]=StrToInt(Memo1->Lines->Strings[i]);
 // вызов подпрограммы
 summel (a);
 // вывод результатов на экран
 Edit1->Text=FloatToStr(S);
 Edit2->Text=FloatToStr(Sa);
 Edit3->Text=FloatToStr(Sap);
 }
}
// текст подпрограммы
 float summel(float * b)
  {
    // в текст программы не вникал, просто копипаст сделал
    for (int i=1; i<=17; i++)
    if (i%3==0) S=S+b[i];
    for (int i=1; i<=17; i++)
    if (i%4==0) Sa=Sa+a[i];
    Sap=S-Sa;
    return 1.0f;
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2010, 09:57
Помогаю со студенческими работами здесь

Массивы. Определить является ли сумма элементов строк равной сумме элементов столбцов
1)Статическая память. Двумерный массив. Дан массив целых чисел. Определить является ли сумма элементов строк равной сумме элементов...

Массивы. Сумма положительных элементов, наименьший элемент, произведение элементов с нечётными номерами
Составить программу вычисления, W=B+A/C+1 A - сумма положительных элементов массива; B - наименьший элемент массива; C -...

Массивы, сумма элементов
я впервые работаю с массивами но у меня проблемы , у меня если я ввожу двух-,трех- значные цифры вместо сумирывания чисел каждая цифра...

Массивы.Сумма элементов!!!
Нужно перемножить 2 матрицы и вывести результирующую, и сумму элементов каждой строки. Считает только сумму первой строки!!!Где...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru