ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
1

Каким может быть максимальное число строк и столбцов матрицы

28.02.2010, 19:12. Показов 2045. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здрасти, функция
C++
1
int** CreateMatrix(int count_row,int count_col)
создает двумерный дин. массив, в качестве параметров-количество строк и столбцов.
А какое максимаоьное количество строк и столбцов можно вписать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2010, 19:12
Ответы с готовыми решениями:

Java2 может ли целое число быть представлено каким-либо произведением цифр, входящих в это число
Разбираю задачу..... Есть код, но некоторые моменты мне не понятны...... Определить функцию для...

Каким может быть максимальное значение x, при котором существует хотя бы одно значение a, удовлетворяющее условиям
Коля -- очень любознательный юноша. Он решил провести исследование. Для различных действительных...

Каким может быть натуральное число N, при котором уравнение 1/x - 1/y = 1/N имеет единственное решение
Каким может быть натуральное число N? 8? 43? или 210? при котором уравнение 1/x - 1/y = 1/N имеет...

Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел
Найти максимальное число, меньшее заданного, которое может быть представлено как сумма степеней 2,...

15
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 19:49 2
А какое максимаоьное количество строк и столбцов можно вписать?
На сколько память хватит..


Это не единственная разновидность создания матрицы:
Вот пример другого прототипа подходящего для создания матрицы:
C++
1
HRESULT CreateMatrix(int ***matrix,const int H,const int W);
1
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 20:15  [ТС] 3
а если я введу например количество строк больше чем int?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 20:38 4
Легко проверить: открой диспетчер задач после выделения памяти,
и посмотри сколько памяти занимает процесс.
Когда выделяешь много памяти это явно видно в диспетчере задач.

А насчет превышения значения int я не пробовал, ты попробуй с диспетчером Windows,
и посмотри что он покажет.
Если памяти выделится навалом, ты это увидишь в диспетчере.
1
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
28.02.2010, 20:46 5
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Вот пример другого прототипа подходящего для создания матрицы:
C++
1
HRESULT CreateMatrix(int ***matrix,const int H,const int W);
Genius Ignat, const перед H и W совершенно ни к чему.
Даже если внутри функции изменить их значения, это не повлияет на переменные, переданные вызывающей функцией.
1
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 20:58 6
а если я введу например количество строк больше чем int?
А зачем тебе столько.
Если хочешь больше чем int используй тип больше допустим такой:
C++
1
typedef unsigned __int64 QWORD;
Добавлено через 9 минут
Даже если внутри функции изменить их значения, это не повлияет на переменные, переданные вызывающей функцией.
CyBOSSeR:
Может надо что бы переменные(локальные параметры) не меняли своего значения,
но в моем примере, const конечно ни к чему, тем более в такой простой функции.

C++
1
2
3
4
5
6
7
8
9
10
11
void f(const int a);
int main(){
 
 
return 0;
}
void f(const int a){
a++;  //ошибка.
//Параметр изменить нельзя, внутренний параметр используется только для чтения.
 
}
Может и в этом необходимость бывает...

В основном const используется что бы массивы в вызывающей функции не менялись(чтение) так
как массивы всегда передаются по адресу.
1
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 21:15  [ТС] 7
Цитата Сообщение от Genius Ignat Посмотреть сообщение
а если я введу например количество строк больше чем int?
просто в универе задали посчитать сколько оперативки потребуется для программы, и вот если пользователь введет кол-во столбцов 3 а строк 5 то это один объем, а если 1000 на 1000 это уже другой, а может и вообще 50000000000 на 5000000000 вот и не знаю как посчитать,
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 21:24 8
Genius Ignat, const перед H и W совершенно ни к чему.
Даже если внутри функции изменить их значения, это не повлияет на переменные, переданные вызывающей функцией.
Уж на такие вещи пусть начинающие смотрят, если им интересно:
все параметры это l -value и при вызове происходит присваивание им значений: "гипнотически" продолжение кода: то есть при вызове: f(d); //происходит следующее const int a = d;

Я Функцию всегда вижу как продолжение кода
(с отделением блоком кода, что бы не было
возможного совпадения имен).
При входе в блок память выделятся а при выходе освобождается, всё по закону стека: LIFO.

Добавлено через 5 минут
50000000000
Измерить так: size*sizeof(тип матрицы);

Добавлено через 21 секунду
Размер в байтах
1
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 21:26  [ТС] 9
Genius Ignat, а что мне писать в системных требованиях(в лабораторной)? сколько требуется оперативки для программы?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 21:31 10
#include <iostream.h>
C++
1
2
3
4
5
6
7
8
9
10
11
int main(){
int H;
int W;
cout<<"input H\t";cin>>H;
cout<<"input W\t";cin>>W;
 
//вычисляем сколько байт потребуется для хранения матрицы:
cout<<H*W*sizeof(int);
cout<<'\n';
return 0;
}
1
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 21:34  [ТС] 11
а как узнать сколько места программа на харде занимает?

Добавлено через 20 секунд
просто правой кнопкой и свойства?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 21:39 12
typedef unsigned __int64 QWORD;
Это лучше не используй.
так как cin и cout работать с этим типом не будут

Используй long double для больших расчетов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
int main(){
long double H;
long double W;
cout<<"input H\t";cin>>H;
cout<<"input W\t";cin>>W;
 
 
long double memory = H*W*sizeof(int);
cout<<memory<<'\n';
return 0;
}
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 21:41  [ТС] 13
Genius Ignat, я запутался) этот код для определения количества ОП или количества памяти на харде?
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 21:41 14
просто правой кнопкой и свойства?
Так конечно, хотя у меня проводник и при наведении мыши на файл exe, показывает размер
файла автоматически.
1
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
28.02.2010, 21:44  [ТС] 15
все, спасибо, теперь более менее понятно
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
28.02.2010, 21:46 16
Genius Ignat, я запутался) этот код для определения количества ОП или количества памяти на харде?
ОП.

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

Добавлено через 1 минуту
Так конечно, хотя у меня проводник и при наведении мыши на файл exe, показывает размер
файла автоматически.
ЧТо то не в тему ляпнул.
0
28.02.2010, 21:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2010, 21:46
Помогаю со студенческими работами здесь

Какое максимальное число строк может обработать Fasm?
Столкнулся с глюком набрал много 3240 строк в fasm. И произошел глюк. Прога запустилась но...

Для матрицы из 6 строк и 5 столбцов отпечатать номера тех строк, сумма элементов которых кратна заданной величине, и число таких строк.
Для матрицы из 6 строк и 5 столбцов отпечатать номера тех строк, сумма элементов которых кратна...

Можно ли построить формулу динамического диапазона, когда число строк и столбцов может меняться
Я хочу создать динамический именованный диапазон для поиска условий для диапазона Критерии, который...

Каким может быть исполнитель?
Наверное каждый из нас, слушая песню, начинает представлять исполнителя. К вашему вниманию...


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

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

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