ROZWIĄZANIA  PRZYKŁADOWYCH  ZADAŃ
ilustrujących zastosowanie instrukcji warunkowych
oraz wczytywanie/wyświetlanie danych
z wykorzystaniem bibliotek <stdio.h> i <iostream>

ZADANIE_1    Napisz program, który wczyta z klawiatury 3 liczby rzeczywiste,
a następnie wyświetli te dwie z nich, które są większe.

ZADANIE_2    Napisz program wczytujący 4 znaki z klawiatury,
a następnie sprawdzający czy występuje wśród nich
chociaż jedno powtórzenie (tzn. dwa znaki o tej samej wartości).

ZADANIE_3    Napisz program wczytujący 4 liczby całkowite i sprawdzający
ile jest wśród nich powtórzeń (dwójek, trójek lub czwórek).

ZADANIE_4    Napisz program, który wczyta z klawiatury 3 liczby long
a następnie wyświetli wartość najmniejszej z nich.

ZADANIE_5    Napisz program, który wczyta 4 liczby rzeczywiste z klawiatury
a następnie sprawdzi czy wśród nich jest więcej
liczb dodatnich (>=0) czy ujemnych (<0).

ZADANIE_6    Napisz program wczytujący 4 znaki z klawiatury
i sprawdzający czy przynajmniej trzy z nich są identyczne


  1. Napisz program, który wczyta z klawiatury 3 liczby rzeczywiste,
    a następnie wyświetli te dwie z nich, które są większe.

#include <stdio.h>

 

void main()
{
  float a,b,c;
  printf("Podaj trzy liczby rzeczywiste: ");
  scanf("%f%f%f",&a,&b,&c);

  if( a<=b && a<=c )
    printf("Dwie wieksze to: %.1f, %.1f",b,c);
  else if( b<=a && b<=c )
    printf("Dwie wieksze to: %.1f, %.1f",a,c);
  else  //if( c<=a && c<=b )
    printf("Dwie wieksze to: %.1f, %.1f",a,b);

  printf("\n\nNacisnij ENTER aby zakonczyc program");
  fflush(stdin);
  getchar();
}

  1. Napisz program wczytujący 4 znaki z klawiatury,
    a następnie sprawdzający czy występuje wśród nich
    chociaż jedno powtórzenie (tzn. dwa znaki o tej samej wartości).

#include <stdio.h>

void main()
{
  char a,b,c,d;
  printf("Nacisnij cztery znaki na klawiaturze i ENTER: ");
  scanf("%c%c%c%c",&a,&b,&c,&d);

  if( a==b || a==c || a==d || b==c || b==d || c==d )
    printf("\nWystepuje przynajmniej jedno powtorzenie!");
  else
    printf("\nNie wystepuje ani jedno powtórzenie.");

  printf("\n\nNacisnij ENTER aby zakonczyc program");
  fflush(stdin);
  getchar();
}

  1. Napisz program wczytujący 4 liczby całkowite i sprawdzający
    ile jest wśród nich powtórzeń (dwójek, trójek lub czwórek).

#include <iostream>                //pierwszy sposób, z licznikiem
using namespace std;
void main()
{
  int a,b,c,d;

  cout << "Podaj cztery liczby calkowite: ";
  cin >> a >> b >> c >> d;

  int il_par=0;
  if( a==b ) il_par++;
  if( a==c ) il_par++;
  if( a==d ) il_par++;
  if( b==c ) il_par++;
  if( b==d ) il_par++;
  if( c==d ) il_par++;

  switch(il_par)
    {
     case 6: cout << "Jest czworka";     break;
     case 3: cout << "Jest trojka";      break;
     case 2: cout << "Sa dwie pary";     break;
     case 1: cout << "Jest jedna para"break;
     case 0: cout << "Brak powtorzen";   break;
     default: cout << "Bledny algorytm"; break;
    }
  cin.ignore(INT_MAX,'\n');
  cin.get();
}

#include <iostream>                                //drugi sposób, z rozgałęzieniami
using namespace std;

