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

Мусор в двумерном массиве

22.11.2022, 14:39. Показов 304. Ответов 2

Author24 — интернет-сервис помощи студентам
После выполнения ввода "w" в массиве появляется муссор
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
60
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int LStep, CStep, LStart, CStart;
int board[4][4];
pair <int, int> generateUnoccupiedPosition() {
    int occupied = 1, line, column;
    while (occupied) {
        line = rand() % 4;
        column = rand() % 4;
        if (board[line][column] == 0)
            occupied = 0;
    }
    return make_pair(line, column);
}
void newGame() {
    for (int i = 0; i < 4; ++i)
        for (int j = 0; j < 4; ++j)
            board[i][j] = 0;
    pair <int, int> pos = generateUnoccupiedPosition();
    board[pos.first][pos.second] = 2;
}
void printUI() {
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j)
            if (board[i][j] == 0)
                cout << ".";
            else
                cout << board[i][j];
        cout << "\n";
    }
    cout << "n: new game, w: up,s: down, d: right, a: left,q:quit \n";
}
 
void moveW() {
 
    for (int j = 0; j < 4; ++j)
        for (int i = 3; i > 0; --i) {
            if (board[i - 1][j] = 0 || (board[i - 1][j] == board[i][j])) {
                board[i - 1][j] += board[i][j];
                board[i][j] = 0;
            }
        }
 
}
int main() {
    srand(time(0));
    newGame();
    while (true) {
        printUI();
        char command;
        cin >> command;
        if (command == 'n')
            newGame();
        else if (command == 'q')
            break;
        if (command == 'w') moveW();
    }
    return 0;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2022, 14:39
Ответы с готовыми решениями:

мусор в двумерном массиве при передаче в функцию
Здравствуйте. При передаче двумерного массива нулей в функцию, там массив приобретает мусор...

Мусор в массиве
Откуда берется мусор после строки temp = c; ? #include &lt;iostream&gt; char * append(char* arr,...

Мусор в массиве
Не могу понять в чем проблема, выводит мусор при компиляции в массивах name, avtor, izdat. Так же...

Мусор в массиве
Задание: Подсчитать количество ненулевых разрядов в двоичной записи заданного натурального числа. ...

Мусор в массиве
Cчитываю значения из файла с помощью метода класса All в массив xlim void All :: InputLim() {...

2
568 / 470 / 99
Регистрация: 05.08.2022
Сообщений: 2,581
22.11.2022, 14:44 2
Цитата Сообщение от nelyaF Посмотреть сообщение
После выполнения ввода "w" в массиве появляется муссор
в какой строке кода? какой ввод w ?
и как вы определили, что появляется мусор?
в каком массиве мусор появляется?

Смотрите как много непонятностей в вашем вопросе.
0
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
22.11.2022, 14:57 3
Лучший ответ Сообщение было отмечено nelyaF как решение

Решение

C++
40
if (board[i - 1][j] = 0 || (board[i - 1][j] == board[i][j]))
может тут должно быть сравнение а не приравнивание ?
board[i - 1][j] == 0

Добавлено через 2 минуты
И еще после ввода символа из консоли, нужно делать get()
Ибо след. символ будет '\n'

Добавлено через 1 минуту
C++
1
2
        cin >> command;
        cin.get();
1
22.11.2022, 14:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2022, 14:57
Помогаю со студенческими работами здесь

выводиться мусор в массиве
написал программу с динамическим массивом, которая удаляет первый отрицательный элемент и смещается...

Мусор в массиве символов
Есть класс, который при создании принимает текстовый массив, который будет являться числом, число...

Появляется мусор в динамическом массиве
Проблема начинается с 60 строчки кода. Мне нужно полученный результат записать в массив и вернуть...

Мусор в строковом статическом массиве C++
Если строковый статический массив заполнить \0, а потом вводить символы, количество которых &lt;...

Мусор в массиве после использования malloc и memcpy
Здравствуйте! Столкнулся со следующей проблемой. Подробнее в коде: #define BLOCK_SIZE = 16 ......


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

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