@avion123678

Решение задачи на c++?

Здравствуйте, запрограммировал простенькую задачку, при решении которой нужно обязательно использовать объявление переменой static:
Написать функцию с целым параметром m, результат которой равен сумме параметров трех последних вызовов этой функции.

Получился вот такой код:
#include <iostream>
#include <cstdlib>

using namespace std;

void greeting(int n) {
    static int i = 1, s = 0, a = 1, b = 2, c = 3, a1 = 0, b1 = 0, c1 = 0;

    if (i == a) {
        a1 = n;
        a += 3;
    }
    else if (i == b) {
        b1 = n;
        b += 3;
    }
    else if (i == c) {
        c1 = n;
        c += 3;
    }

    i++;

    if (a1 > 0 && b1 > 0 && c1 > 0) {
        s = a1 + b1 + c1;
        cout << s << endl;
    }
    else {
        cout << s << endl;
    }
}
int main() {
       for (int i = 10; i <= 100; i += 10) {
           greeting(i);
       }
    return 0;
}

Но что-то мне подсказывает, что сделать можно было гораздо красивее и проще. Помогите с другими более правильными решениями.
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы