Перемножение матриц

  • Автор темы Kot
  • Дата начала
K
#1
Дело вот в чем.
Это моя программа
Код:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

void main()
{
clrscr();
int i,j;
int A[100][100];
int B[100][100];
int C[100][100];

randomize();
for ( i=0;i<100;i++) {
for ( j=0;j<100;j++) {
A[i][j]=random(100);
}
}
for ( i=0;i<100;i++) {
for ( j=0;j<100;j++) {
B[i][j]=random(100);
}
}
for ( i=0;i<100;i++) {
for ( j=0;j<100;j++) {
C[i][j]= A[i][j]*B[i][j];

printf("%d\t",C[i][j]);}
}
getch();

}
Мне надо также перемножить матрицы но чтоб они были не 100х100 а 1000х1000. Подскажите плиз как это сделать.
 
E

eReS

#2
Опиши константу, и кругом где встречается 100 замени на нее.
Код:
const int NUMBER = 1000;
чтоб было типа:
Код:
int A[NUMBER][NUMBER];
int B[NUMBER][NUMBER];
int C[NUMBER][NUMBER];

randomize();
for ( i=0;i<NUMBER;i++) {
for ( j=0;j<NUMBER;j++) {
A[i][j]=random(NUMBER);
//.....
Так ты быстро сможешь менять значение по всем коде...
 
K
#3
Проблема не в том чтоб заменить 100 на 1000, а в том что когда я это делаю мне пишет что размер слишком велик.
 
Z

zeus

#6
Проблема не в том чтоб заменить 100 на 1000, а в том что когда я это делаю мне пишет что размер слишком велик.
Ну дык все верно, ведь стек не резиновый))) а вы что не знаете про то, что все локальные переменные хранятся в стеке?
Используйте команды new и delete, из кучи можно много памяти брать)))