[c++] Dynamiczna tablica kwadratowa - program się kompiluje ale...

0

Witam

Piszę kod na inicjację macierzy kwadratowej za pomocą wskaźników oraz wypełnienie jej elementów.
Kod się kompiluje ale przy podaniu liczby wierszy macierzy wyskakuje poniższy komunikat:
" This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information. "

Proszę o nałożenie poprawek.

 
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <typeinfo>
#include <stdlib.h>

using namespace std;

void WczytajMacierz(double **A, int LiczbaWierszy, int LiczbaKolumn, string NazwaMacierzy)
{
	for (int i = 0; i < LiczbaWierszy; i++)
	{
		for (int j = 0; j < LiczbaKolumn; j++)
		{
			cout << NazwaMacierzy << "[" << i << "]" << "[" << j << "]=";
			cin >> A[i][j];
		}
	}
}

int main ()
{

// inicjacja macierzy a
    int LiczbaWierszy;
    int LiczbaKolumn;
    cout << "Podaj liczbe wierszy kwadratowej macierzy a" << endl;
	cin >> LiczbaWierszy;
	LiczbaWierszy = LiczbaKolumn;
    double **a = new double *[LiczbaWierszy];
    for (int i = 0; i < LiczbaWierszy; i++)
    {
        a[i] = new double [LiczbaKolumn];
    }
    
// wczytanie elementów macierzy a
    cout << "podaj elementy tablicy a"<<endl;
    WczytajMacierz(a, LiczbaWierszy, LiczbaKolumn, "a");
    
// zwolnienie macierzy a
	for (int i = 0; i < LiczbaWierszy; i++) // zwolnienie wierszy
  	{
  		delete[] a[i];
  	}
  	delete[] a; // zwolnienie tablicy wskaźników

    getche();
    return 0;
}

Pozdrawiam
Owad88

0

Zamień LiczbaWierszy = LiczbaKolumn; na LiczbaKolumn = LiczbaWierszy;

Na przyszłość używaj debuggera, bo przy jakimś większym programie nikt ci nie będzie szukał błędów.

0

Dobra robota!
W CodeBlocks jest Debugger :)

Pozdrawiam
Owad88

1 użytkowników online, w tym zalogowanych: 0, gości: 1