Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 33
#1

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

17.10.2015, 15:20. Просмотров 175. Ответов 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;
}
, я новичёк, в чём мои ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 15:20     Подсчитать сумму элементов массива, значения которых кратны 8
Посмотрите здесь:

C++ Подсчет произведения элементов матрицы, значения которых кратны 3
C++ Вычислить сумму элементов массива, индексы которых кратны 3
Подсчитать сумму элементов массива, значения которых кратны 8 C++
C++ Определить в матрице сумму элементов, номера строк которых кратны 3, а столбцов — 4
C++ Подсчитать сумму элементов массива, значения которых кратны 8
C++ Найти сумму элементов массива, значения которых лежат во введенном диапазоне
C++ Вывести индексы тех элементов матрицы, значения которых кратны 5
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimension
Dimension
555 / 436 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 16:06     Подсчитать сумму элементов массива, значения которых кратны 8 #2
Цитата Сообщение от Илья007 Посмотреть сообщение
if(IM[17]%8==0)
вместо 17 i надо

Добавлено через 1 минуту
Цитата Сообщение от Илья007 Посмотреть сообщение
IM[17]=rand()%(39+3);
если вы подумали ,что это строка заполнить 17 ячеек рандомом ,то вы ошибаетесь ,вы заполняете только 17 ячейку. что бы заполнить все ,нужно в цикле пробежаться по всем ячейкам
Даценд
Модератор
 Аватар для Даценд
2834 / 2749 / 1392
Регистрация: 20.04.2015
Сообщений: 5,105
17.10.2015, 16:07     Подсчитать сумму элементов массива, значения которых кратны 8 #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];
}
Dimension
Dimension
555 / 436 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 16:08     Подсчитать сумму элементов массива, значения которых кратны 8 #4
и да ,17 ячейки вообще нет ,вы создали 16
Цитата Сообщение от Илья007 Посмотреть сообщение
int IM[16],
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 33
17.10.2015, 17:02  [ТС]     Подсчитать сумму элементов массива, значения которых кратны 8 #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;
}
но при запуске выдаёт вот эту ошибку, почемуу??
Миниатюры
Подсчитать сумму элементов массива, значения которых кратны 8  
Dimension
Dimension
555 / 436 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
17.10.2015, 17:12     Подсчитать сумму элементов массива, значения которых кратны 8 #6
s=0 в начале сделайте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2015, 17:31     Подсчитать сумму элементов массива, значения которых кратны 8
Еще ссылки по теме:

Найти сумму элементов массива значения которых меньше заданного числа C++
Найти сумму отрицательных элементов массива, значения которых кратны 5 C++
C++ Подсчитать сумму элементов массива, значения которых кратны 8
C++ Найти разницу между суммой элементов массива с чётными индексами и суммой элементов, индексы которых кратны 5
C++ Подсчитать количество элементов последовательности, значения которых больше значения предыдущего элемента

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

Или воспользуйтесь поиском по форуму:
Илья007
0 / 0 / 0
Регистрация: 17.10.2015
Сообщений: 33
17.10.2015, 17:31  [ТС]     Подсчитать сумму элементов массива, значения которых кратны 8 #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) Есть ли какие-то лишние библиотеки в представленном выше коде?

Заранее благодарен.
Yandex
Объявления
17.10.2015, 17:31     Подсчитать сумму элементов массива, значения которых кратны 8
Ответ Создать тему
Опции темы

Текущее время: 14:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru