Am aceasta problema extrem de usoara si nu pot sa inteleg de ce iau doar 50 de puncte? Daca ma poate ajuta cineva as fi recunoscator!!!
Cerinţa
Se dă un vector cu n elemente numere naturale. Să se verifice dacă toate elementele vectorului sunt diferite două câte două.
Date de intrare
Programul citește de la tastatură numărul n, apoi n numere naturale, reprezentând elementele vectorului.
Date de ieşire
Programul afișează pe ecran mesajul DA, dacă vectorul are toate elementele diferite, sau NU, în caz contrar.
Restricţii şi precizări
1 ≤ n ≤ 500
fiecare element al vectorului va avea cel mult patru cifre
Exemplu
7
5 8 10 4 9 7 6
DA
===SOLUTIA MEA===
#include
using namespace std;
int main() {
int n,v[50001];
bool diferite = true;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> v[i];
for (int i = 1; i <= n - 1; i++) {
if (v[i] == v[i + 1]) {
diferite = false;
}
}
if (diferite)
cout << "DA";
else
cout << "NU";
}
daniel22:
pentru ca tu compari doar elementul i cu elemntul i + 1, dar ar trebui sa compari cu i+1,i+2,...,n.
Spre exemplu numerele 1 2 3 4 5 1 6 nu sunt diferite doua cate doua pentru ca numarul 1 apare de doua ori.
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int main() {
int n,v[50001];
bool diferite = true;
//Citire date
cin >> n;
for (int i = 1; i <= n; i++) cin >> v[i];
//Procesare
for (int i = 1; i <=n-1; i++) {
for(int j=i+1;j<=n-1;j++){
if(v[i]==v[j]) diferite = 0;
}
}
if (diferite) cout << "DA";
else cout << "NU";
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
9 ani în urmă
Limba română,
9 ani în urmă