Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: indict en 6 Julio 2013, 20:02 PM

Título: suma de una cola
Publicado por: indict en 6 Julio 2013, 20:02 PM
Hola,

no entiendo porqué el programa no muestra la suma de una cola. 

Gracias :D

Código (cpp) [Seleccionar]
#include<iostream>
#include<queue>

using namespace std;

int suma(queue<int>&c){
    int s=0;
    while(!c.empty()){
    s=s+(c.front());
    c.pop();
                      }
    return s;
    }

int main() {
    queue<int>c;
    int e;
    cout<<"introduzca los elementos"<<endl;
    cin>>e;
    while(e!=0){
                c.push(e);
                cin>>e;
                }
    cout<<"La cola es"<<endl;
    cout<<"[";
    while(!c.empty()){
    cout<<c.front()<<" ";
    c.pop();
                      }
    cout<<"]";
    cout<<endl;
    int s=suma(c);
    cout<<"Y la suma es"<<"  "<<s<<endl;
   
   
   
   
    system("pause");
    return 0;
    }
Título: Re: suma de una cola
Publicado por: satu en 6 Julio 2013, 20:35 PM
Buenas!!

No muestra la suma porque cuando entra en la función "suma" la cola está vacía!!!! La vacías cuando la muestras jeje

Saludetes
Título: Re: suma de una cola
Publicado por: indict en 6 Julio 2013, 20:46 PM
Gracias satu no había caído :D
Lo único que ahora si me muestra la suma pero no la cola.

Código (cpp) [Seleccionar]
#include<iostream>
#include<queue>

using namespace std;

int suma(queue<int>&c){
   int s=0;
   while(!c.empty()){
   s=s+(c.front());
   c.pop();
                     }
   return s;
   }

int main() {
   queue<int>c;
   int e;
   cout<<"introduzca los elementos"<<endl;
   cin>>e;
   while(e!=0){
               c.push(e);
               cin>>e;
               }
   
   
   
   int s=suma(c);
   cout<<"Y la suma es"<<"  "<<s<<endl;
   cout<<endl;
   
   cout<<"La cola es"<<endl;
   cout<<"[";
   while(!c.empty()){
   cout<<c.front()<<" ";
   c.pop();
   cout<<"]";
                     }



   system("pause");
   return 0;
   }
Título: Re: suma de una cola
Publicado por: CCross en 6 Julio 2013, 21:15 PM
Te lo he dejado asi creo que funciona, no lo he probado

Código (cpp) [Seleccionar]
#include<iostream>
#include<queue>

using namespace std;

int suma(queue<int>&c)
{
    int s=0;

    while(!c.empty()){
      s=s+(c.front());
      cout << "[" << c.front() << "]" << " ";
      c.pop();
    }

    return s;
}
int main()
{
    queue<int>c;
    int e, s;

    cout << "introduzca los elementos" <<endl;
    cin >> e;

    while(e!=0){
        c.push(e);
        cin>>e;
    }
    cout << "La cola es" << endl;
    s = suma(c);

    cout << endl;

    cout << "Y la suma es" <<"  " << s << endl;

    return 0;
}


Saludos  :)
Título: Re: suma de una cola
Publicado por: indict en 6 Julio 2013, 21:18 PM
¡¡Gracias!! :DD