Informatică, întrebare adresată de AAAsayds, 9 ani în urmă

sa se alcatuiasca o functie care schimba locurile a doua linii a unei matrici patrate.
Folosind aceasta functie,sa se ordoneze liniile matriciei date cu un numar impar de coloane ,astfel incit elemntele coloanei din mijloc sa fie in ordine cresctoare.

Răspunsuri la întrebare

Răspuns de blindseeker90
0
#include <iostream>
using namespace std;

/*Argumente: dimensiune matrice si liniile care sunt schimbate
  Schimba cele doua linii*/
int a[100][100];  
void schimba_linii(int n,int linia1,int linia2){
int j,temp;
for(j=0;j<n;j++){
temp=a[linia1][j];
a[linia1][j]=a[linia2][j];
a[linia2][j]=temp;
}

}
int main(){
int n,i,j,m,mijloc;
cout<<"Introduceti dimensiunea matricei";
cin>>n;
if(n%2==0){
cout<<"Nr de coloane trebuie sa fie impar pentru ordonarea ceruta\n";
cout<<"In cazul acesta cand nr de coloane e par, o alegem pe cea fix de la juma\n";

}
cout<<"Introduceti matricea: ";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cin>>a[i][j];
}
}
if(n%2==0){
mijloc=n/2;
}
else{
mijloc=(n+1)/2;
}

for(i=0;i<n;i++){
m=i;
for(j=i;j<n;j++){
if(a[j][mijloc-1]<a[m][mijloc-1]){
m=j;
}

}

schimba_linii(n,i,m);
}
cout<<"Matricea cu coloana din mijloc sortata este: \n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
Alte întrebări interesante