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

Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча - C++

Восстановить пароль Регистрация
 
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
25.09.2014, 01:37     Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча #1
Разработать программу, предназначенную для обработки информации о матчах, сыгранных футбольной командой.
Количество сыгранных матчей и заработанное в них количество очков вводится с клавиатуры. За матч команда получает либо
3 очка в случае победы, либо 0 очков – в случае поражения, либо 1 очко, если игра закончилась «в ничью». В программе определить следующие функции:
а) функция динамического выделения памяти под массив;
б) функция заполнения массива данными с клавиатуры;
в) функция для вычисления суммарного количества заработанных очков;
г) функция для вычисления количества матчей, в которых команда не проиграла и количество матчей, в которых было поражение.

помогите разобраться с передачей значений в функцию через ссылки, создание динамического одномерного массива в функции... кажется я что-то напутала, компилятор ругается, говорит переменная game не инициализирована, думаю если это исправлю появится еще миллион ошибок. да и не знаю я где ее инициализировать.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main()
{
    setlocale (0, "");
    int match, *game, sum = 0, count_win = 0, count_fall = 0;
    void dynamic_memory_allocation (int, int*);
    void get_data (int, int[]);
    void sum_point (int, int[] , int&);
    void win_fall (int, int[], int&, int&);
 
    cout << "Введите количество матчей" << endl;
    cin >> match;
    dynamic_memory_allocation (match, game);
    get_data(match, game);
    sum_point (match, game, sum);
    cout << "Общее количество очков = " << sum << endl;
    win_fall (match, game, count_win, count_fall);
    cout << "Команда выиграла или сыграла в ничью " << count_win << " раз" << endl;
    cout << "Команда проиграла " << count_fall << " раз" << endl;
}
 
//////////////////////////////////////////////////
 
void dynamic_memory_allocation (int m, int* g)
{
    g = new int[m];
}
///////////////////////////////////////////////////
 
void get_data (int m, int g[])
{
    for(int i=0; i<m; i++)
    {
        cout << "Введите исход матча" << i << "За матч команда получает либо 3 очка в случае победы, либо 0 очков – в случае поражения, либо 1 очко, если игра закончилась «в ничью»" << endl;
        cin >> g[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++)
    {
        if ((g[i] == 1) || (g[i] == 3))
            cw++;
        if (g[i] == 0)
            cf++;
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 01:37     Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча
Посмотрите здесь:

Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке C++
Передача аргументов в функции по ссылке C++
C++ создание динамического массива внутри функции
C++ Передача динамического массива в функции
Создание двумерного динамического массива в функции C++
C++ Создание динамического массива в отдельной функции
Не компилируется листинг "Передача по ссылке аргументов" Р.Лафоре C++
Передача аргументов в функцию по ссылке и указателю C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2014, 01:47     Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
В коде не разбирался, но если меняете в функции значение указателя, то его нужно туда по ссылке передавать:
C++
1
2
3
4
void dynamic_memory_allocation (int m, int*& g)
{
    g = new int[m];
}
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
25.09.2014, 18:43  [ТС]     Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча #3
Цитата Сообщение от alsav22 Посмотреть сообщение
В коде не разбирался, но если меняете в функции значение указателя, то его нужно туда по ссылке передавать:
спасибо, исправив только это моя программа заработала абсолютно правильно.
Yandex
Объявления
25.09.2014, 18:43     Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча
Ответ Создать тему
Опции темы

Текущее время: 12:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru