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

Обнуление матрицы в структуре - C++

Восстановить пароль Регистрация
 
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
02.11.2012, 11:59     Обнуление матрицы в структуре #1
Здравствуйте такой вопрос. Как обнулить двумерный массив который входитв структуру?
C++ (Qt)
1
2
3
4
5
struct player
{
int ships[10][10];
int hits[10][10]
};
Мне нужно чтобы ships[10][10] = {0}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 11:59     Обнуление матрицы в структуре
Посмотрите здесь:

C++ Обнуление буфера.
C++ Обнуление битов
Самопроизвольное обнуление константы C++
C++ Обнуление переменной
Обнуление переменной C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11807 / 6786 / 767
Регистрация: 27.09.2012
Сообщений: 16,839
Записей в блоге: 2
Завершенные тесты: 1
02.11.2012, 12:08     Обнуление матрицы в структуре #2
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
#include <iostream>
#include <cstdlib>
 
struct player
{
int ships[10][10];
int hits[10][10];
};
 
int main(){
    player p;
    memset(p.ships,0,sizeof(int)*10*10);
    memset(p.hits,0,sizeof(int)*10*10);
 
    std::cout<<"p.ships:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.ships[i][j]<<" ";
        }std::cout<<"\n";
    }
    std::cout<<"p.hits:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.hits[i][j]<<" ";
        }std::cout<<"\n";
    }
 
    system("pause");
    return 0;
}
Добавлено через 2 минуты
И еще вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(){
    player p={0};
 
    std::cout<<"p.ships:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.ships[i][j]<<" ";
        }std::cout<<"\n";
    }
    std::cout<<"p.hits:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.hits[i][j]<<" ";
        }std::cout<<"\n";
    }
 
    system("pause");
    return 0;
}
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
02.11.2012, 12:23  [ТС]     Обнуление матрицы в структуре #3
Огромное спасибо... Как всегда выручили... Пытаюсь написать морсой бой... Растановку кораблей сделал, карта без структуры отлично работает а вот в структуре на пустых полях буква М вылазила постоянно))

Добавлено через 10 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
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
#include <iostream>
#include <cstdlib>
 
struct player
{
int ships[10][10];
int hits[10][10];
};
 
int main(){
    player p;
    memset(p.ships,0,sizeof(int)*10*10);
    memset(p.hits,0,sizeof(int)*10*10);
 
    std::cout<<"p.ships:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.ships[i][j]<<" ";
        }std::cout<<"\n";
    }
    std::cout<<"p.hits:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.hits[i][j]<<" ";
        }std::cout<<"\n";
    }
 
    system("pause");
    return 0;
}
Добавлено через 2 минуты
И еще вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(){
    player p={0};
 
    std::cout<<"p.ships:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.ships[i][j]<<" ";
        }std::cout<<"\n";
    }
    std::cout<<"p.hits:\n";
    for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                std::cout<<p.hits[i][j]<<" ";
        }std::cout<<"\n";
    }
 
    system("pause");
    return 0;
}
Я решил попробывать просто прписать player human = {0}; и все заработало)) Или так нельзя делать?
-=ЮрА=-
Заблокирован
Автор FAQ
02.11.2012, 12:34     Обнуление матрицы в структуре #4
SAUtrade,
просто сделай так

C++
1
2
3
4
player pPlayer = {0};
//либо
player pPlayer;
memset(&pPlayer,0,sizeof(pPlayer));// но вариант с {0} лично для меня выглядит проще
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11807 / 6786 / 767
Регистрация: 27.09.2012
Сообщений: 16,839
Записей в блоге: 2
Завершенные тесты: 1
02.11.2012, 12:43     Обнуление матрицы в структуре #5
Цитата Сообщение от SAUtrade Посмотреть сообщение
Я решил попробывать просто прписать player human = {0}; и все заработало)) Или так нельзя делать?
Как нельзя? У меня во втором варианте именно так и делается
C++
1
player p={0};
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
02.11.2012, 12:44  [ТС]     Обнуление матрицы в структуре #6
Цитата Сообщение от Croessmah Посмотреть сообщение
Как нельзя? У меня во втором варианте именно так и делается
C++
1
player p={0};
Я имел ввиду без циклов)))
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11807 / 6786 / 767
Регистрация: 27.09.2012
Сообщений: 16,839
Записей в блоге: 2
Завершенные тесты: 1
02.11.2012, 12:45     Обнуление матрицы в структуре #7
Цитата Сообщение от SAUtrade Посмотреть сообщение
Я имел ввиду без циклов)))
да там циклы просто выводят на экран массивы =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 12:47     Обнуление матрицы в структуре
Еще ссылки по теме:

Обнуление элемента матрицы C++
C++ Обнуление указателя в рекурсии
C++ Обнуление столбцов матрицы

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

Или воспользуйтесь поиском по форуму:
SAUtrade
13 / 13 / 1
Регистрация: 21.10.2012
Сообщений: 140
02.11.2012, 12:47  [ТС]     Обнуление матрицы в структуре #8
Цитата Сообщение от Croessmah Посмотреть сообщение
да там циклы просто выводят на экран массивы =)
Я понял после написания сообщения)) спс...
Yandex
Объявления
02.11.2012, 12:47     Обнуление матрицы в структуре
Ответ Создать тему
Опции темы

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