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

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

Войти
Регистрация
Восстановить пароль
 
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

размер матрицы - C++

13.03.2012, 00:34. Просмотров 823. Ответов 10
Метки нет (Все метки)

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
#include <iostream>
#include <vector>
#include <stack>
 
using namespace std;
 
typedef vector<int  > T_vec;
typedef vector<T_vec> T_mtr;
 
enum {EMPTY, POINT, NOTBOARD};
 
const int SIZE = 9;
 
int main()
{
    T_mtr board(SIZE, T_vec(SIZE, NOTBOARD));
    for(int i = 0; i < 3; i++)
        for(int j = 0; j < SIZE; j++)
        {
            board[3+i][j] = POINT;
            board[j][3+i] = POINT;
        }
    board[4][4] = EMPTY;
    
    cout << sizeof board << endl;
    
    return 0;
}
оператор sizeof выдает 12. Как узнать сколько занимает данная матрица 9х9?
int - 4 байта, значит вся матрица 81х4 = 324 байта? Правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2012, 00:34     размер матрицы
Посмотрите здесь:

C++ Размер матрицы
C++ Размер vs. размерность матрицы
C++ помогите сделать: подпрограмма считывает размер матрицы из первого файла и передает его во второй?
Ввести размер массива с клавиатуры и передать этот размер в конструктор C++
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо C++
С клавиатуры вводится размер матрицы и сама матрица. Найти в матрице строку с максимальной суммой и отсортиров C++
C++ Как задать размер матрицы в конструкторе класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
13.03.2012, 00:41     размер матрицы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "iostream"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    int mas[9][9] = {0};
 
    std::cout << sizeof(mas);
 
    system("pause >> null");
    return 0;
}
Миниатюры
размер матрицы  
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.03.2012, 00:46  [ТС]     размер матрицы #3
Infinity3000, и?
в примере выше выдает 12...

Добавлено через 28 секунд
почему?
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
13.03.2012, 00:47     размер матрицы #4
Вы спрасили

Цитата Сообщение от Mayonez Посмотреть сообщение
значит вся матрица 81х4 = 324 байта? Правильно?
Я показал что правильно!!
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.03.2012, 00:49  [ТС]     размер матрицы #5
ну это я понимаю, а вот что в векторе не так? может, там что-то с указателями?
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
13.03.2012, 00:50     размер матрицы #6
Цитата Сообщение от Mayonez Посмотреть сообщение
оператор sizeof выдает 12
У меня выдает 20) Интересно!
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
13.03.2012, 01:07     размер матрицы #7
Странно, матрица 9х9 заполняется! все четко! но занимает 20 байт!
Миниатюры
размер матрицы  
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
13.03.2012, 18:24     размер матрицы #8
Хотя каждый элемент матрицы занимает по 4 байта. (см. вложение)

а все матрица - 20 байт! и такое бывает!
Миниатюры
размер матрицы  
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.03.2012, 18:33     размер матрицы #9
Цитата Сообщение от Mayonez Посмотреть сообщение
ну это я понимаю, а вот что в векторе не так? может, там что-то с указателями?
Вектор - это класс. У него есть свои приватные переменные, которые тоже что-то весят. А память под матрицу вообще выделяется динамически, она не учитывается при sizeof.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.03.2012, 18:38     размер матрицы #10
Mayonez, ну вообще размер памяти так определяется http://liveworkspace.org/code/b228ae...7e38a71db041dc
sizeof не определишь, вы же не знаете, как создавался этот класс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2012, 18:45     размер матрицы
Еще ссылки по теме:

Задать размер матрицы C++
C++ Зачем при передаче матрицы в функцию, передавать вторым аргументом её размер, если в первом он уже указан?
Найти минимальный размер матрицы размером m x n C++

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

Или воспользуйтесь поиском по форуму:
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.03.2012, 18:45  [ТС]     размер матрицы #11
go, о, вот это я и хотел услышать(прочитать))!
Yandex
Объявления
13.03.2012, 18:45     размер матрицы
Ответ Создать тему
Опции темы

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