void main()
{
  int a,b,c,d;

  cout << "Podaj cztery liczby calkowite: ";
  cin >> a >> b >> c >> d;

  if( a==b && b==c && c==d )
    cout << "Jest czworka";
  else
    if( a==b && b==c ||       //inne 'd'
        a==b && b==d ||       //inne 'c'
        a==c && c==d ||       //inne 'b'
        b==c && c==d )        //inne 'a'
          cout << "Jest trojka";
    else
      if( a==b && c==d ||     //2 pary XXZZ
          a==c && b==d ||     //2 pary XZXZ
          a==d && b==c )      //2 pary XZZX
            cout << "Sa dwie pary";
      else
        if( a==b || a==c || a==d ||
            b==c || b==d || c==d )
          cout << "Jest jedna para";
        else
          cout << "Brak powtorzen";

  cin.ignore(INT_MAX,'\n');
  cin.get();
}

  1. Napisz program, który wczyta z klawiatury 3 liczby long
    a następnie wyświetli wartość najmniejszej z nich.

#include <iostream>
using namespace
std;

void main( )
{
  long a,b,c;
  cout<<"Podaj trzy liczby long: ";
  cin>>a>>b>>c;

  long najmniejsza=a;
  if( b<najmniejsza )
    najmniejsza=b;
  if( c<najmniejsza )
    najmniejsza=c;

  cout<<endl<<"Wartosc najmniejszej z podanych liczb = ";
  cout<<najmniejsza;
  cin.ignore();
  cin.get();
}
  1. Napisz program, który wczyta 4 liczby rzeczywiste z klawiatury
    a następnie sprawdzi czy wśród nich jest więcej
    liczb dodatnich (>=0) czy ujemnych (<0).

#include <iostream>                     //pierwszy sposób
using namespace std;

void main( )
{
  float a,b,c,d;
  cout<<"Podaj cztery liczby rzeczywiste: ";
  cin>>a>>b>>c>>d;

  int licznik_dodatnich=0;
  if( a>=0 )
    licznik_dodatnich++;
  if( b>=0 )
    licznik_dodatnich++;
  if( c>=0 )
    licznik_dodatnich++;
  if( d>=0 )
    licznik_dodatnich++;

  if( licznik_dodatnich>2 )
    cout<<endl<<"Podano wiecej liczb dodatnich";
  else if( licznik_dodatnich<2 )
    cout<<endl<<"Podano wiecej liczb ujemnych";
  else
    cout<<endl<<"Podano tyle samo liczb dodatnich co ujemnych";

  cin.ignore();
  cin.get();
}
#include <iostream>                      //drugi sposób, z pętlą
using namespace std;

void main( )
{
  int licznik_dodatnich=0;
  cout<<"Podaj cztery liczby rzeczywiste: ";
  for(int i=0; i<4; i++)
    {
     float liczba;
     cin >> liczba;
     if( liczba>=0 )
       licznik_dodatnich++;
    }

  if( licznik_dodatnich>2 )
    cout<<endl<<"Podano wiecej liczb dodatnich";
  else if( licznik_dodatnich<2 )
    cout<<endl<<"Podano wiecej liczb ujemnych";
  else
    cout<<endl<<"Podano tyle samo liczb dodatnich co ujemnych";

  cin.ignore();
  cin.get();
}
  1. Napisz program wczytujący 4 znaki z klawiatury
    i sprawdzający czy przynajmniej trzy z nich są identyczne

#include <iostream>
using namespace std;
void main( )
{
  char a,b,c,d;
  cout<<"Podaj cztery znaki: ";
  cin>>a>>b>>c>>d;

     if( a==b&&b==c || a==b&&b==d || a==c&&c==d || b==c&&c==d )
    cout<<endl<<"Przynjamniej trzy znaki sa identyczne";
  else
    cout<<endl<<"NIE wystapily trzy identyczne znaki";

  cin.ignore(INT_MAX,'\n');
  cin.get();
}