Răspuns :
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream f("date.in");
int n, j, t;
f>>n;
int p[n], i[n], k1=0, k2=0, ok=1;
for(j=0;j<n;j++){
f>>t;
if(t%2==0){
p[k1]=t;
if(k1>0&&p[k1]<p[k1-1]){
//Daca nu suntem la primul termen
//si nu este respectata ordinea crescatoare, iesim din for
ok=0; break;
}
k1++;
}else{
i[k2]=t;
if(k2>0&&i[k2]>i[k2-1]){
//Daca nu suntem la primul termen
//si nu este respectata ordinea descrescatoare, iesim din for
ok=0; break;
}
k2++;
}
}
if(ok) cout<<"DA";
else cout<<"NU";
return 0;
}
***************************************************************
Algoritmul funcționează astfel:
Citim din fisier de pe prima linie numarul de numere in variabila n, si setam o variabila ok=1;
Declaram 2 vectori cu n elemente i, si p, reprezentand numerele pare si impare
Intram intr-un for, pentru a citi toate elementele din fisier.
Daca elementul citit este par, il scriem in p, daca este impar il scriem in i
Daca am trecut de citirea primului element, si un se respecta ordinea(ultimul element par scris este mai mic decat penultimul, sau ultimul element impar scris este mai mare decat penultimul), atunci setam ok=0, si iesim din for
Daca sunt corect ordonate sirurile variabila ok va ramane 1. La sfarsit, daca ok este 1 afisam DA, altfel afisam NU
#include <fstream>
using namespace std;
int main(){
ifstream f("date.in");
int n, j, t;
f>>n;
int p[n], i[n], k1=0, k2=0, ok=1;
for(j=0;j<n;j++){
f>>t;
if(t%2==0){
p[k1]=t;
if(k1>0&&p[k1]<p[k1-1]){
//Daca nu suntem la primul termen
//si nu este respectata ordinea crescatoare, iesim din for
ok=0; break;
}
k1++;
}else{
i[k2]=t;
if(k2>0&&i[k2]>i[k2-1]){
//Daca nu suntem la primul termen
//si nu este respectata ordinea descrescatoare, iesim din for
ok=0; break;
}
k2++;
}
}
if(ok) cout<<"DA";
else cout<<"NU";
return 0;
}
***************************************************************
Algoritmul funcționează astfel:
Citim din fisier de pe prima linie numarul de numere in variabila n, si setam o variabila ok=1;
Declaram 2 vectori cu n elemente i, si p, reprezentand numerele pare si impare
Intram intr-un for, pentru a citi toate elementele din fisier.
Daca elementul citit este par, il scriem in p, daca este impar il scriem in i
Daca am trecut de citirea primului element, si un se respecta ordinea(ultimul element par scris este mai mic decat penultimul, sau ultimul element impar scris este mai mare decat penultimul), atunci setam ok=0, si iesim din for
Daca sunt corect ordonate sirurile variabila ok va ramane 1. La sfarsit, daca ok este 1 afisam DA, altfel afisam NU
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și vă încurajăm să ne salvați în lista de favorite!