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

Значения меняются при выводе

25.04.2017, 08:42. Показов 528. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сначала принимаем идентификатор и фамилию игрока (тут вроде все нормально), потом, в цикле, прибавляем ему баллы но потом, в конце программы, когда мы все выводим, значения, вместо, например 10 баллов, становятся равны разным отрицательным значениям, вроде -522017393, и колеблются, а фамилии превращаются в странные крокозябры.
Что не так?
P.S. Visual Studio 2017
Кликните здесь для просмотра всего текста
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
int main()
{
    //setlocale(0,"");
    int *kolvo = new int(0);                                                            // Количество игроков.
    scanf("%d", &*kolvo);                                                               // Считываем количество участников.
    char *buf = new char[100];                                                          // Фамилии участников
    std::string *secnames = new std::string[*kolvo];                                    // Фамилии участников                                                                      
    int *ids = new int[*kolvo];                                                         // Идентификаторы участников
    int *scores = new int[*kolvo];                                                      // Количество баллов.
    for (int i = 0; i < *kolvo; i++) { scanf("%d %99s", &ids[i], buf); std::string strbuf(buf); secnames[i] = strbuf; }             // Сканируем все айди и фамилии.
    int *strokes = new int(0);
    int *hereid = new int(0);
    int *herescores = new int(0);
 
    //---------------------------------------------------------------------------
 
    scanf("%d", &*strokes);
    for (int i = 0; i < *strokes; i++) {
        scanf("%d %d", &*hereid, &*herescores);
        for (int j = 0; j < *kolvo; j++) {
            if (ids[j] == *hereid) {
                scores[j] = *herescores;
                break;
            }
        }
    }
 
    //---------------------------------------------------------------------------
 
    for (int i = 0; i < *kolvo; i++) printf("%s %d\n", secnames[i], scores[i]);
    std::system("PAUSE");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2017, 08:42
Ответы с готовыми решениями:

данные в массиве при выводе меняются
первое вводимое число к концу меняется. я так не понял почему это происходит. но есть подозрение на...

Ошибка при выводе значения
Здравствуйте,решая задание: Вычислить рекурсивно и нерекурсивно произведение четного количества n...

проблема - при выводе переменных, их значения изменяются
Проблема в элементарном коде, после присваивания переменной `result1` значения `n+++m--`, значения...

Почему при выводе значения переменной выводиться inf?
При выводе z выводится inf #include &lt;iostream&gt; void main() { double n, b, x, y, z; n =...

0
25.04.2017, 08:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2017, 08:42
Помогаю со студенческими работами здесь

Неожиданный результат при выводе значения переменной, несмотря на инкремент
подскажите почему значения a и с начинаются с 1 а не с 2 стоит же &quot;++&quot; int a = 1; void f() {...

Приведение типов. Должны получиться другие значения при выводе в консоль. x[0]=0,0682
#include &lt;cmath&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; // для setprecision...

Не меняются местами значения переменных
Доброго времени суток. Ни в какую не хочет менять местами значения двух переменных. Часть моего...

Почему в массиве меняются значения?
Добрый вечер. Сразу код. // ConsoleApplication1.cpp : Defines the entry point for the console...


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

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