Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 2 / 1
Регистрация: 30.03.2018
Сообщений: 64
1

Функция с использованием статической переменной

31.03.2018, 21:06. Показов 1025. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне.

Задание: Написать функцию SumParni(N), которая возвращает сумму кратных 5 или 7 среди целых чисел N, которые были аргументами функции.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2018, 21:06
Ответы с готовыми решениями:

Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне.
Создать функцию с использованием статической переменной (или переменных), определенной на локальном...

Объявление статической переменной и статической функции в классе
Добрый вечер, столкнулся с проблемой и не могу решить. Есть класс SavingsAccount и в нем объявлена...

Проблема с взаимодействием динамической и статической памяти - обращение к статической переменной
Здравствуйте! Помогите решить проблему! Задача такая: написать сортировку бинарным деревом, так...

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

6
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
01.04.2018, 05:00 2
Цитата Сообщение от julia_B Посмотреть сообщение
среди целых чисел N
среди целых чисел от 1 до N - проверьте условие

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int SumParni (int N)
{
    int sum=0;
    for (int i=1; i<=N; i++)
    if (i%5==0 || i%7==0) sum+=i;
    return sum;
}
 
int main()
{
    int N;
    cout <<"Enter N: "; cin >>N;
    
    cout <<"sum="<<SumParni (N)<<endl;
    
system("pause");
return 0;
}
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
01.04.2018, 10:17 3
Лучший ответ Сообщение было отмечено julia_B как решение

Решение

Цитата Сообщение от Yetty Посмотреть сообщение
среди целых чисел от 1 до N - проверьте условие
Да не, все правильно в условии, имеется видимо в виду, что сумма накапливается для всех аргументов, с которыми функция вызывалась, иначе при чем бы здесь статическая переменная
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
using namespace std;
 
int SumParni(int n)
{
    static int result = 0;
    if(!(n % 5) || !(n % 7))
         result += n;
    return result;
}
 
int main()
{
    cout << SumParni(10) << endl;
    cout << SumParni(5) << endl;
    cout << SumParni(21) << endl;
    cout << SumParni(12) << endl;
    cout << SumParni(3) << endl;
    return 0;
}
1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
01.04.2018, 13:05 4
Цитата Сообщение от woldemas Посмотреть сообщение
Да не, все правильно в условии, имеется видимо в виду, что сумма накапливается для всех аргументов, с которыми функция вызывалась, иначе при чем бы здесь статическая переменная
т.е. функция может принимать произвольное N и для него подсчитывать сумму кратных, я Вас правильно понял ? почему тогда у Вас числа 10, 5, 21, 12, 3 и что показывает результат работы Вашей программы:
10
15
36
36
36
при этих числах ?
0
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
01.04.2018, 13:07 5
Yetty, Сумму тех чисел, которые кратны 5 и 7. 36 должно быть
Upd: Точнее, на каждом вызове складывается Предыдущее значение с входным, если оно кратно 5 или 7 и Выводится эта сумма.
5 кратно? да - Сложили 0 + 5 = 5
10 кратно? да - Сложили 5 + 10 = 15
21 кратно? да - Сложили 21 + 15 = 36
12 кратно? нет - Ничего не сложили, вывели 36
3 кратно? нет - Ничего не сложили, вывели 36
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
01.04.2018, 13:14 6
SuperKir, спасибо. т.е. условие должно формулироваться не так:
Цитата Сообщение от julia_B Посмотреть сообщение
среди целых чисел N
а так: среди N целых чисел правильно ?
и разве в программе не должно задаваться N которое дано по условию ?
0
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
01.04.2018, 13:17 7
Yetty, здесь скорее всего подразумевается, что методу передается аргумент Целое число N, а не количество (N) целых чисел. Поэтому N здесь выступает в роли идентификатор целого числа)
0
01.04.2018, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2018, 13:17
Помогаю со студенческими работами здесь

Обращение к статической переменной
Уточните пожалуйста как обратиться к статик переменной ,если её название содержится например в...

Создание статической переменной
Задание звучит так: Объявить статическую переменную z. При каждом нажатии командной кнопки значение...

Возврат статической переменной
Добрый день. Вот этот код в QtCreator работал исправно: Class1.h class Class1::public...

Наследование статической переменной
есть класс с статистическим полем я от него &quot;произвожу&quot; два потомка. у всех этик классов будет...

Объявление статической переменной
в наследнике класса Thread в модуле h объявляю private static int iLink. Компилится нормально....

Ошибка в объявлении статической переменной
Знакомлюсь со статическими переменными в ООП, первая программа, ошибки в строке 6 . Как исправить?...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru