Acesta este enuntul :
Sa se determine multimea formata din elementele distincte de pe marginea unui tablou bidimensional patratic.
Ex: Pentru n=3 si matricea:
2 4 3
3 4 6
1 4 3
-----
se va afisa:
1 2 3 4 6
Aceasta este rezolvarea mea :
#include <iostream>
#include <fstream>
using namespace std;
fstream f("intrare.in",ios::in);
fstream g("iesire.out",ios::out);
int main()
{
int a[10][10],b[10],c[10],i,j,n,k,g1,l;
f>>n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
f>>a
[j];
k=0;
for(i=0;i<n;i++)
{
c[k++]=a[0];
c[k++]=a[n-1];
}
for(i=1;i<n-1;i++)
{
c[k++]=a c[k++]=a[n-1];
}
l=0;
b[l++]=c[0];
for(i=1;i<k;i++)
{
g1=0;
for(j=0;j<l && g1==0;j++)
if(c==b[j])
g1=1;
if(g1==0)
b[l++]=c;
}
for(i=0;i<l;i++)
g<<b<<" ";
}As dori sa stiu daca exista o solutie mai optima. O rezolvare mai rapida , am stat ceva si m-am gandit , dar asta e singurul mod care mi-a trecut prin minte.
Mersi.