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

Представление в памяти массивов и матриц - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
Nazarbek
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 18:46     Представление в памяти массивов и матриц #1
Здравствуйте всем!!!Помогите пожалуйста, нужно написать код программы на следующую задачу:

Цель работы – получение практических навыков в использовании указателей и динамических объектов в языке C, С++ создание модульных программ и обеспечение инкапсуляции.

1.1 Постановка задачи и варианты заданий
Сформировать разреженную матрицу целых чисел в соответствии с выбранным вариантом задания и создать модуль доступа к ней, в котором следует обеспечить экономию памяти при размещении данных. Способ индексации выбрать самостоятельно.

Вариант 1: Матрица поделена диагоналями на 4 треугольника, элементы правого и нижнего треугольников нулевые.

в результате я ввожу любой размер матрицы и программа должна вывести сразу результат варианта1

Заранее Спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2010, 18:46     Представление в памяти массивов и матриц
Посмотрите здесь:

C++ представление в памяти компютера double
C++ Представление в памяти массивов и матриц
Представление в памяти массивов и матриц C++
Представление класса в памяти C++
C++ Представление памяти, указатели
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,693
03.05.2010, 18:58     Представление в памяти массивов и матриц #2
Как я понял, требуется динамически создать двумерный массив, и заполнить правый и нижний треугольник нулями, а остальное случайными числами, и вывести матрицу на экран, так?
Nazarbek
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 19:01  [ТС]     Представление в памяти массивов и матриц #3
Да, вы правильно поняли!!!
только нужно на экране прежде вводить любой размер матрицы
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,693
03.05.2010, 19:19     Представление в памяти массивов и матриц #4
Ну вот, вроде.
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
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main()
{
    int row,column;
    std::cout << "Input number row: ";
    std::cin >> row;
    std::cout << "Input number column: ";
    std::cin >> column;
 
    int **MAS = new int *[row];
    for (int i = 0; i < row; i++)
    MAS[i] = new int [column];
 
    srand(time(NULL));
    std::cout << std::endl << "Matrix:\n";
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<column; j++)
        {
            if (((i<j) && (i+j>=row)) || ((i>j) && (i+j>=row))) MAS[i][j]=0; // проверка.
            else MAS[i][j]=rand()%9+1; // иначе заполняем случайным числом.
            std::cout << std::setw(3) << MAS[i][j];
        }
    std::cout << std::endl;
    }
 
    for (int i = 0; i < row; i++) // освобождаем память.
    delete []MAS[i];
    delete []MAS;
    return 0;
}
Nazarbek
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 19:23  [ТС]     Представление в памяти массивов и матриц #5
Спасибо, сейчас попробую!!!
извините, а в начале не надо вводить #include <iostream.h> и т.д., т.е. ...h не надо вводить???
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,693
03.05.2010, 19:24     Представление в памяти массивов и матриц #6
Попробуйте, не знаю как у вас, у меня компиляция без проблем прошла)
Nazarbek
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 19:38  [ТС]     Представление в памяти массивов и матриц #7
У меня выдал следующие ошибки:
"Type qualifier 'std' must be a struct or class name"
"Statement missing"
"Function 'srand' should have a prototype"
"Function 'time' should have a prototype"
"Multiple declaration for 'i'"
"Function 'rand' should have a prototype"

Я не знаю что это может значить, возможно программа на написана на С??
Я ввожу в Turbo C++
ПОмогите пожалуйста???
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
03.05.2010, 19:56     Представление в памяти массивов и матриц #8
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
#include <iostream.h>
#include <iomanip.h>
#include <time.h>
#include <stdlib.h>
 
int main()
{
    int row, column, i, j;
    cout << "Input number row: ";
    cin >> row;
    cout << "Input number column: ";
    cin >> column;
 
    int **MAS = new int *[row];
    for (i = 0; i < row; i++)
    MAS[i] = new int [column];
 
//    srand(time(NULL));
    cout << endl << "Matrix:\n";
    for (i=0; i<row; i++)
    {
    for (j=0; j<column; j++)
    {
        if (((i<j) && (i+j>=row)) || ((i>j) && (i+j>=row))) MAS[i][j]=0; // проверка.
        else MAS[i][j]=rand()%9+1; // иначе заполняем случайным числом.
        cout << setw(3) << MAS[i][j];
    }
    cout << endl;
    }
 
    for (i = 0; i < row; i++) // освобождаем память.
    delete []MAS[i];
    delete []MAS;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2010, 20:13     Представление в памяти массивов и матриц
Еще ссылки по теме:

C++ Представление чисел в памяти!
C++ Внутреннее представление числа в памяти
C++ Исправить n. Представление матриц векторами

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

Или воспользуйтесь поиском по форуму:
Nazarbek
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 20:13  [ТС]     Представление в памяти массивов и матриц #9
M128K145, Огромное Спасибо Вам!!!Получилось!!!!
и Вас благодарю, Neske!!!
Yandex
Объявления
03.05.2010, 20:13     Представление в памяти массивов и матриц
Ответ Создать тему
Опции темы

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