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

Игра сапер

09.02.2018, 23:00. Показов 3720. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, кто может помогите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main () {
    int arr [5][5]={{0,1,1,0,0},{1,0,1,1,0},{1,0,0,0,1},{0,0,0,0,0},{1,1,1,1,1}};
    for (int i = 0; i < 5; i++){
        for (int j =  0; j<5; j++) {
        
        cout << " " << arr [i][j];
}
cout <<endl;
 
    }
    
    return 0;
}
У нас есть матрица 5х5:
0 1 1 0 0
1 0 1 1 0
1 0 0 0 1
0 0 0 0 0
1 1 1 1 1
нужно для каждого индекса посчитать сколько вокруг 1
должны получить
2 4 4 3 1
3 5 4 3 2
2 3 2 3 2
3 4 3 3 2
2 3 3 3 2
Я понимаю что даже правильно объяснить не могу задание) но кто понял прошу помочь)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2018, 23:00
Ответы с готовыми решениями:

Игра Сапер
Надо написать игру Сапер. Дайте советы как правильно все организовать. Всю игру построить из...

Игра Сапёр
1) Сгенерировать матрицу N*M элементов char. 2) Расставить случайным образом K символов ' * ',...

Игра Сапер
Нужна игра Сапер на С++. Срочно. Плиз.

Консольная игра "Сапер"
Помогите создать игру &quot;Сапер&quot;, через указатель на массив (visual studio), и что бы она отображалась...

6
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
09.02.2018, 23:03 2
vovaivashchyshy, а почему на индексе 0 1 пишет 4 если на деле 3, или середнее значение тоже считается?
0
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 7
09.02.2018, 23:04  [ТС] 3
RostikTawer, тоже. Сорри, я плохо объяснил задание)
0
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
09.02.2018, 23:17 4
Лучший ответ Сообщение было отмечено vovaivashchyshy как решение

Решение

vovaivashchyshy,
Вроде рабочая, цифри(0-1) я через рандом поставил(не заметил что ты уже написал, для преподавателя так лучше будет), а ты как хочешь сделай.
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
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <windows.h>
 
 
using namespace std;
 
int main()
{
    
    const int N = 5;
    int A[N][N], B[N][N];
    int a;
    srand(time(NULL));
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            Sleep(rand() % 300 + 200);
            a = rand() % 10;
            if (a % 2 == 0) {
                A[i][j] = 1;
            }
            else{ 
                A[i][j] = 0;
            }
            A[i][j];
            cout << A[i][j] << ' ';
        }
        cout << endl;
    }
    cout << "\n\n";
    a = 0;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            a = 0;
            if (A[i][j] == 1) {a++;}
            if (A[i][j-1] == 1) { a++; }
            if (A[i][j+1] == 1) { a++; }
            if (A[i-1][j] == 1) { a++; }
            if (A[i+1][j] == 1) { a++; }
            if (A[i-1][j-1] == 1) { a++; }
            if (A[i-1][j+1] == 1) { a++; }
            if (A[i+1][j-1] == 1) { a++; }
            if (A[i+1][j+1] == 1) { a++; }
            B[i][j] = a;
            cout << B[i][j] << ' ';
        }
        cout << endl;
    }
 
    system("pause");
    return 0;
}
Если уже взял верхний, бери этот, забыл о краях.
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
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <windows.h>
 
 
using namespace std;
 
int main()
{
    
    const int N = 5;
    int A[N][N], B[N][N];
    int a;
    srand(time(NULL));
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            Sleep(rand() % 300 + 200);
            a = rand() % 10;
            if (a % 2 == 0) {
                A[i][j] = 1;
            }
            else{ 
                A[i][j] = 0;
            }
            A[i][j];
            cout << A[i][j] << ' ';
        }
        cout << endl;
    }
    cout << "\n\n";
    a = 0;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            a = 0;
            if (A[i][j] == 1) {a++;}
            if (A[i][j-1] == 1 && j > 0) { a++; }
            if (A[i][j+1] == 1 && j < N) { a++; }
            if (A[i-1][j] == 1 && i > 0) { a++; }
            if (A[i+1][j] == 1 && i < N) { a++; }
            if (A[i-1][j-1] == 1 && i > 0 && j > 0) { a++; }
            if (A[i-1][j+1] == 1 && i > 0 && j < N) { a++; }
            if (A[i+1][j-1] == 1 && i < N && j > 0) { a++; }
            if (A[i+1][j+1] == 1 && i < N && j < N) { a++; }
            B[i][j] = a;
            cout << B[i][j] << ' ';
        }
        cout << endl;
    }
 
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 7
09.02.2018, 23:32  [ТС] 5
RostikTawer, спасибо дружище!!! Еще бы узнать как свои вставить, но ладно уже попробую как -то)) Спасибо!
0
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
09.02.2018, 23:35 6
vovaivashchyshy, так у тебя же готовое
C++
1
2
int main () {
    int arr [5][5]={{0,1,1,0,0},{1,0,1,1,0},{1,0,0,0,1},{0,0,0,0,0},{1,1,1,1,1}};
и просто мой первый цикл заменяешь на простой вывод
0
0 / 0 / 0
Регистрация: 07.02.2018
Сообщений: 7
09.02.2018, 23:38  [ТС] 7
RostikTawer, понял, спасибо огромное!)
0
09.02.2018, 23:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2018, 23:38
Помогаю со студенческими работами здесь

Перевод из C# в C++. Игра "Сапер"
Здравствуйте, помогите пожалуйста, нашёл и переделал для себя код на C#, программа-игра Сапер, но...

Сапер на C++
Народ хочу попробовать написать игру сапер. Не могу понять как мне расставить программно 100 кнопок...

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

сапёр
здравствуйте извините, если повторяюсь (видела, что подобная тема была, причём не одна, но не...


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

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