Cerinţa
Se dau n numere naturale. Să se determine ultimele două numere impare, nu neapărat distincte, dintre cele date.
Date de intrare
Programul citeşte de la tastatură numărul n, apoi n numere naturale, dispuse pe mai multe linii.
Date de ieşire
Programul afişează pe ecran ultimele două numere impare dintre cele date, în ordinea în care au fost citite. Dacă nu au fost citite suficiente numere impare, se va afişa doar mesajul Numere insuficiente.
Restricţii şi precizări
0 < n <= 10.000
cele n numere citite vor avea cel mult 9 cifre
Exemplu
Date de intrare
8
12 15 68 13 17
90 31 42
Date de ieşire
17 31
C++
Răspunsuri la întrebare
Răspuns de
7
hey,MatizArt :))
#include <iostream>
using namespace std;
int main()
{ int n,i,v[100],v1[100],k=0;
cout<<"Numarul numerelor:";cin>>n;
for(i=1;i<=n;i++)
{ cin>>v[i];
if(v[i]%2!=0)
{ v1[k]=v[i];
k++;
} }
cout<<v1[k-2]<<" "<<v1[k-1];
}
Utilizator anonim:
Ce ai cu Matiz? :))))
Răspuns de
7
Varianta 1 :
#include <iostream>
using namespace std;
int v[2];
int main() {
int n, a;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a;
if(a % 2 == 1) {
v[0] = v[1];
v[1] = a;
}
}
if(v[0] != 0)
cout << v[0] << " " << v[1];
else
cout << "Numere insuficiente";
return 0;
}
Varianta 2:
#include <iostream>
using namespace std;
int main() {
int n, a, b, nr1 = -1, nr2 = -1;
cin >> n >> a;
int nr = 1;
while(nr < n && a % 2 == 0){
cin >> a;
nr++;
}
nr1 = a;
for(int i = nr; i < n; i++) {
cin >> b;
if(b % 2 == 1) {
nr2 = nr1 ;
nr1 = b;
}
a = b;
}
if(nr1 != -1 && nr2 != -1)
cout << nr2 << " " << nr1;
else
cout << "Numere insuficiente";
return 0;
}
#include <iostream>
using namespace std;
int v[2];
int main() {
int n, a;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a;
if(a % 2 == 1) {
v[0] = v[1];
v[1] = a;
}
}
if(v[0] != 0)
cout << v[0] << " " << v[1];
else
cout << "Numere insuficiente";
return 0;
}
Varianta 2:
#include <iostream>
using namespace std;
int main() {
int n, a, b, nr1 = -1, nr2 = -1;
cin >> n >> a;
int nr = 1;
while(nr < n && a % 2 == 0){
cin >> a;
nr++;
}
nr1 = a;
for(int i = nr; i < n; i++) {
cin >> b;
if(b % 2 == 1) {
nr2 = nr1 ;
nr1 = b;
}
a = b;
}
if(nr1 != -1 && nr2 != -1)
cout << nr2 << " " << nr1;
else
cout << "Numere insuficiente";
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă