Informatică, întrebare adresată de roatiscristian625, 8 ani în urmă



Ini da doar 60 de puncte
#425 distincte1
Cerinţa
Se citesc de la tastatură trei numere naturale. Să se determine numărul de valori distincte.

Date de intrare
Programul va citi de la tastatură trei numere naturale.

Date de ieşire
Programul va afișa numărul de valori distincte care apar.

Restricţii şi precizări
Numerele citite sunt cuprinse între 0 și 1.000.000.000, inclusiv.

#include

using namespace std;

int main()
{
long long int a,b,c,cnt=0;
cin>>a>>b>>c;
if(a!=b && b!=c)
cnt=3;
if(a!=b && a==c)
cnt=2;
if(a!=c && a==b)
cnt=2;
if(a!=c && a!=b && b==c)
cnt=2;
if(b!=a && b==c)
cnt=2;
if(b!=c && b==a)
cnt=2;
if(b!=c && a!=b && a==c)
cnt=2;
if(c!=b && c==a)
cnt=2;
if(c!=c && c==b)
cnt=2;
if(c!=a && c!=b && a==b)
cnt=2;
cout< return 0;
}

Răspunsuri la întrebare

Răspuns de schiopubogdan99
0

Explicație:

e foarte complicat cum ai gândit și foarte multe if-uri în care te încurci

sugerez o abordare mai simpla

if( a!=b) //avem 2 numere distincte sigur

{cnt=2;

if( a!=c sau b!=c) cnt++;

}

else //primele 2 nr sunt identice.in funcție de c, vedem dacă avem fie 1, fie 2 valori distincte

{ cnt=1;

if(b!=c) cnt++;

}

cout<<cnt;


schiopubogdan99: o mica corectare if( a!=c SI b!=c)
roatiscristian625: imi da eroare
schiopubogdan99: pune tot codul aici în mesaj
Răspuns de pmarian98
0

Răspuns:

#include <iostream>

using namespace std;

int a, b, c;

int main()

{

cin>>a>>b>>c;

if(a==b && a==c) cout<<1;

else if(a==b && a!=c) cout<<2;

else if(b==c && b!=a) cout<<2;

else if(a==c && a!=b) cout<<2;

else if(a!=b && b!=c && a!=c) cout <<3;

return 0;}

Explicație:

Alte întrebări interesante