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

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

03.05.2010, 18:46. Показов 5677. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем!!!Помогите пожалуйста, нужно написать код программы на следующую задачу:

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

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

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

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

Заранее Спасибо!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2010, 18:46
Ответы с готовыми решениями:

Представление в памяти массивов и матриц
Помогите решить эту задачу в С++ Для разряженной матрицы целых чисел в соответствии с...

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

Представление в памяти массивов и матриц
Для разряженной матрицы целых чисел создать модуль доступа к ней: -все нулевые элементы размещены...

Задача по представлению в памяти массивов и матриц. Системное программирование
Существенные сложности в задаче. Прошу помочь в написании кода Для разряженной матрицы целых...

8
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.05.2010, 18:58 2
Как я понял, требуется динамически создать двумерный массив, и заполнить правый и нижний треугольник нулями, а остальное случайными числами, и вывести матрицу на экран, так?
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 19:01  [ТС] 3
Да, вы правильно поняли!!!
только нужно на экране прежде вводить любой размер матрицы
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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;
}
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 19:23  [ТС] 5
Спасибо, сейчас попробую!!!
извините, а в начале не надо вводить #include <iostream.h> и т.д., т.е. ...h не надо вводить???
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.05.2010, 19:24 6
Попробуйте, не знаю как у вас, у меня компиляция без проблем прошла)
1
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++
ПОмогите пожалуйста???
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
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;
}
1
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 5
03.05.2010, 20:13  [ТС] 9
M128K145, Огромное Спасибо Вам!!!Получилось!!!!
и Вас благодарю, Neske!!!
0
03.05.2010, 20:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2010, 20:13
Помогаю со студенческими работами здесь

Исправить n. Представление матриц векторами
Приветствую вас, форумчане! Помогите исправить ошибку, пожалуйста. #include &lt;iostream&gt; #include...

Представление чисел в памяти!
нужна сделать реализацию числа в памяти получилось для одного числа, а как сделать для нескольких,...

Представление класса в памяти
Всем доброго времени суток! Подскажите ка,как класс представляется в памяти?и как представляется...

Представление памяти, указатели
Доброго времени суток, форумчане. Практика языка и программирования уже есть, но всё на начальном...


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

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