Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

13.03.2012, 00:34. Просмотров 887. Ответов 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 байта? Правильно?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2012, 00:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос размер матрицы (C++):

Размер матрицы - C++
Люди, помогите пожалуйста! У меня есть задание: создать библиотеку функций для работы с матрицами. Можно ли сделать ,так что в...

Задать размер матрицы - C++
Здравствуйте. Хочу задать размер матрицы примерно вот так (так нельзя, естественно): #include &lt;iostream&gt; #include &lt;string&gt; #include...

Размер vs. размерность матрицы - C++
Вопрос скорее теоретический. Чем отличается размер матрицы от размерности? И как правильно спрашивать пользователя в программе: &quot;Введите...

Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо - C++
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки.. размер матрицы 7х7.заранее...

Найти минимальный размер матрицы размером m x n - C++
Помогите, пожалуйста! Программа считывает размеры матрицы, рандомно генерирует значения ее членов и из них ищет минимальный. В 18-й...

Как задать размер матрицы в конструкторе класса? - C++
Подскажите как задать размер матрицы в конструкторе класса? Решаю задачи из учебника, не могу понять, думаю это невозможно... Р. Лафоре...

10
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;
}
0
Миниатюры
размер матрицы  
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.03.2012, 00:46  [ТС] #3
Infinity3000, и?
в примере выше выдает 12...

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

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

а все матрица - 20 байт! и такое бывает!
0
Миниатюры
размер матрицы  
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.03.2012, 18:33 #9
Цитата Сообщение от Mayonez Посмотреть сообщение
ну это я понимаю, а вот что в векторе не так? может, там что-то с указателями?
Вектор - это класс. У него есть свои приватные переменные, которые тоже что-то весят. А память под матрицу вообще выделяется динамически, она не учитывается при sizeof.
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.03.2012, 18:38 #10
Mayonez, ну вообще размер памяти так определяется http://liveworkspace.org/code/b228ae09d31995cdfd7e38a71db041dc
sizeof не определишь, вы же не знаете, как создавался этот класс.
2
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
13.03.2012, 18:45  [ТС] #11
go, о, вот это я и хотел услышать(прочитать))!
0
13.03.2012, 18:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2012, 18:45
Привет! Вот еще темы с ответами:

помогите сделать: подпрограмма считывает размер матрицы из первого файла и передает его во второй? - C++
не могли бы вы подделиться ссылкой на пример,где подпрограмма считывает размер матрицы из первого файла и передает его во второй? заранее...

С клавиатуры вводится размер матрицы и сама матрица. Найти в матрице строку с максимальной суммой и отсортиров - C++
С клавиатуры вводится размер матрицы и сама матрица. Найти в матрице строку с максимальной суммой и отсортировать

Зачем при передаче матрицы в функцию, передавать вторым аргументом её размер, если в первом он уже указан? - C++
Добрый день господа.Объясните пожалуйста почему при вызове функции f() В левый индекс ничего не засовывается и для чего нужен правый...

Ввести размер массива с клавиатуры и передать этот размер в конструктор - C++
Я создал массив объектов. И я хочу ввести размер этого массива с клавиатуры, и передать этот размер в конструктор, как мне это сделать? ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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