Deci am o structura ce contine date legate de figuri geometrice în ordinea următoare :
codsf ( codul figurii ) , volum de ex:
001 124.76
002 194.11
003 684.3
004 124.76
005 266.2
006 194.11
Datele sunt păstrate în felul următor
struct Sfere
{
char codsf[5];
float ,volum;
} sf[100];
Încerc sa afisez figurile de volum identic astfel că la afișare voi avea :
FIGURILE DE VOLUM IDENTIC SUNT :
001 124.76
004 124.76
002 194.11
006 194.11
Programul îl realizez în c++ .
Rog pe cei ce cunosc să mă ajute .
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
struct Sfere
{
char codsf[5];
float volum;
}sf[100];
int n, i, j, ap[100]={0};
int main()
{
cout << "dati br. de sfere, n= "; cin >> n;
cout << "pt. fiecare sfera introdu codul si volumul separate prin spatiu" << endl;
for (i=0; i<n; ++i)
{
cin >> sf[i].codsf >> sf[i].volum;
}
cout << "FIGURILE DE VOLUM IDENTIC SUNT: \n";
int identic=0;
for (i=0; i<n-1; ++i)
{
if (ap[i]==0){
for (j=i+1; j<n; ++j)
{
if (sf[i].volum==sf[j].volum && ap[j]==0)
{
if (ap[i]==0)
{
cout << sf[i].codsf << " " << sf[i].volum << "\n";
ap[i]=1;
}
cout << sf[j].codsf << " " << sf[j].volum << "\n";
ap[j]=1;
identic=1;
}
}
}
}
if (identic==0) cout << "opss... nu exista";
}
Explicație:
am folosit un vector ajutător în care puneam 1 în caz că corespunzătoarea sferă şi-a găsit identic. Asta e făcut pentru a nu cerceta încă ecele sfere.