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

nu inteleg de ce la suma numerelor care au cifrele in ordine crescatoare imi afiseaza 0 chiar daca am introdus 1,2,3..
#include

using namespace std;

int main()
{
int x,n,i,s=0,smax,c,aux;
cin>>n;
for(i=1;i<=n;i++)
cin>>x;
aux=x;
c=1;
while(x<9)
{
if(n%10<=n%10%10)
c=0;
n/=10;
if(c=0)
s+=aux;

}

cout<
return 0;
}

Răspunsuri la întrebare

Răspuns de serban1337
1

Răspuns:

Raspuns

Explicație:

Salut!

In primul rand, programul este gresit deoarece:

1. while(x<9) o sa se repete la infinit, astfel ducand la eroare

2. tu iei n%10, nu x%10 si tu imparti n/=10 adica cate cifre sa poti introduce tu la inceput

3. O verificare pentru a vedea suma celor crescatoare este (e facuta de mn)

#include <iostream>  

using namespace std;  

int main()

{

   int v[100];

   int n,i,s=0;

   cin>>n;

   for(i=1;i<=n;i++)

       cin>>v[i];

   for(i=1;i<=n;i++)

   {

       if(v[i+1]-v[i]==1||v[i-1]-v[i]==-1)

           s+=v[i];

   }

   cout<<s;

   return 0;

}


serban1337: As sugera sa folosesti vectori pentru astfel de lucruri.
serban1337: A, si 4. Nu poti sa afli daca e crescator fara vectori, deoarece tu dupa ce citesti x, direct faci acel while, necitind urmatorul x
Alte întrebări interesante