Informatică, întrebare adresată de Pari, 9 ani în urmă

Bună!
Pe prima linie a fişierului bac.in se află un nr. natural nenul n (n<=1000),iar pe a doua linie a fi;ierului se află un şir format din n nr. naturale despărţite prin câte un spaţiu, fiecare nr. fiind format din cel mult 4 cifre. Scrieţi un program C/ C++ care citeşte valorile
din fişier şi care afişeaza pe ecran mesajul DA dacă toate elementele pare din şir sunt
în ordine crescătoareşi mesajul NU în caz contrar.
Ex: n=7
10 113 12 33 42 1354 42

Răspunsuri la întrebare

Răspuns de artur99
1
#include <iostream>
#include <fstream>
using namespace std;
int main(){
    ifstream f("bac.in");
    int n, da=1, i, t, ultim, pos=0;
    f>>n; //n
    //Cautam primul numar par
    while(true){
        f>>t;
        if(t%2==0){
            ultim=t; //ultimul numar par citit
            break;//daca am gasit, iesim din while
        }
        pos++; //pozitia numarului in vector
    }
    //incepand de la urmatorul numar (pos)
    for(i=pos;i<n;i++){
        f>>t;
        if(t%2==0){
            if(t<ultim){
                //daca numarul curent e mai mic decat ultimul nr par
                da=0;
            }
            ultim=t;
        }
    }
    if(da==1)
        cout<<"DA";
    else
        cout<<"NU";
}
Alte întrebări interesante