23.1.23020140. Generisati 2 različita cijela broja. Ako su oba parna podijeliti veći sa manjim brojem. Ako su oba neparna od većeg oduzeti manji broj. Inače sabrati ta dva broja.
Opis rješenja: Prije dijeljenja mora se provjeriti da li je nazivnik 0 da bi se moglo izvesti dijeljenje.
Naredba return 0; završava izvođenje programa. Korišćene je:
- brojeve su isti
- nazivnik je nula
- na kraju slučaja oba parna, radi preglednosti programa da se ne koristi više if else naredbi.
Listing programa:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int a=rand()%200,b=rand()%200; // dva slucajna broja u opsegu [0, 200)
cout << "a = " << a << " b = " << b << endl; // generisani
int p; // deklarisanja varijable
float y; // deklarisanja izlazna varijable, kod dijeljenja moramo predvidjeti realan broj
if (a == b) // isti brojevi ?
cout << "oba ista = " << a << endl; // izlaz
else // za 2 razlicita slucajna broja
{
// podesiti da je a vece od b
if (a < b) // a manje od b ?
{
// zamjeni vrijednosti a i b, pa provjeri nazivnik
p=a; // pomocna varijabla p prima vrijednost varijable a
a=b; // varijabla a prima vrijednost varijable b
b=p; // varijabla b prima vrijednost pomocne varijabla p
} // zamjenjen redoslijed prve dvije varijable
if((a%2 == 0) && (b%2 == 0 )) // oba parna
{
if (b == 0) // nazivnik = 0 ?
{
// nazivnik = 0
cout << "nazivnik = 0" << endl; // zavrseno izvodjenje programa
return 0; // zavrsio program
}
y = a / b ; // parni: veci podijeli sa manjim
cout << "rezultat = " << y; // izlaz
return 0; // zavrsi izvodjenje program kad su oba parna
} // dio programaa za oba parna
if((a%2 != 0) && (b%2 != 0 )) // oba neparna
y = a - b ; // razlika; vec je podeseno da je a vece
else // samo jedan neparan
y = a + b; // suma; samo jedan neparan
cout << "rezultat = " << y; // ispis kad su neparni
return 0;
}
}
Ispis na ekranu:
oba ista = 57
II izvodjenje programa
a = 24 b = 81
rezultat = 105
II varijanta bez provjere nazivnika
//23020140
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
int a=rand()%200,b=rand()%200;
double rez=0;
cout << a << " "<< b << endl;
if(a % 2 == 0 && b % 2 == 0){
if(a > b){
rez=a/b;
cout<<"Rezultat je: "<<rez<<endl;
}
if(b > a){
rez=b/a;
cout<<"Rezultat je: "<<rez<<endl;
}
if(a == b){
cout<<"Rezultat je: 1"<<endl;
}
return 0;
}
if(a % 2 != 0 && b % 2 != 0){
if(a > b){
rez=a-b;
cout<<"Rezultat je: "<<rez<<endl;
}
if(b > a){
rez=b-a;
cout<<"Rezultat je: "<<b-a<<endl;
}
if(a == b){
cout<<"Rezultat je: 0"<<endl;
}
return 0;
}
else{
rez=a+b;
cout<<"Rezultat je: "<<rez<<endl;
}
return 0;
}
Ispis na ekranu:
Riješeni zadaci Index
|