Witam. Chciałbym aby ktos uprzejmy i chetny pomogl laikowi w dopieszczeniu/poprawieniu kodu. (jak sama nazwa tematu wskazuje, chodzi mi o transponowanie macierzy)
Oto kodziki:
nie wiem ktory lepszy i czytelniejszy oraz bardziej poprawny...
#include<iostream>
using namespace std;
int main()
{
int n, m;
cout << "Liczba wierszy: ";
cin >> n;
cout << "Liczba kolumn: ";
cin >> m;
double macierz[n][m];
double macierzT[m][n];
for(int i = 0; i < n; i++) //wstawianie danych
{
for(int j = 0;j < m; j++)
{
cout << "Wyraz [" << i << "][" << j << "]: ";
cin >> macierz[i][j];
}
}
for(int i = 0; i < n; i++) //transponowanie macierzy
{
for(int j = 0;j < m; j++)
macierzT[j][i]=macierz[i][j];
}
cout << "Macierz:" << endl;
for(int i = 0; i < n; i++) //wyswietlanie macierzy
{
for(int j = 0;j < m; j++)
{
cout << macierz[i][j] << " ";
}
cout << endl;
}
cout << endl;
cout << "Macierz transponowana:" << endl;
for(int i = 0; i < m; i++) //wyswietlanie macierzy transponowanej
{
for(int j = 0;j < n; j++)
{
cout << macierzT[i][j] << " ";
}
cout << endl;
}
system("PAUSE");
return 0;
}
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int **pTabA,**pTabT,m,n;
//----------wczytanie macierzy----------
cout<<"Podaj rozmiar(mxn) macierzy A:\n";
cout<<"ilosc wierszy: ";
cin>>m;
cout<<"ilosc kolumn: ";
cin>>n;
pTabA = new int*[m];
for(int i=0;i<m;i++)
{
pTabA[i] = new int[n];
}
pTabT = new int*[n];
for(int i=0;i<n;i++)
{
pTabT[i] = new int[m];
}
cout<<"Powstala macierz A o wymiarach "<<m<<" na "<<n<<"\n\n";
cout<<"Zainicjalizuj macierz A wartosciami\n";
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cout<<"Podaj wartosc dla wspolrzednych "<<i<<" "<<j<<": ";
cin>>pTabA[i][j];
}
}
cout<<"\nMacierz przed transpozycja A = ";
for(int i=0;i<m;i++)
{cout<<"\n";
for(int j=0;j<n;j++)
{
cout<<pTabA[i][j]<<"\t";
}
}
//-----transpozycja macierzy-----
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
pTabT[j][i]=pTabA[i][j];
}
}
cout<<"\nMacierz transponowana A = ";
for(int i=0;i<n;i++)
{cout<<"\n";
for(int j=0;j<m;j++)
{
cout<<pTabT[i][j]<<"\t";
}
}
for(int i=0; i<m; i++)
delete [] pTabA[i];
delete []pTabA;
for(int i=0; i<n; i++)
delete [] pTabT[i];
delete []pTabT;
cout<<"\n\n";
system("pause");
return 0;
}
pozdrawiam i dziekuje z góry za pomoc