0 / 0 / 0
Регистрация: 24.06.2015
Сообщений: 7
1

Определить, сколько места занимают в динамической памяти заданные массивы

24.06.2015, 21:03. Показов 971. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с решением задач:1)Даны квадратные матрицы A, B и векторc. Элементы вектора и матрицы задаются случайным образом. Размерность матриц не ограничена (в рамках динамической памяти), задается с клавиатуры. Определить, сколько места занимают в динамической памяти данные массивы, а так же определить:A^T;

Добавлено через 8 часов 35 минут
помогите,пожалуйста!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2015, 21:03
Ответы с готовыми решениями:

Определить сколько места занимают в динамической памяти массивы
Помогите, пожалуйста, разобраться с динамическими массивами в PascalABC. Задание: Даны два вектора...

Определить сколько места занимают в динамической памяти следующие структуры
Определить сколько места занимают в динамической памяти переменные целого типа

Определить, сколько места занимает в динамической памяти данный массив
Даны квадратная матрица A. Элементы вектора и матрицы задаются случайным образом. Размерность...

Определить, сколько места занимает в динамической памяти переменная целого типа
Как определить сколько места занимает в динамической памяти переменная целого типа?

7
12 / 12 / 10
Регистрация: 24.06.2015
Сообщений: 83
24.06.2015, 21:31 2
Sizeof от типа умножить на кол-во в них элементов.

Добавлено через 16 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var A, B: array[,] of integer;
    C: array of integer;
    n,i,k: integer;
begin
 read(n);
 A:= new integer[n,n];
 B:= new integer[n,n];
 C:= new integer[n];
 for i:=0 to n-1 do
  for k:=0 to n-1 do begin
   A[i,k]:=random(0,100);
   B[i,k]:=random(0,100);
  end;
 for i:=0 to n-1 do
  C[i]:=random(0,100);
 writeln('Размер A в байтах: ',sizeof(integer)*A.Length);
 writeln('Размер B в байтах: ',sizeof(integer)*B.Length);
 writeln('Размер C в байтах: ',sizeof(integer)*C.Length);
end.
0
0 / 0 / 0
Регистрация: 24.06.2015
Сообщений: 7
24.06.2015, 22:02  [ТС] 3
нужно еще определить A^T
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.06.2015, 22:13 4
Цитата Сообщение от Top Посмотреть сообщение
нужно еще определить A^T
Это видимо транспонированная матрица.
Как ее делают, куча тем на форуме.
0
12 / 12 / 10
Регистрация: 24.06.2015
Сообщений: 83
25.06.2015, 11:55 5
Судя по Вики, матрицу нужно отразить по диагонали.
То есть: было:
1 2 3
4 5 6
7 8 9
Стало:
1 4 7
2 5 8
3 6 9
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.06.2015, 11:58 6
А траспонирование это конечно другое?
0
12 / 12 / 10
Регистрация: 24.06.2015
Сообщений: 83
25.06.2015, 12:31 7
Тоже самое. Я просто уточнил возможно непонятное слово "транспонирование".

Добавлено через 13 минут
Идёт запись A в линейный C, а потом из C в A, но уже в нужной последовательности.
Pascal
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
36
37
38
39
40
41
42
43
var A, B: array[,] of integer;
    C: array of integer;
    n,i,k,q: integer;
begin
 read(n);
 A:= new integer[n,n];
 B:= new integer[n,n];
 C:= new integer[n];
 for i:=0 to n-1 do
  for k:=0 to n-1 do begin
   A[i,k]:=random(100);
   B[i,k]:=random(100);
  end;
 for i:=0 to n-1 do
  C[i]:=random(0,100);
 writeln('Размер A в байтах: ',sizeof(integer)*A.Length);
 writeln('Размер B в байтах: ',sizeof(integer)*B.Length);
 writeln('Размер C в байтах: ',sizeof(integer)*C.Length);
 writeln;
 writeln('Матрица А:');
 for i:=0 to n-1 do begin
  for k:=0 to n-1 do
   write(A[i,k]:3);
  writeln;
 end;
 C:= new integer[A.Length];
 for i:=0 to n-1 do
  for k:=0 to n-1 do begin
   C[q]:=A[i,k]; q+=1; 
  end;
 q:=0;
 for i:=0 to n-1 do
  for k:=0 to n-1 do begin
   A[k,i]:=C[q]; q+=1; 
  end;
 writeln;
 writeln('Матрица А^T:');
 for i:=0 to n-1 do begin
  for k:=0 to n-1 do
   write(A[i,k]:3);
  writeln;
 end;
end.
Добавлено через 2 минуты
Пример вывода:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
5
Размер A в байтах: 100
Размер B в байтах: 100
Размер C в байтах: 20
 
Матрица А:
 61 98 78 97 53
 22 23 96 54 46
 72 68 71 68 59
 54 41 17 54 36
 93 71 60 80  0
 
Матрица А^T:
 61 22 72 54 93
 98 23 68 41 71
 78 96 71 17 60
 97 54 68 54 80
 53 46 59 36  0
0
0 / 0 / 0
Регистрация: 24.06.2015
Сообщений: 7
25.06.2015, 13:05  [ТС] 8
Спасибо огромное!!!!!Вы меня выручили!
0
25.06.2015, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2015, 13:05
Помогаю со студенческими работами здесь

Определить сколько места занимают в динамической памяти
Определить сколько места занимает в динамической памяти строка, содержащая 30 символов. Заранее...

Определить, сколько места занимает в динамической памяти массив
Заполнить массив целых чисел случайным образом. Размерность массива не ограничена (в рамках...

Сколько места занимают пустые файлы
Небольшая формочка без MySQL сохраняет короткие ответы прямо в одной из директорий на сайте. ...

Сколько места занимают снимки системы? Имеет ли смысл экономить?
Поделитесь своим опытом. Если просмотреть папку screenshots в папке виртуальной машины, там есть...


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

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

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