Se dau n si p doua numere naturale si o secventa de n numere naturale. Sa se afiseze prima si ultima pozitie a lui p in secventa. Daca p nu apare de doua ori, se va afisa mesajul “nu apare de doua ori”.
Citirea se face din fisierul “pu.in” si afisarea in fisierul “pu.out”
Obs:
2 <= n <= 1000
0 <= p, elemente din secvnta <= 1.000.000
pozitiile in secventa incep de la 0 si se termina cu n-1
Exemplu:
pu.in
10 5
3 4 5 7 5 8 5 5 9 2
pu.out
2 7
pu.in
6 3
6 2 1 8 3 9
pu.out
nu apare de doua ori
In C++ va rog
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
#include <fstream>
int main()
{
int n, p, numar, prima = -1, ultima = -1;
std::ifstream fisierIn("pu.in");
fisierIn >> n >> p;
for (int i = 0; i < n; i++) {
fisierIn >> numar;
if (numar == p) {
if (prima < 0) {
prima = i;
} else {
ultima = i;
}
}
}
fisierIn.close();
std::ofstream fisierOut("pu.out");
if (ultima < 0) {
fisierOut << "nu apare de doua ori" << std::endl;
} else {
fisierOut << prima << " " << ultima << std::endl;
}
fisierOut.close();
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă