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

De ce nu apare nimic dupa ce introduc valori?

#include

using namespace std;

int main(){
long v[1001];
unsigned n,i,max=0,min=100000,x,y;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{
if(v[i]>max)
{max=v[i];
y=i;}
if(v[i] {min=v[i];
x=i;}}
for(i=x;i<=y;i++)
cout<<v[i]<<' ';

Răspunsuri la întrebare

Răspuns de Gabi754
1
Vezi ca la conditia de minim nu ai scris tot, poate doar aici cand ai transcris: if (v[i] < min). Referitor la faptul ca nu iti afiseaza nimic, am înțeles din algoritm ca vrei sa afisezi numerele cuprinse intre cel mai mic si cel mai mare element din vecrorul v, si exista o situatie in care nu ti afiseaza nimic: atunci cand minimul este plasat in vecror dupa maxim.
Exemplu: v[] = { 4, 5, 2, 98, 1, 7, -3, 8}
- in acest caz for- ul tau va porni de la pozitia 6 (sau 7 daca incepi de la 1) si va merge pana la pozitia 3 (sau 4 daca incepi de la 1), cu alte cuvinte, nu se va intra in blocul for
- rezolvare: inainte de afisare compara cele doua pozitii si pornește afisarea de la cea mai mica

grasuxxl30: Problema era ca am pus 100000 la unsigned cred..Oricum , mersi pentru raspuns.
Alte întrebări interesante