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

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

Войти
Регистрация
Восстановить пароль
 
Stiva
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 3
#1

Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры) - C++

05.02.2014, 18:34. Просмотров 367. Ответов 4
Метки нет (Все метки)

Вот мой код. Суммарное число выводит слишком большее, а после завершения программы ошибку:"Run-Time Check Failure #2 - Stack around the variable 'numb' was corrupted." или подобную, только с другим массивом: "Run-Time Check Failure #2 - Stack around the variable 'mass' was corrupted." .С массивом mass еще проблемы есть..
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
#include <iostream>
using namespace std;
int main()
{
    int K;
    cout << "Vvedite chislo K: ";
    cin >> K;
    int numb[100];
    for (int a = 0; a <= 100; a++)
    {
        numb[a] = a;
    }
    int mass[100];  //Вот я сделал неправильно. Мне нужен массив, который расширяется по мере заполнения
    for (int j = 0; j <= 100; j++)
    {
        if (numb[j] % K == 0)
        {
            mass[j] = numb[j];
        }
    }
    int sum = 0;
    for (int i = 0; i<=100; i++)
    {
        sum = sum + mass[i];
    }
    cout << "Summa = " << sum;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа не работает как надо. Задача: Вывести сумму всех элементов массива, кратных данному числу К (вводится с клавиатуры) (C++):

Составить программу, вычисляющую количество элементов массива кратных числу К. Где К вводится с клавиатуры - C++
Составить программу, вычисляющую количество элементов массива кратных числу К. Где К вводится с клавиатуры.

Посчитать и вывести на экран сумму элементов массива, кратных заданному числу - C++
Добрый день! Помогите пожалуйста с программой. Написала программу с массивом, в которой используется указатель. Программа выводит...

Посчитать сумму всех элементов, кратных заданному числу - C++
Дан массив a из n целых чисел. Требуется посчитать сумму всех элементов, кратных заданному числу x.

Найти сумму всех элементов, кратных заданному числу - C++
Здравствуйте много уважаемые форумчане!!!Помогите решить задачу на языке С++ ..... Дан массив целых чисел. Найти сумму всех элементов,...

Массив: Посчитать сумму всех элементов, кратных заданному числу x - C++
Дан массив a из n целых чисел. Требуется посчитать сумму всех элементов, кратных заданному числу x.С++ Формат входных данных На...

Найти сумму всех элементов массива, кратных 4 - C++
Пожалуйста, решите задачку, заранее благодарю! Найти сумму всех элементов массива, кратных 4. При составлении программы для...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
05.02.2014, 18:39 #2
у вас массив numb от 0 включительно до 99 включительно, 100 элемента нету, а вы его заполняете
C++
1
2
3
4
  for (int a = 0; a <= 100; a++)
    {
        numb[a] = a;
    }
и так далее
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
05.02.2014, 18:42 #3
а зачем тебе массив???
C++
1
2
3
4
cin >> K;
cin>>a;
if(a%K==0)
 sum+=a;
и если уж нужен именно массив и ты на плюсах то используй vector он для этого и предназначен, динамический массив

Добавлено через 2 минуты
Цитата Сообщение от Stiva Посмотреть сообщение
C++
1
2
3
4
5
6
7
for (int j = 0; j <= 100; j++)
 {
    if (numb[j] % K == 0)
   {
    mass[j] = numb[j];
   }
 }
а если не равны что запишется в mass[j] ????
правильно мусор а потом ты его подсчитаешь
Stiva
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 3
05.02.2014, 19:12  [ТС] #4
Спасибо всем. Переписал код, теперь всё работает и исключений нет.
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
#include <iostream>
using namespace std;
int main()
{
    int K;
    cout << "K= "; 
    cin >> K; 
    int numb[101]; 
    for (int q = 0; q <=100; q++) 
    {
        numb[q] = q;
    }
    int sum = 0;
    for (int w = 1; w <= 100; w++) 
    {
        if (numb[w] % K == 0) 
        {
            sum += numb[w];  
        }
    }
    cout << "Summa= " << sum; 
    system("pause");
    return 0;
}
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
05.02.2014, 19:23 #5
Цитата Сообщение от Stiva Посмотреть сообщение
Переписал код, теперь всё работает и исключений нет.
а хошь еще убыстрю
исходя из твоего
Цитата Сообщение от Stiva Посмотреть сообщение
C++
1
2
3
for (int q = 0; q <=100; q++) 
 {
     numb[q] = q;
массив заполняется индексами
C++
1
2
for(int i=K;i<=100;i+=K)
 summ+=i;
и никаких массивов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 19:23
Привет! Вот еще темы с ответами:

Найти сумму всех элементов массива, кратных 4 - C++
Найти сумму всех элементов массива, кратных 4. При составлении программы для обработки массивов, имя массива считать указателем на его...

Вычислить сумму квадратов всех элементов заданного массива A(N), за исключением элементов, кратных пяти. - C++
Вычислить сумму квадратов всех элементов заданного массива A(N), за исключением элементов, кратных пяти.

Вычислите сумму квадратов всех элементов заданного массива A[N], за исключением элементов, кратных пяти. - C++
Вычислите сумму квадратов всех элементов заданного массива A, за исключением элементов, кратных пяти.

В массиве найти сумму элементов кратных данному - C++
В массиве a занесены натуральные числа. Найти сумму тех элементов, которые кратны данному k.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.02.2014, 19:23
Ответ Создать тему
Опции темы

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