Rezolvare in C++, daca functioneaza codul dau COROANA
Andrei și-a creat propriul său joc, care este destul de ușor de jucat. Fiecare jucător trebuie să iși aleagă câte un cartonaș de joc care conține un șir de n numere naturale. Pentru a câștiga, concurentul trebuie să descopere cel mai rapid VECINUL VALORIC al fiecărei valori din șir.
Un vecin valoric al unei valori x dintr-un șir este un număr y cu proprietatea că y e minimul dintre toate numerele din șir mai mari decât x.
Pentru a se asigura că poate să câștige de fiecare dată, Andrei te-a rugat să îi creezi un program care determină vecinii valorici ai celor n elemente din șirul de numere de pe un cartonaș de joc.
Date de intrare
Se citește de la tastatură un număr natural n, reprezentând numărul de elemente de pe un cartonaș de joc, urmat de un șir de n numere naturale, reprezentând elementele șirului de numere de pe acel cartonaș.
Date de ieșire
Programul va afișa pe ecran un șir de n numere naturale reprezentând șirul de vecini valorici pentru fiecare element x din șir. Dacă un element din șirul citit nu are vecin valoric, se va afișa "-1" pentru acesta.
Restricții și precizări
0 < n ≤ 100
0 ≤ x ≤ 1 000
Exemplu
Date de intrare Date de ieșire
10
15 47 5 12 21 5 64 85 64 12 21 64 12 15 47 12 85 -1 85 15
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
using namespace std;
int main() {
const int NUM = 100001;
int n, v[NUM];
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> v[i];
}
for (int px = 1; px <= n; ++px) {
int mn = -1;
for (int py = 1; py <= n; ++py) {
if (v[py] > v[px] && (v[py] < mn || mn == -1))
mn = v[py];
}
cout << mn << " ";
}
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
9 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă