Răspuns :
#include<iostream>
using namespace std;
int main()
{
int a[100][100],n,m,i,j,ok,k=0;
cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for (i=1;i<=m;i++)
for (j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];
} //pana aici avem declarare si citire
for (i=1;i<=m;i++)
{
ok=1;
for (j=1;j<=n;j++)
if (a[i][j]!=a[i][n-j+1])
ok=0;
if (ok==1)
k++;
}
cout<<"Sunt "<<k<<" linii simetrice.";
}
Rezolvarea merge pe urmatorul principiu: Luam fiecare linie la rand si presupunem ca este simentrica, initializand variabila ok cu 1. Daca gasim un caz in care un element nu este egal cu simentricul sau, vom initializa variabilaok cu 0. La final vom testa valoarea variabilei ok, daca aceasta este tot 1 atunci contorul k creste.
Pentru a compara doua elemente simentrice se va folosi relatia:
a[i][j]!=a[i][n-j+1]
-i-ul ramane deschimbat deoarece este vorba de aceeasi linie
elementul de pe pozitia j are simentricul pe pozitia n-j+1. Ex:
a[1][2]=3 (a[i][j])
a[1][5-2+1]=a[1][4]=3 ( a[i][n-j+1] -j-ul este tot 2)
using namespace std;
int main()
{
int a[100][100],n,m,i,j,ok,k=0;
cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for (i=1;i<=m;i++)
for (j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];
} //pana aici avem declarare si citire
for (i=1;i<=m;i++)
{
ok=1;
for (j=1;j<=n;j++)
if (a[i][j]!=a[i][n-j+1])
ok=0;
if (ok==1)
k++;
}
cout<<"Sunt "<<k<<" linii simetrice.";
}
Rezolvarea merge pe urmatorul principiu: Luam fiecare linie la rand si presupunem ca este simentrica, initializand variabila ok cu 1. Daca gasim un caz in care un element nu este egal cu simentricul sau, vom initializa variabilaok cu 0. La final vom testa valoarea variabilei ok, daca aceasta este tot 1 atunci contorul k creste.
Pentru a compara doua elemente simentrice se va folosi relatia:
a[i][j]!=a[i][n-j+1]
-i-ul ramane deschimbat deoarece este vorba de aceeasi linie
elementul de pe pozitia j are simentricul pe pozitia n-j+1. Ex:
a[1][2]=3 (a[i][j])
a[1][5-2+1]=a[1][4]=3 ( a[i][n-j+1] -j-ul este tot 2)
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.