Witajcie
Robię sobie zadanko w którym po podaniu do tablicy 2 wymiarowej danych podaje ktore wiersze maja byc zamienione miejscami. Występuje problem podczas dojścia do próby koiowania tych komorek w funkcji, ale nie wykazuje żadnych error'ow podczas kompilacji. Wiecie dlaczego tak sie dzieje?
Wklejam programik i wszystko sie kompiluje. Proszę o pomoc.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int sum_przek(int **tab,int a)
{
int i,j;
int wyn=0;
int d=1;
for(i=0;i<a;i++)
{
for(j=d;j<a;j++)
{
wyn+=tab[i][j];
}
d++;
}
return wyn;
}
void wczytaj_dane(int **tab,int a,int b)
{
int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
printf("Podaj liczbe do wczytania:\n");
scanf("%d",&tab[i][j]);
}
}
printf("\n");
}
void wypisz(int **tab,int a,int b)
{
int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
//printf("\t");
printf("%3d",tab[i][j]);
}
printf("\n");
}
}
void zam_wiersze(int **tab,int a,int b,int **wsk,int &x1,int &x2)
{
int i,j;
for(i=0;i<b;i++)
{
wsk[0][i]=tab[x1][i]; //kopiowanie wybranego wiersza
wsk[1][i]=tab[x2][i];
}
for(j=0;j<b;j++)
{
//kopiowanie po zamianie
tab[x1][i]=wsk[1][i];
tab[x2][i]=wsk[0][i];
}
wypisz(tab,a,b);
printf("\n");
}
int main()
{
int a,b,i,j,**tab,**wsk,x1,x2;
int wynik; //zmienna przechowujaca wartosc sumy prezkatnej
printf("Podaj wymiar A i B:");
scanf("%d %d",&a,&b);
tab=new int*[a]; //tablica 2 wymiarowa
wsk=new int*[2]; //wzkaznik do tablicy pomocniczej
for(j=0;j<2;j++)
{
wsk[j]=new int[b];
}
for(i=0;i<a;i++)
{
tab[i]=new int[b];
}
wczytaj_dane(tab,a,b);
wypisz(tab,a,b);
printf("Podaj ktore wiersze chcesz zamienic:");
scanf("%d %d",&x1-1,&x2-1);
printf("\n");
zam_wiersze(tab,a,b,wsk,x1,x2);
//wynik=(sum_przek(tab,a));
//printf("Suma przekatnej wynosi: %d\n",wynik);
system("pause");
delete []tab;
return EXIT_SUCCESS;
}