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
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;
}
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
Franceza,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă