Witam!
mam do napisania program(a właściwie miałem), w którym powinna znaleźć się dynamiczna alokacja tablic i po wprowadzeniu do niej jakiś wartości posortować wg pierwszej kolumny,ale przenosząc cały wiersz gdy zamieniało. na tablicy 2 wymiarowej działa. ale muszę zrobić tak, żeby niezaleźnie od tego, jaki będzie rozmiar tej tablicy, zawsze sortowało wg 1 kolumny a przenosiło całe wiersze.
podaje kod tego co do tej pory zmajstrowałem :) mam nadzieję, że ktoś mi pomoże.
#include <iostream.h>
void wczytaj(int rozm1, int rozm2, int **tab)
{
for(int i = 0; i<rozm1;i++)
for(int j = 0; j<rozm2;j++)
cin>>tab[i][j];
}
void sortuj(int rozm1, int rozm2, int **tab)
{
int flaga,x,y;
flaga=1;
while (flaga)
{
flaga=0;
for(int i=0;i<rozm1-1;i++)
{
for (int j=0;j<rozm2-1;j++)
if (tab[i][j]>tab[i+1][j])
{
x=tab[i+1][0];
y=tab[i+1][1];
tab[i+1][0]=tab[i][0];
tab[i+1][1]=tab[i][1];
tab[i][0]=x;
tab[i][1]=y;
flaga=1;
}
}
}
}
void wypisz(int rozm1, int rozm2, int **tab)
{
for(int i = 0; i<rozm1;i++)
{
for(int j=0;j<rozm2;j++)
cout << tab[i][j];
cout<<endl;
}
}
void main()
{
int rozm1,rozm2;
cout<<"Ile wierszy ma miec tabela? \n";
cin>>rozm1;
cout<<"Ile kolumn ma miec tabela? \n";
cin>>rozm2;
int **tab = new int *[rozm1];
for (int i=0;i<rozm1;i++)
tab[i]=new int[rozm2];
wczytaj(rozm1,rozm2,tab);
cout<<"Nie posortowane: \n";
wypisz(rozm1,rozm2,tab);
sortuj(rozm1,rozm2,tab);
cout<<"\nPosortowane: \n";
wypisz(rozm1,rozm2,tab);
delete [] tab;
}</cpp>