Informatică, întrebare adresată de xEminescu123, 8 ani în urmă

salut, imi da 80p pe pbinfo, ce e gresit?
#include

using namespace std;
int ok=1,i,n,aux,a,b,v[1001];
int main()
{
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
a=v[1];
b=v[n];
for(i=1;i<=n;i++)
{
if(a>b)
{
aux=a;
a=b;
b=aux;
}
}
for(i=a;i<=b;i++)
{
if(v[i]b)
ok=0;
}
if(ok==0)
cout<<"NU";
else
cout<<"DA";
return 0;
}
si problema:
Cerința
Se dă un vector cu n elemente, numere naturale. Să se verifice dacă toate elementele vectorului aparţin intervalului închis determinat de primul şi ultimul element.

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 va afișa pe ecran mesajul DA, dacă vectorul are proprietatea cerută, respectiv NU în caz contrar.

Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1000



Exemplu
Intrare

7
15 3 8 15 10 10 3
Ieșire

DA

Răspunsuri la întrebare

Răspuns de birsansilviu
0

Răspuns:

Indexarea unui array(vector) in C, incepe de la 0.

cin >> n;

int val_citita, int index = 0;

for(i = 0; i < n; i++) {

  cout >> "introduceti valoarea: ";

  cout << val_citita;

  if (val_citita < 1000) {

     v[index] = val_citita;

     index++;

} else {

 cout >> "numarul trebuie sa fie mai mic de 1000";

}

Acum ai vectorul format;

Tu urmeaza sa parcurgi vectorul incepand de la cel de-al doilea element, pana la penultimul. Apoi verifici pentru fiecare element daca apartine intervalului specificat de catre primul si ultimul element al vectorului

ceva de genul:

If (v[i] >= v[0] && v[i] <= v[n - 1]

cout >> "da"

Alte întrebări interesante