• Исправить ошибку - программа на С++?

    do_while
    @do_while Автор вопроса
    Full stack developer
    Переписал функцию, работает, вроде так. Спасибо тем, кто писал в комментарии, помогли.

    #include "pch.h"
    #include <iostream>
    
    using namespace std;
    
    int* dynamic_memory_allocation(int m)
    {
    	int *g;
    	g = new int[m];
    	return g;
    }
    
    void get_data(int m, int* g)
    {
    	for (int i = 0; i < m; i++)
    	{
    		cout << "Введите исход матча №" << (i + 1) << " (кол-во очков: 0, 1, 3)." << endl;
    		cin >> g[i];
    		if (g[i] != 0 && g[i] != 1 && g[i] != 3) {
    			cout << "Введено некорректное значение, повторите ввод." << endl;
    			i--;
    		}
    	}
    }
    
    
    void sum_point(int m, int* g, int& s)
    {
    	for (int i = 0; i < m; i++)
    		s += g[i];
    }
    
    void win_fall(int m, int* g, int& cw, int& cf)
    {
    	for (int i = 0; i < m; i++)
    		!g[i] ? cf++ : cw++;
    }
    
    int main()
    {
    	setlocale(0, "");
    	int match = 0, sum = 0, count_win = 0, count_fall = 0;
    
    	cout << "Введите количество матчей" << endl;
    	cin >> match;
    
    	if (match < 0) {
    		cout << "Некорректные входные данные";
    		return 0;
    	}
    
    	int *g;
    	g = dynamic_memory_allocation(match);
    	get_data(match, g);
    
    	sum_point(match, g, sum);
    	cout << "Общее количество очков = " << sum << endl;
    
    	win_fall(match, g, count_win, count_fall);
    	cout << "Команда выиграла или сыграла в ничью " << count_win << " раз(а)" << endl;
    	cout << "Команда проиграла " << count_fall << " раз(а)" << endl;
    	return 0;
    }
    Ответ написан