Cerința
Se dau două numere naturale i p
și o listă cu numere naturale. Să se determine al p
-lea element par din listă și al i
-lea element impar din listă.
Date de intrare
Fișierul de intrare parimpar2.in
conține pe prima linie numerele i
și p
, iar pe a doua linie mai multe numere naturale separate prin spații.
Date de ieșire
Fișierul de ieșire parimpar2.out
va conține două numere separate printr-un spațiu, primul reprezentând al p
-lea element par, iar al doilea număr reprezentând al i
-lea element impar din lista numerelor din fișierul de intrare. Dacă nu avem p
elemente pare sau i
elemente impare se va afișa mesajul Nu Exista
.
Restricții și precizări
1 ≤ i,p ≤ 100.000
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000.000.000
Exemplu
parimpar2.in
2 2 63 83 60 34 92
parimpar2.out
34 83
Explicație
Primul element par este 60
, iar al doilea este 34
. Primul element impar este 63
, iar al doilea este 83
. Deci se va afișa în fișierul de ieșire 34 83
.
parimpar2.in
3 2 37 93 6 49 9 59
parimpar2.out
Nu Exista
Explicație
În fișier se găsesc 3
numere impare, dar se găsește doar unul par.
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 ParImpar2:
#include <bits/stdc++.h>
using namespace std;
ifstream f("parimpar2.in");
ofstream g("parimpar2.out");
int main(){
int x,i_impar,p_par,numere_pare=0,numere_impare=0,numar_par=-1,numar_impar=-1;
f>>i_impar>>p_par;
while(f>>x)
if(x%2==0)
{
numere_pare++;
if(numere_pare==p_par)
numar_par=x;
}
else
{
numere_impare++;
if(numere_impare==i_impar)
numar_impar=x;
}
if(numar_par==-1||numar_impar==-1)
g<<"Nu Exista";
else
g<<numar_par<<" "<<numar_impar;
f.close();
g.close();
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 .
Rezolvarea problemei #3236 ParImpar2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3236 ParImpar2 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!