Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
1

Найти сумму тех элементов, которые кратны заданному К

14.04.2010, 16:39. Просмотров 1747. Ответов 21
Метки нет (Все метки)

Помогите с задачей.
В массив A[N] занесены натуральные числа. Найти сумму тех
элементов, которые кратны данному К.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2010, 16:39
Ответы с готовыми решениями:

Одномерные массивы (Найти сумму тех элементов, которые кратны данному К)
Напишите пожалуйста программу, только без заумных операций. В массив А занесены натуральные числа....

Найти сумму индексов тех элементов массива, которые кратны трем
Найти сумму индексов тех элементов массива, которые кратны трем. === Помогите, пожалуйста,...

В массив A[N] занесены натуральные числа.Найти сумму тех элементов, которые кратны данному К
решите пожалуйста а то не получаеться...

В массив A[N] занесены натуральные числа.Найти сумму тех элементов, которые кратны данному K.
Помогите пожалуйста решить, и если не трудно распишите каждую строчку что тут сделано и за что...

21
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
14.04.2010, 16:47 2
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
 
int main()
{
    const size_t N=10;
    size_t arr[N];
    size_t K, sum=0;
    std::cout << "K=";
    std::cin >> K;
    for(size_t i=0; i<N; ++i)
    {
        std::cout << "arr[" << i << "]=";
        std::cin >> arr[i];
        sum+=((!(arr[i]%K))? arr[i] : 0);
    }
    std::cout << "sum = " << sum << std::endl;
    system("pause");
    return 0;
}
3
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
14.04.2010, 17:13  [ТС] 3
прог-а у меня не работает(( всё время выдаёт arr 0, arr 1, arr 2((
Что не так?
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
14.04.2010, 17:16 4
Тем самым вы заполняете массив arr произвольными значениями.
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
14.04.2010, 17:17 5
Цитата Сообщение от Прекрасная Посмотреть сообщение
прог-а у меня не работает(( всё время выдаёт arr 0, arr 1, arr 2((
Это приглашение ввести i-тый элемент массива с клавиатуры. Вводишь подряд 10 элементов, получаешь результат
0
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
14.04.2010, 17:24  [ТС] 6
аааа, точно)) Спасибо! А вот зачем вторая функция? Можно же без ::?
0
1257 / 795 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
14.04.2010, 17:27 7

Не по теме:

Не забываем говорить спасибо, и не долбим мозги людям своими глупыми вопросами.



же без ::?
можно:
C++
1
2
3
#include <iostream>
#include <cmath>
using namespace std;
1
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
14.04.2010, 17:32  [ТС] 8
А почему мы указываем N=10, в задании же 10 не указанно?
0
1257 / 795 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
14.04.2010, 17:35 9
В задании сказано N - произвольное, человек взял и выбрал 10 вот и всё.
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
14.04.2010, 17:36 10
Цитата Сообщение от Прекрасная Посмотреть сообщение
А почему мы указываем N=10, в задании же 10 не указанно?
Просто так, для примера. Можно вводить N с клавиатуры, тогда нужно выделять память для массива динамически:
C++
1
2
3
4
5
6
7
size_t N;
std::cin >> N;
size_t *arr=new size_t[N];
//...Здесь вводим элементы массива
//...
//...и в конце программы освобождаем память:
delete[] arr;
1
Ignat
14.04.2010, 17:39
  #11

Не по теме:

Nameless One:
Лучше бы этого не делал вопрос теперь будет больше.

0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
14.04.2010, 17:41 12
Цитата Сообщение от Genius Ignat Посмотреть сообщение

Не по теме:

Nameless One:
Лучше бы этого не делал вопрос теперь будет больше.

Не по теме:

А мне все равно, я сейчас спать пойду:D

0
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
14.04.2010, 17:42  [ТС] 13
Спасибо огромное! Что-то я в этих массивах не разберусь никак...
0
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
17.04.2010, 14:41  [ТС] 14
я на основе ваших задач сама написала прог-у, которая мне нужна)) вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
        const int N=5;
        int arr[N], K, i, sum=0; 
        cout << "K=";
        cin >> K;
        for(i=0; i<N; ++i)
        {
                cout << "arr[" << i << "]=";
                cin >> arr[i];
                sum+=((!(arr[i]%K))? arr[i] : 0);
        }
        cout << "sum = " << sum << endl;
        return 0;
}


теперь у меня такой вопрос: могли бы Вы помочь написать Функциональные тесты для выше указанной прог-и?
0
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
19.04.2010, 15:29  [ТС] 15
((!(arr[i] % K))? arr[i] : 0);

А что означают "?" и ":0" в этой формуле?
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
19.04.2010, 15:37 16
(Условие) ? (выражение1) : (выражение2)
Если условие истинно, то выполняется выражение1, а если ложно, то выражение2.
1
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
19.04.2010, 15:43  [ТС] 17
Ясно, спасибо!
0
2 / 2 / 0
Регистрация: 12.02.2010
Сообщений: 96
21.04.2010, 13:07  [ТС] 18
А как мне программу исправить, что N вводилось с клавиатуры? Только без size всяких. По- проще как-нибудь.
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
21.04.2010, 13:10 19
C++
1
2
3
4
5
6
7
8
 int N; 
 std::cout << "Введите кол-во элементов массива: ";
 std::cin >> N;
 int *MAS=new int [N]; 
 // Итого: Массив MAS, размером N.
 //
 // тело программы.
 delete []MAS;// освобождаем память.
0
257 / 144 / 18
Регистрация: 27.12.2009
Сообщений: 909
21.04.2010, 13:20 20
N это максимальный размер массива, и вовсе не обязательно чтоб вводилось именно столько элементов, это фактически резервирование памяти у машины, для возможного размещения соответствующих чисел.

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
        const int N=1000;
        int arr[N], K, i, sum=0,n; 
        cout << "N";
        cin >> n;
        cout << "K=";
        cin >> K;
        for(i=0; i<n; ++i)
        {
                cout << "arr[" << i << "]=";
                cin >> arr[i];
                sum+=((!(arr[i]%K))? arr[i] : 0);
        }
        cout << "sum = " << sum << endl;
        return 0;
}
можно сколько хочешь вводить, но в пределах 1000 )))

Добавлено через 3 минуты
забываю иногда точки с запятыми ставить))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2010, 13:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В массив B[n] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f
В массив B занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f. ...

Дана матрица. Найти произведение тех ее элементов, которые кратны L
Дана матрица А(N*L). Найти произведение тех ее элементов, которые кратны L.

Даны четыре целых числа. Найти сумму тех из них, которые кратны трем и больше пяти
Даны четыре целых числа. Найти сумму тех из них, которые кратны трем и больше пяти. Оператор цикла...

Даны четыре целых числа. найти сумму тех из них, которые кратны трем и больше пяти. Оператор цикла не использовать
Даны четыре целых числа. найти сумму тех из них, которые кратны трем и больше пяти. Оператор цикла...


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

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

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