Rezolvare completă PbInfo #2310 saci

Cerința

Pacală şi Tândală mergeau printr-o pădure. Într-un copac, ei au văzut o pasăre.
- Măi, Tândală, uite o pasăre! Hai s-o prindem, s-o frigem şi s-o mâncăm boiereşte, zise Păcală lingându-şi degetele.
- Că bine zici. Dar cum s-o mâncăm fără sare? Stai tu s-o păzeşti ca să nu zboare şi eu dau fuga în sat să aduc nişte sare, zise Tândală.
- Du-te în pivniţa mea şi acolo vei găsi N saci, pe fiecare sac vezi că e o etichetă pe care scrie un număr; dacă numărul are toate cifrele în ordine strict crescătoare, de la stânga la dreapta, înseamnă că acel sac conţine sare, altfel conţine zahăr. Încarcă în căruţă toţi sacii cu sare şi hai cu ei încoace până păzesc eu pasărea, zise Păcală.

Ajutaţi-l pe Tândală să numere câţi saci cu sare trebuie să încarce în căruţă.

Date de intrare

De pe prima linie a fişierului saci.in se citeşte un număr natural N ce reprezintă numărul sacilor.
De pe următoarele N linii se citesc valori naturale, câte una de pe fiecare linie, reprezentând numărul scris pe eticheta unui sac.

Date de ieșire

În fişierul saci.out se va afişa, pe prima linie, un număr natural ce reprezintă numărul de saci cu sare ce trebuie încărcaţi în căruţă.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • numărul scris pe fiecare sac este un număr natural nenul, cu cel mult 8 cifre

Exemplu

saci.in

5
159
721
18
121
7

saci.out

3

Explicație

Sunt 5 saci. Dintre numerele cu care sunt etichetaţi saci doar 159, 18 şi 7, au cifrele în ordine strict crescătoare de la stânga la dreapta.
Astfel doar 3 saci conţin sare şi trebuie încărcaţi în căruţă.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema saci:

#include <fstream>
#include <iostream>
using namespace std;
ifstream f("saci.in");
ofstream g("saci.out");

int main()
{
    int N,nr,ok,c1,nr_saci = 0,i;
    f>>N;
    for(i = 1; i <= N; i++)
    {
        f>>nr;
        ok = 1;
        c1 = nr % 10;
        while(nr)
        {
            nr = nr / 10;
            if(nr % 10 >= c1)
            {
                ok = 0;
                nr = 0;
            }
            else
                c1 = nr % 10;
        }
        if (ok == 1)
            nr_saci++;
    }
    g<<nr_saci<<'\n';
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2310 saci

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2310 saci de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!