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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

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

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

Здрасти, функция
C++
1
int** CreateMatrix(int count_row,int count_col)
создает двумерный дин. массив, в качестве параметров-количество строк и столбцов.
А какое максимаоьное количество строк и столбцов можно вписать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 19:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Каким может быть максимальное число строк и столбцов матрицы (C++):

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

По каким причинам память не может быть выделена динамически? - C++
Что это могут быть за причины?

Вывести несколько строк, и проверить может ли этот текст быть классом - C++
Всем привет. Помогите плз решить задачку, только программа должна быть без указателей: Ввести несколько строк и проверить, может ли...

Вывести на экран номера столбцов матрицы, сумма которых превышает заданную величину, и число таких столбцов - C++
Всем привет!:) Прошу помощи в написании программы, а точнее доведении ее до ума. Условие следующее: Для матрицы из 3 строк и 7 столбцов...

Найти номера тех столбцов матрицы, сумма элементов которых превышает заданную величину, и число таких столбцов - C++
Для матрицы из 3 строк и 7 столбцов отпечатать номератех слобцов, сумма элементов которых превышает заданную величину,и число таких...

Выведите максимальное число покемонов, которых Баш может взять - C++
Баш отправился в путешествие, чтобы стать величайшим мастером Покемонов. Чтобы получить первого покемона, он отправился в лабораторию...

15
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
28.02.2010, 19:49 #2
А какое максимаоьное количество строк и столбцов можно вписать?
На сколько память хватит..


Это не единственная разновидность создания матрицы:
Вот пример другого прототипа подходящего для создания матрицы:
C++
1
HRESULT CreateMatrix(int ***matrix,const int H,const int W);
1
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 20:15  [ТС] #3
а если я введу например количество строк больше чем int?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
28.02.2010, 20:38 #4
Легко проверить: открой диспетчер задач после выделения памяти,
и посмотри сколько памяти занимает процесс.
Когда выделяешь много памяти это явно видно в диспетчере задач.

А насчет превышения значения int я не пробовал, ты попробуй с диспетчером Windows,
и посмотри что он покажет.
Если памяти выделится навалом, ты это увидишь в диспетчере.
1
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 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
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
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
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 21:15  [ТС] #7
Цитата Сообщение от Genius Ignat Посмотреть сообщение
а если я введу например количество строк больше чем int?
просто в универе задали посчитать сколько оперативки потребуется для программы, и вот если пользователь введет кол-во столбцов 3 а строк 5 то это один объем, а если 1000 на 1000 это уже другой, а может и вообще 50000000000 на 5000000000 вот и не знаю как посчитать,
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
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
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 21:26  [ТС] #9
Genius Ignat, а что мне писать в системных требованиях(в лабораторной)? сколько требуется оперативки для программы?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
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
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 21:34  [ТС] #11
а как узнать сколько места программа на харде занимает?

Добавлено через 20 секунд
просто правой кнопкой и свойства?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
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
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 21:41  [ТС] #13
Genius Ignat, я запутался) этот код для определения количества ОП или количества памяти на харде?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
28.02.2010, 21:41 #14
просто правой кнопкой и свойства?
Так конечно, хотя у меня проводник и при наведении мыши на файл exe, показывает размер
файла автоматически.
1
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
28.02.2010, 21:44  [ТС] #15
все, спасибо, теперь более менее понятно
0
28.02.2010, 21:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2010, 21:44
Привет! Вот еще темы с ответами:

Ошибка при вводе разного кол-ва строк и столбцов в матрицы. Динамич. матрицы/массивы - C++
Дана матрица, размерность вводит пользователь, данные тоже. Осуществить сортировку вставками, массива, который будет получен из суммы...

Сумма строк и столбцов матрицы - C++
Всем привет, посоветуйте пожалуйста что не так делаю, есть двумерный динамический массив-матрица, нужно записать в диагональ матрицы суму...

Перестановка местами строк и столбцов матрицы - C++
Помогите решить задачу: Дана матрица А(nxm).Получить матрицу, получающуюся из данной : перестановкой строк- первой с последней, второй с...

Написать алгоритм сортировки строк и столбцов матрицы - C++
Дано квадратную матрица размером 5х5, заполненную случайными числами. Используя один из алгоритмов сортировки, отсортировать: а) строки...


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

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

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