Care este greseala in algoritmul urmator (imi da la compilare ceva de genu’ „initializing argument 1 of ‘void sortare(int, int, int)’ „)…eu nu imi dau seama asa ca daca aveti vreo idee e bine venita!
#include<iostream.h>
int n, a[100][100],k;
void citire(){
cout<<„Dati dimensiunea matricei „;
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[j];
}
void sortare(int v[100], int st, int dr) {
int i = st, j = dr, aux, p = v[(st + dr) / 2];
while (i<=j) {
while (v<p)
i++;
while (v[j]>p)
j–;
if (i<=j) {
aux= v;
v=v[j];
v[j]=aux;
i++;
j–;
}
}
if (st < j)
sortare(v,st,j);
if (i < dr)
sortare(v,i,dr);
}
int main(){
int m, v[100],st, dr;
k=0;
citire();
for(int i=1;i<=n;i++)
{if(i%2!=0)
for(int j=1;j<=n;j++)
{k++;
v[k]=a[j];
}
sortare(v[k],1,k);
}
for(int i=1;i<=n;i++)
{cout<<„\n”;
for(int j=1;j<=n;j++)
cout<<a[j]<<” „;
}
cin>>m;
return 0;
}
sortare(v,1,k) nu v[k]….v[k] reprezinta un singur element…cand iei v il iei pe intreg vectoru`.
Da, ai drepatate, nu stiu cum de nu mi-am dat seama