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
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";
}
#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
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Franceza,
9 ani în urmă