Jump to content

Nelamurire Programel C++: Exceptie De La 0 La 1


Gabriel R.

Recommended Posts

Acum, că am început programarea vă voi stresa ceva :)) Se dă următorul algoritm:

#include<iostream.h>

int main()

{

    int a,b;

    cout<<"Scrie o valoare pentru a ";

    cin>>a;

    cout<<"Scrie o valoare pentru b ";

    cin>>b;

    if(a%10>b%10)

        cout<<"Ultima cifra este mai mare la variabila "<<a;

    if(a%10==b%10)

        cout<<"Ultimele cifre sunt egale ";

    else

        cout<<"Ultima cifra este mai mare la variabila "<<b;

    return 0;

}

 

Cum pot face ca pentru numerele de la 0 la unu să am excepţie? Dacă pun un număr de o cifră sau chiar 10 îmi face şi cout<<"Ultima cifra este mai mare la variabila "<<a; şi   cout<<"Ultima cifra este mai mare la variabila "<<b;   ?

head%20bash.gifVrei să vezi mai multe chestii interesante? Hai pe blogul meu, să vedem împreună cam cum mai e cu tehnologia în zilele noastre!

Link to comment
Share on other sites

#include<iostream.h>

int main()

{

    int a,b;

    cout<<"Scrie o valoare pentru a ";

    cin>>a;

    cout<<"Scrie o valoare pentru b ";

    cin>>b;

    if(a%10>b%10)

        cout<<"Ultima cifra este mai mare la variabila "<<a;
     else
   {

        if(a%10==b%10)

            cout<<"Ultimele cifre sunt egale ";

         else

            cout<<"Ultima cifra este mai mare la variabila "<<b;
   }

    return 0;

}

ai inteles diferenta intre ce ai scris tu si ce am scris eu? explica

 

Cum pot face ca pentru numerele de la 0 la unu să am excepţie -> aici habar nam ce ai vrut sa zici.

love is a verb
Love is a doing word

Link to comment
Share on other sites

int a,b; Dă tipul de date
    cout<<"Scrie o valoare pentru a "; Îi trimite mesaj utilizatorului
    cin>>a; Declară variabila
    cout<<"Scrie o valoare pentru b "; Îi trimite mesaj utilizatorului
    cin>>b;Declară variabila
    if(a%10>b%10) Pune condiția
        cout<<"Ultima cifra este mai mare la variabila "<<a;Îi trimite mesaj utilizatorului 
    if(a%10==b%10)Pune condiția 
        cout<<"Ultimele cifre sunt egale ";Îi trimite mesaj utilizatorului 
    else
        cout<<"Ultima cifra este mai mare la variabila "<<b; Îi trimite mesaj utilizatorului 
    return 0;

head%20bash.gifVrei să vezi mai multe chestii interesante? Hai pe blogul meu, să vedem împreună cam cum mai e cu tehnologia în zilele noastre!

Link to comment
Share on other sites

int a,b; -> defapt aici se declara variabila.

cout afiseaza un text, care il vrei tu.

 

cin>>a;  aici nu declari a, ci ii atribui o valoare citita de la tastatura... (pana aici sa zicem ca era doar termeni)

 

 

Eu nu team intrebat ce face IF-ul in general, ci ce face in cazul nostru,

 

 

Dc scrie  if(a%10>b%10) in loc de  if ( capulapeste ) ? ( a se citi Capu La Peste. Nu sunt responsabil pt interpretarile inadecvate)

love is a verb
Love is a doing word

Link to comment
Share on other sites

Trebuia aici să pun else pentru că așa-mi execută prima dacă e adevărată, apoi trece la al doilea if.

if(a%10>b%10)

        cout<<"Ultima cifra este mai mare la variabila "<<a;

    if(a%10==b%10)

        cout<<"Ultimele cifre sunt egale ";

    else

        cout<<"Ultima cifra este mai mare la variabila "<<b;

head%20bash.gifVrei să vezi mai multe chestii interesante? Hai pe blogul meu, să vedem împreună cam cum mai e cu tehnologia în zilele noastre!

Link to comment
Share on other sites

Uite, asta e codul tau:

 

 if(a%10>b%10)
        cout<<"Ultima cifra este mai mare la variabila "<<a;
    if(a%10==b%10)
        cout<<"Ultimele cifre sunt egale ";
    else
        cout<<"Ultima cifra este mai mare la variabila "<<b;

 

 

Sa zicem ca a=15 si b=13. Iti verifica daca 5>3, si este, prin urmare iti afiseaza 15. Iti intra pe al doilea IF unde verifica daca 5=3, si nu este, prin urmare trece pe else, unde iti verfica daca ori a>b ori a<b, dar indiferent daca e mai mare sau mai mic, iti va afisa mereu b.

 

De asta in final tu aveai si a si b afisate.

 

Sa zicem ca a=13 si b=15. Intra pe primul IF, 3<5 deci merge mai departe, pe al doilea IF verifica egalitatea, nu este deci trece pe else unde din nou, chiar daca a<b sau a>b iti va afisa mereu b.

 

De asta iti mai trebuia un else.

fWy1P.gif

 

Link to comment
Share on other sites

  • 9 months later...

Explic eu ce face programul(sper ca nu m-am bagat ca nesimtitu' in discutie):

1.Mai intai citeste a si b care sunt variabile de tip intreg;

2.Verifica ultima cifra a lui a daca e mai mare decat ultima cifra a lui b;

3.Daca nu, atunci verifica daca sunt egale altfel ultima cifra a lui a va fi mai mica decat ultima cifra a lui b;

 

Un sfat:

In loc de "introduceti valoarea lui a" pune "a=" ca sa nu scri mult.


Am modificat putin. printf e acelas lucru cu cout doar ca consuma mai putin timp.

#include<stdio.h>
int main()
{
    int a,b;
    printf("a="); scanf("%d",a);
    printf("a="); scanf("%d",a);
    
    if(a%10>b%10)   
        cout<<"Ultima cifra este mai mare la a.";
    else
    {
      if(a%10==b%10)
          cout<<"Ultimele cifre sunt egale.";
      else
          cout<<"Ultima cifra este mai mare la b.";
    }
    
    return 0;
}

Respecta si vei fi respectat.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.