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

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

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

Определить, кратна ли сумма элементов заданного массива указанному числу - C++

18.02.2013, 18:07. Просмотров 546. Ответов 19
Метки нет (Все метки)

всем привет. есть задание: нужно определить кратна ли сумма 7, нужно сделать задачу через указатели. вот код обычной программы :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 #include <iostream>
#include <math.h>
 
int main() {
    int mass[3];
    int sum=0;
    for (int i=0; i<3; i++)
        std::cin >> mass[i];
    for (int i=0; i<3; i++)
        sum = mass[i] + sum;
    if (sum%7 ==0)
        std:: cout <<"сумма" << sum << "кратна 7" << std:: endl;
    return 0;
}
помогите плиз
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 18:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, кратна ли сумма элементов заданного массива указанному числу (C++):

Определить, кратна ли сумма элементов заданной матрицы указанному числу - C++
с клавы вводится двумерный массив длинной 10 символов. определить кратна ли сумма элементов 7. вот мой код: #include &lt;iostream&gt; ...

Определить, кратна ли сумма элементов вектора У числу пять - C++
Разработать алгоритм, составить и отладить программу по формированию, обработке и печати одномерного массива . В векторе У(m)...

Дано четырёхзначное натуральное число А, требуется определить : кратна ли сумма цифр числа А заданному числу В ? - C++
Помогите пожалуйста решить ! никак не могу разобраться с этой задачей !) Заранее спасибо !)))

Определить является ли сумма элементов заданного массива чётным или нечётным числом - C++
Задан массив целых чисел. Определить является ли сумма элементов этого массива четным или нечетным числом.

Найти произведение элементов заданного массива, принадлежащих указанному интервалу - C++
Помогите пожалуйста написать код: Ввести одномерный массив A , вывести его. Найти произведение его элементов, принадлежащих интервалу ....

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
18.02.2013, 18:12 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 #include <iostream>
#include <math.h>
 
int main() {
    int mass[3];
    int sum=0;
    for (int i=0; i<3; i++)
        std::cin >> *(mass+i);
    for (int i=0; i<3; i++)
        sum =*(mass+i) + sum;
    if (sum%7 ==0)
        std:: cout <<"сумма" << sum << "кратна 7" << std:: endl;
    return 0;
}
1
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
18.02.2013, 18:36  [ТС] #3
нужно вот так как то сделать :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
     int count=0;
        int a[10];
        int *ptr;
        ptr=&a[0];
    while (count<10) {
        std::cin>> *ptr;
        ptr ++;
        count ++;
    }
        std::cout<<"count= "<<count;
        std::cout<<"вывод массива"<<*ptr;
        return 0;
    }
по типу этого
0
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
18.02.2013, 18:39 #4
Цитата Сообщение от fifa068 Посмотреть сообщение
по типу этого
Может нужно динамически выделить память? или использовать отдельный указатель?
0
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
18.02.2013, 18:47  [ТС] #5
в смысле? блин не фига не понял эти указатели(
0
coss1
1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 14
18.02.2013, 18:49 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstdlib>
 
int main ()
{
    const int sizeArray = 3;
    int array[sizeArray],
        sum = 0;
    std::cout << "Enter array(3 elements): " << std::endl;
    for (int i = 0; i < sizeArray; i++){
        std::cin >> *(array + i);
        sum += *(array + i);
    }
    std::cout << (sum == 7) << std::endl; // если sum == 7, то программа возвращает 1, если нет, то 0.
    system("pause");
    return 0;
}
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
18.02.2013, 18:57 #7
Цитата Сообщение от coss1 Посмотреть сообщение
std::cout << (sum == 7) << std::endl;
Ошибка, должно быть
C++
1
std::cout << (!(sum % 7) ? "Yes" : "No") << std::endl;
0
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
18.02.2013, 19:00 #8
fifa068, вот так еще можно )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <math.h>
 
int main() {
    int mass[3];
    int sum=0;
    int * pmass;
    pmass=mass;
    for (int i=0; i<3; i++)
        std::cin >> *(pmass+i);
    for (int i=0; i<3; i++)
        sum =*(pmass+i) + sum;
    if (sum%7 ==0)
        std:: cout <<"сумма" << sum << "кратна 7" << std:: endl;
    return 0;
}
1
coss1
1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 14
18.02.2013, 19:00 #9
Цитата Сообщение от Dekio Посмотреть сообщение
Ошибка, должно быть
C++
1
std::cout << (!(sum % 7) ? "Yes" : "No") << std::endl;
спасибо, буду иметь в виду.
0
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
18.02.2013, 19:15  [ТС] #10
akk, огромное спасибо. а цикл while тогда для чего нужен?
0
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
18.02.2013, 19:18 #11
Цитата Сообщение от fifa068 Посмотреть сообщение
а цикл while тогда для чего нужен?
В данном случаи эти два цикла эквивалентны, т е можно так записать:
C++
1
2
3
     int i=0; 
    while(i<3)
        std::cin >> *(pmass+i++);
1
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
18.02.2013, 19:19 #12
и вот так еще можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <vector>
#include <ctime>
 
int main ()
{
    auto fRandom = std::bind(std::uniform_int_distribution <> (0, 25),
                             std::mt19937 (time(nullptr)));
    int vectSize = 10;
    std::vector <int> vect (vectSize);
    std::generate(vect.begin(), vect.end(), fRandom);
    std::copy(vect.begin(), vect.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl << ((!(std::accumulate(vect.begin(), vect.end(), 0) % 7)) ? "True!" : "False!");
 
    return 0;
}
0
coss1
1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 14
18.02.2013, 19:23 #13
Цитата Сообщение от fifa068 Посмотреть сообщение
нужно вот так как то сделать :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
     int count=0;
        int a[10];
        int *ptr;
        ptr=&a[0];
    while (count<10) {
        std::cin>> *ptr;
        ptr ++;
        count ++;
    }
        std::cout<<"count= "<<count;
        std::cout<<"вывод массива"<<*ptr;
        return 0;
    }
по типу этого

while для ввода елементов в масив
0
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
18.02.2013, 19:26 #14
Цитата Сообщение от coss1 Посмотреть сообщение
while для ввода елементов в масив
это просто два разных вида записи циклов.
1
fifa068
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 93
18.02.2013, 19:34  [ТС] #15
akk, понял. огромное спасибо за помощь)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 19:34
Привет! Вот еще темы с ответами:

Вычислить сумму элементов массива у которых сумма индексов равна заданному числу - C++
Массив A содержит действительные числа и задается пользователем с клавиатуры вместе с размерностью . Пользователь задает целое число k....

Сумма трёх первых положительных элементов заданного массива - C++
Помогите с решением контрольных на C++. Пожалуйста. 1. Дан массив D(n), где n≤10, вещественного типа. Разработайте программу,...

Определить кратна ли трем сумма цифр двузначного десятичного числа - C++
дано двузначное число.определить : а)кратна ли трем сумма его цифр ; б) кратна ли сумма его цифр числу a;

Из заданного массива сформировать новый по указанному правилу - C++
Массив P1,P2,...,Pm, полученный из массива C1,C2,...Cm, по правилу Pk=\sum_{i=1}^{k} Ci, k=1,2,...,m


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

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

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