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

Urgent !!DAU COROANA!!



Cerința
Se dă lista arcelor unui graf orientat. Să se determine nodurile care au gradul exterior egal cu gradul interior.

Date de intrare
Programul citește de la tastatură numărul n de noduri și numărul m de arce, iar apoi lista arcelor, formată din m perechi de forma i j, cu semnificația că există arc orientat de la i la j.

Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de noduri care au gradul interior egal cu cel exterior, iar pe linie următoare afișează aceste noduri, ordonate crescător, separate prin exact un spațiu.

Restricții și precizări
1 ≤ n ≤ 100
Exemplu
Intrare

6 9
1 2
1 3
1 5
3 5
4 1
3 4
5 1
6 1
6 3
Ieșire

3
1 3 4

Răspunsuri la întrebare

Răspuns de Levi20
1

Răspuns:

#include <iostream>

using namespace std;

int n,m,a[100],b[100];

void citire()

{ int x,y,i;

cin>>n>>m;

for(i=1;i<=m;i++)

{ cin>>x>>y;

a[x]++;

b[y]++;

}

}

int main()

{

citire();

int i,nr=0;

for(i=1;i<=n;i++)

if(a[i]==b[i])

{cout<<i<<" ";

nr++;}

cout<<endl;

cout<<nr;

return 0;

}

Pentru a afisa nr inainte trebuie sa scrii inca odata for-ul si aceeasi conditie (a[i]=b[i]) din main si cresti nr-ul acolo dupa care il afisezi si dai "endl". Dupa care reiei cobditia si afisezi nodurile

Explicație:

Am afisat numarul de aparitii la final fiindca e mai usor. Daca vrei sa-l afisezi iainte mai trebuie completat programul


Levi20: Declara sus si "fstream" la include
sandyjester: GATA
Levi20: :)
sandyjester: a mers
sandyjester: mersiii
Levi20: Nu ai pentru ce. Din cate vad chiar ti-au dat treaba pentru acasa
sandyjester: da, si mai am inca doua probleme "usoare" 3422 si 577
Levi20: O sa ma mai uit peste ele. Trebuie sa recuperez si niste teorie
sandyjester: mersii mult de tot. nu inteleg de ce uneori nu mi se afiseaza tot programul din ce ai scris
Levi20: Spor
Alte întrebări interesante