Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 116
1

Подсчитать сумму элементов массива, значения которых кратны 8

17.10.2015, 15:20. Просмотров 526. Ответов 6
Метки нет (Все метки)

Добрый вечер, нужно сформировать целочисленный массив IM (17), элементами которого являются случайные числа из диапазона [3 .. 42]. Подсчитать сумму элементов массива, значения которых кратны 8.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cstdlib>
#include<math.h>
#include <time.h>
#include<iostream>
using namespace std;
int main()
{
int IM[16],i,S;
S=0;
IM[17]=rand()%(39+3);
for(i=0;i<17;i++)
if(IM[17]%8==0)
    S+=IM[i];
    cout<<S;
return 1;
}
, я новичёк, в чём мои ошибки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 15:20
Ответы с готовыми решениями:

Подсчитать сумму элементов массива, значения которых кратны 8
Сформировать целочисленный массив X(N), элементами которого являются случайные...

Подсчитать сумму элементов массива, значения которых кратны 8
Собственно сабж. Массив у меня есть, сумму всех элементов найти могу, а вот...

Подсчитать сумму элементов массива, значения которых кратны 8
Сформировать целочисленный массив IM (N), элементами которого являются...

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

Вычислить сумму элементов массива, индексы которых кратны 3
Заполнить одномерный массив из 15 элементов случайными целыми числами. Вывести...

6
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 16:06 2
Цитата Сообщение от Илья007 Посмотреть сообщение
if(IM[17]%8==0)
вместо 17 i надо

Добавлено через 1 минуту
Цитата Сообщение от Илья007 Посмотреть сообщение
IM[17]=rand()%(39+3);
если вы подумали ,что это строка заполнить 17 ячеек рандомом ,то вы ошибаетесь ,вы заполняете только 17 ячейку. что бы заполнить все ,нужно в цикле пробежаться по всем ячейкам
1
Даценд
Модератор
Эксперт .NET
4158 / 3939 / 2609
Регистрация: 20.04.2015
Сообщений: 7,139
17.10.2015, 16:07 3
C++
1
2
3
4
5
6
for(i=0;i<17;i++)
{
   IM[i]=rand()%(39+3);
   f(IM[i]%8==0)
      S+=IM[i];
}
1
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 16:08 4
и да ,17 ячейки вообще нет ,вы создали 16
Цитата Сообщение от Илья007 Посмотреть сообщение
int IM[16],
1
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 116
17.10.2015, 17:02  [ТС] 5
Спасибо вам большое, увидел ошибки, исправил их. Получилось так:
#include<cstdlib>
#include<math.h>
#include <time.h>
#include<iostream>
using namespace std;
int main()
{
const int N = 17;
int IM[N];
int i,S;
for(i=0;i<17;i++)
{
IM[i]=rand()%(39+3);
if(IM[i]%8==0)
S+=IM[i];
}
cout<<S;
return 1;
}
но при запуске выдаёт вот эту ошибку, почемуу??
0
Миниатюры
Подсчитать сумму элементов массива, значения которых кратны 8  
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 17:12 6
s=0 в начале сделайте
1
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 116
17.10.2015, 17:31  [ТС] 7
Хорошо, понял. Заработало!
Можно еще 2 вопроса:
1) так как массив рандомный, каждый раз должны выводиться разные знчения. Однако, как я прочитал, для этого необходимо писать такую строчку: srand(time(NULL))..
Я ее пишу:

#include<cstdlib>
#include<math.h>
#include <time.h>
#include<iostream>
using namespace std;
int main()
{
const int N = 17;
int IM[N];
int i,S;
srand(time(NULL));
for(i=0;i<17;i++)
{
IM[i]=rand()%39+3;
cout<<IM[i]<<endl;
if(IM[i]%8==0)
S=0;
S+=IM[i];
}
//cout<<IM[i]<<endl;
cout<<S;
return 1;
}

Выдается предупреждение: warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных. Полагаю, надо где-то писать int, вот только где?

2) Есть ли какие-то лишние библиотеки в представленном выше коде?

Заранее благодарен.
0
17.10.2015, 17:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2015, 17:31

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

Вывести индексы тех элементов матрицы, значения которых кратны 5
Создать двумерный массив размером n на m Вывести индексы тех элементов,...

Найти сумму элементов массива значения которых меньше заданного числа
Дан одномерный массив 6 элементов. Найти сумму элементов массива значения...


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

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

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