[C++] Program drukujący macierz

Jonarz
Użytkownik
Użytkownik
Posty: 120
Rejestracja: 2 paź 2013, o 22:16
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 32 razy
Pomógł: 11 razy

[C++] Program drukujący macierz

Post autor: Jonarz »

Chciałbym napisać program (dla poćwiczenia tablic), który drukuje wpisaną przez użytkownika macierz (na początek kwadratową). Problem polega na tym, że gdy np. wymiar jest 2x2 i wpiszę liczby 1, 2, 3, 4, to program zamiast wydrukować macierz
\(\displaystyle{ \left[\begin{array}{ccc}1&2\\3&4\end{array}\right]}\)
drukuje macierz
\(\displaystyle{ \left[\begin{array}{ccc}3&4\\3&4\end{array}\right]}\)

Problem leży zapewne w pierwszej pętli for, ale nie mogę znaleźć błędu...

Mój kod (kompiluję w Dev-Cpp):

Kod: Zaznacz cały

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
int N, i, j, a[N][N];
cout<<"Podaj wymiar macierzy (jeden, poniewaz macierz bedzie kwadratowa): ";
cin>>N;

for(i=0;i<N;i++)
	for(j=0;j<N;j++){
		cout<<"Podaj liczbe, ktora znajdzie sie na miejscu "<<i+1<<","<<j+1<<"
";
		cin>>a[i][j];
	}

cout<<"
Twoja macierz to:
";

for(i=0;i<N;i++){
	for(j=0;j<N;j++)
		cout<<a[i][j]<<"	";
	cout<<"
";
}
	
cout<<"

";
system("PAUSE");
    return EXIT_SUCCESS;
}
Chromosom
Moderator
Moderator
Posty: 10365
Rejestracja: 12 kwie 2008, o 21:08
Płeć: Mężczyzna
Podziękował: 127 razy
Pomógł: 1271 razy

[C++] Program drukujący macierz

Post autor: Chromosom »

Po pierwsze: rozmiar tablicy powinien być znany w momencie kompilacji - w innych przypadkach należy stosować tablice dynamiczne. Problem można rozwiązać, definiując np. tablicę rozmiaru \(\displaystyle{ 30\times30}\) i podając \(\displaystyle{ N}\).

Po drugie: zamiast pisać jeden wymiar, należy zastosować określenie jedna liczba określająca wymiar - Twoje stwierdzenie sugeruje, że macierz będzie jednowymiarowa, czyli że będzie wektorem.

Po zmianie kodu zgodnie z pierwszym punktem, program działa poprawnie.
Jonarz
Użytkownik
Użytkownik
Posty: 120
Rejestracja: 2 paź 2013, o 22:16
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 32 razy
Pomógł: 11 razy

[C++] Program drukujący macierz

Post autor: Jonarz »

Dziękuję bardzo za pomoc! Rzeczywiście wszystko już działa poprawnie.
ODPOWIEDZ