Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

C++

Cerinţa
Se citește un vector cu n elemente, numere naturale. Să se determine câte elemente ale vectorului sunt egale cu diferența dintre cea mai mare și cea mai mică valoare din vector.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.

Date de ieşire
Programul afișează pe ecran numărul cerut.

Restricţii şi precizări
1 ≤ n ≤ 1000
elementele vectorului vor fi mai mici decât 1.000.000

Exemplu
Intrare

5
7 7 9 2 4
Ieșire

2
Explicație
Diferența dintre cea mai mare și cea mai mică valoare din vector este 9 - 2 = 7. Valoarea 7 apare în vector de 2 ori.

Răspunsuri la întrebare

Răspuns de chiseugen
0
#include <iostream>
using namespace std;
void citeste(int* a, int n) {    for(int i = 0; i < n; i++) {        cout << "A[" << i << "]=";        cin >> a[i];    }}
void det(int* a, int n, int& minim, int& maxim) {    minim = a[0];    maxim = a[0];    for(int i = 0; i < n; i++) {        if(minim > a[i])            minim = a[i];        if(maxim < a[i])            maxim = a[i];    }}
int nr(int* a, int n) {    int minim, maxim;    det(a, n, minim, maxim);    int diff = maxim - minim;    int result = 0;    for(int i = 0; i < n; i++) {        if(a[i] == diff)            result++;    }    return result;}
int main() {    int n;    cout << "n=";    cin >> n;    int A[n];    citeste(A, n);    cout << nr(A, n);    return 0;}

Utilizator anonim: mi-a dat 0
chiseugen: 0 la ce?
Utilizator anonim: este solutia oficiala ?
chiseugen: este solutia mea. Am testat cu datele de intrare si imi da corect
Alte întrebări interesante