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

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

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

Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L (0< L< M - C++

15.04.2014, 23:25. Просмотров 958. Ответов 2
Метки нет (Все метки)

Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L (0< L< M)
Решение сделать через функцию.У меня что-то не получается сделать через функцию.Помогите пожалуйста.

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
29
30
31
32
33
#include <iostream>
using namespace std;
#define n 10
 
int main()
{
    setlocale(0, "");
    int a[n], l, m,i;
    cout << " Введите элементы массива:" << endl;
    for (i = 1; i <= n; i++)
    {
        cout << " a[" << i << "] = ";
        cin >> a[i];
 
    }
    cout << " Введите делитель: ", cin >> m;
    cout << " Введите остаток: ", cin >> l;
    cout << " Числа, которые от деления на " << m << " дают остаток " << l;
    int flag = 0;
    if ((l >= 0) && (l <= m - 1))
    {
        for (i = 1; i < n; i++)
        if (a[i] % m == l)
        {
            cout << a[i] << " ";
            cout << endl;
            flag = 1;
        }
    }
    if (!flag)
        cout << "Таких чисел в массиве нет:" << endl;
    system("pause");
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 23:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L (0< L< M (C++):

Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен L - C++
Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен L, где (0 ≤ L ≤ M-1).

C++ даны целые числа а1 а2 an указать те из них у которых остаток от деления на M равен L(0<L<M-1) - C++
c++ даны целые числа а1 а2 an указать те из них у которых остаток от деления на M равен L(0&lt;L&lt;M-1) я не понимаю как сделать это вообще,...

Указать те из чисел последовательности, у которых остаток от деления на М равен L - C++
Даны целые числа A1,A2,....Аn. Указать те из них, у которых остаток от деления на М равен L (0&lt;L&lt;M - 1). Задание - Сформировать...

Дан массив натуральных чисел. Указать те, у которых остаток от деления на М равен L (0<L<M-1). - C++
Дан массив натуральных чисел. Указать те, у которых остаток от деления на М равен L (0&lt;L&lt;M-1).

Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m - C++
Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m Решите на С++.Буду благодарна!

Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m - C++
Доброго времени суток) прошу вашей помощи. Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bav1003
0 / 0 / 1
Регистрация: 11.04.2014
Сообщений: 3
16.04.2014, 02:11 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вообще-то не очень понятно, что означает "сделать через функцию". Функции в программировании - это средство, а не цель. В виде функций обычно пишут код, чтобы не дублировать его в разных местах программы, либо для улучшения восприятия логики программы на разных уровнях. То есть функции в программе появляются либо "сами по себе" - для удобства решения данной задачи и тех задач, в которые данная задача может "вырасти", либо по тех.заданию - то есть, должны быть заданы заказчиком, преподавателем и т.д.
В этой задаче, по-видимому, можно написать, что-то вроде
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
// Функция для ввода параметров деления
bool getParam(int& dev,int& rem) {
    cout << " Введите делитель: ", cin >> dev;
    cout << " Введите остаток: ", cin >> rem;
    if ((dev >= 0) && (rem <= dev - 1))
        return true;
    else
        return false;
}
// Функция, решающая основную задачу нахождения чисел ...
// Возвращает количество найденных чисел
int getNumbers(int *a,int n,int dev,int rem,int *r) {
int m=0;
    for(int i=0;i<n;i++) {
        if(a[i]%dev==rem) {
            r[m++]=a[i];
        }
    }
return m;
}
// Функция для печати массива
void printArray(int *a,int size) {
    for(int i = 0; i < size; i++) {
        cout << a[i] << endl;
    }
}
Тогда часть функции main можно будет записать с использованием введенных функций, например, в виде
C++
1
2
3
4
5
6
7
8
9
10
    while(!getParam(m,l)) {
        cout << "Неправильные данные blah, blah..." << endl;
    }
    int res[n],r;
    if((r = getNumbers(a,n,m,l,res)) > 0) {
        cout << " Числа, которые от деления на " << m << " дают остаток " << l <<endl;
        printArray(res,r);
    } else {
        cout << "Таких чисел в массиве нет:" << endl;
    }
Да, еще.(Не могу молчать .)У Вас в программе распространенная ошибка новичков в C/C++:
C++
1
2
3
4
5
6
7
8
 int a[n], l, m,i;
    cout << " Введите элементы массива:" << endl;
    for (i = 1; i <= n; i++)
    {
        cout << " a[" << i << "] = ";
        cin >> a[i];
 
    }
Элементы массивов в C/C++ нумеруются с нуля, то есть правильно заголовок этого цикла записать в виде:
C++
1
  for (i = 0; i < n; i++)
Подробнее об этом в учебниках. Это такой "баян"...
0
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
16.04.2014, 10:51  [ТС] #3
Благодарю,что все так подробно объяснили.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2014, 10:51
Привет! Вот еще темы с ответами:

Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m - C++
помогите решить задачку. Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m .(m и n вводятся с...

Вывести те элементы массива, у которых остаток от деления на b равен k - C++
Нужно вывести те элементы массива, у которых остаток от деления на b равен k. на с/с++ Код я написал, но что-то не работает... ...

Найти элементы последовательности у которых остаток от деления на М равен N - C++
Дана последовательность, состоящая из N чисел. Найти и вывести полученные результаты: 1. элементы, у которых остаток от деления на М...

Двумерные массивы, посчитать число элементов, остаток от деления которых на 5 равен 1 - C++
Помогите найти и исправить ошибку! В матрице (9х11) нужно посчитать число элементов, остаток от деления которых на 5 равен 1. Я написал...


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

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

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