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

Cerinţa
Se citește de la tastatură un număr natural de 3 cifre, distincte. Să se afișeze pe ecran cifra din mijloc, ca valoare.

Date de intrare
Programul va citi de la tastatură un număr natural de 3 cifre.

Date de ieşire
Programul va afişa pe ecran cifra care nu este nici minimă și nici maximă.

Restricţii şi precizări
Numărul citit de la tastatură este natural, de 3 cifre

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
1
Cifra de mijloc ca valoarea inseamna ca nu este nici cea mai mica valoare si nici cea mai mare valoare.
EX: 123 RASPUNS : 2
       369 RASPUNS : 6
Pentru a afla valoarea ceruta trebuie sa afla cea mai mare cifra din numar si cea mai mica.
O sa ne intrebam care este cea mai mare cifra.Apoi care din cele 2 ramase e cea mai mica.
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if((n%10<n/10%10 && n%10>n/100)||(n%10>n/10%10 && n%10<n/100))
       cout<<n%10;
       else if((n/10%10>n%10 && n/10%10<n/100)||(n/10%10<n%10 && n/10%10>n/100))
          cout<<n/10%10;
               else
               cout<<n/100;
               return 0;
               }


tudorspidy: aha deci tu practic aplici odata algoritmul elementar de maxim
tudorspidy: si inca odata cel de minim?
Răspuns de rossetta
1
#include <iostream>

using namespace std;

int main() {
  int n;
  cin >> n;
  int max = n % 10, min = n % 10;
  int ultima = n % 10, mijloc = n / 10 % 10,  prima = n / 100;
  if(mijloc > max)
    max = mijloc;
  if(prima > max)
    max = prima;
  if(mijloc < min)
    min = mijloc;
  if(prima < min)
    min = prima;
  if(ultima != min && ultima != max)
    cout << ultima;
  else if(mijloc != min && mijloc != max)
    cout << mijloc;
  else
    cout << prima;
  return 0;
}
Alte întrebări interesante