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

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

Войти
Регистрация
Восстановить пароль
 
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
#1

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

25.09.2014, 01:37. Просмотров 772. Ответов 2
Метки нет (Все метки)

Разработать программу, предназначенную для обработки информации о матчах, сыгранных футбольной командой.
Количество сыгранных матчей и заработанное в них количество очков вводится с клавиатуры. За матч команда получает либо
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++;
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 01:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча (C++):

Передача аргументов в функции по ссылке - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; using namespace std; const...

Передача по ссылке двумерного динамического массива в функцию - C++
Приведите, пожалуйста, пример. Нигде не могу найти.

Передача динамического массива в функции - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; /*const*/ int k=3; //void sum (int mas); void sum (int * arr, int...

Передача аргументов в функцию по ссылке и указателю - C++
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?

Указатели, адресная арифметика и передача аргументов функций по значению и по ссылке - C++
Подскажите, пожалуйста, как решить такую задачу вручную. На экзамене предложат задание такого типа НА БУМАГЕ, и надо будет написать, что...

Возможна ли передача двумерного массива в качестве аргумента функции по ссылке - C++
Нужно передать двумерный массив в функцию. Понятно, что можно сделать так: void point_to_matrix(double**A,int n_row,int n_column){ ...

2
alsav22
5426 / 4821 / 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];
}
0
Pari
40 / 3 / 0
Регистрация: 24.11.2013
Сообщений: 139
25.09.2014, 18:43  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
В коде не разбирался, но если меняете в функции значение указателя, то его нужно туда по ссылке передавать:
спасибо, исправив только это моя программа заработала абсолютно правильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2014, 18:43
Привет! Вот еще темы с ответами:

Создание двумерного динамического массива в функции - C++
Здравствуйте. Скажите где я допустил ошибку в создании динамического массива? #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; ...

создание динамического массива внутри функции - C++
Люди, помогите пожалуйста. Нужно написать функцию, которая читает из файла числа (их количество заранее неизвестно) и записывает их в...

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

Создание двумерного динамического массива через функции - C++
Помогите разобраться с программой. После вхождения в функцию Fill_mas, я выхожу из программы и вводить элементы отказывается. Даже если...


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

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

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