zamiana kolumn z wierszami 2wymiarowa tabela

0

A wiec napisalem program co pobiera 20 liczb do 2wymiarowej tabeli i je wypisuje w 2 wierszach 10 kolumnach teraz chce zamienic wiersze z kolumnami w tabeli , robil to analogicznie co do tabeli 1 wymiarowej lecz w tym przypadku nie dziala

 #include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;


int main() 
{

	int liczby[2][10];
int b;
cout << "Witamy na pokladzie, " <<endl; 
for (int i=0;i<2;i++){
for (int j=0;j<10;j++){

cout<<"Podaj liczbe"<<endl;
cin>>b;

liczby[i][j]=b;

}
}
for(int i=0;i<2;i++){
for (int j=0;j<10;j++){
	

cout<<liczby[i][j]<<" " ;

}
cout<<"\n";
}
for (int i=0;i<2;i++){
	for (int j=0;j<10;j++){
	b=liczby[i][j];
	liczby[i][j]=liczby[j][i];
	liczby[j][i]=b;
	
}
}
for(int i=0;i<2;i++){
for (int j=0;j<10;j++){
	

cout<<liczby[i][j]<<" " ;

}
cout<<"\n";
}
getch();
return 0;

}
0

Rozważ przypadek i=1, j=5 w ostatnich pętlach. Wychodzisz poza tablicę, bo masz coś takiego:
liczby[i][j] = liczby[j][i];
czyli:
liczby[1][5] = liczby[5][1];

0

w zeszycie mam tak

zmienna=c[i][j];
c[i][j]=c[j][i];
c[j][i]=zmienna; 

i podobno ma tak byc

1

Ten sposób zadziała jedynie dla tablic kwadratowych (czyli np. 10x10).

0

aj no tak czyli musze kwadratowa miec bo wyjde za nia,a mozna jakos w inny sposob zamienic wiersze z kolumnami 2x10

0

Trzeba utworzyć nową tablicę odpowiednich wymiarów, albo ręcznie alokować pamięć (to raczej nie na początek).

0

chcialem zrobic z tego funkcje i przy kompilacji wyskakuje blad undeclared identifier

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;

void tablica(int liczby[2][10]);
int main() 
{
int tablica(liczby);
	

getch();
return 0;

}
void tablica(int liczby[2][10]){

int b;
cout << "Witamy na pokladzie, " <<endl; 
for (int i=0;i<2;i++){
for (int j=0;j<10;j++){

cout<<"Podaj liczbe"<<endl;
cin>>b;

liczby[i][j]=b;

}
}
int suma=0;
for(int i=0;i<2;i++){
for (int j=0;j<10;j++){
	
cout<<liczby[i][j]<<" " ;
suma=liczby[i][j]+suma;

}
cout<<"\n";
cout<<suma;
}
} 

poprawilem

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