ejercicio en c

Iniciado por Lamarkus, 4 Octubre 2010, 15:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Lamarkus

Hola muy buenas el ejercicio dice lo siguiente dada una secuencia de numeros acabada en -1, encontrar los numeros que sean consecutivos.

Este es el codigo que tengo hecho pero no se donde esta el error :S cuando cargo el programa m sale numeros del 0al 9 y m salen numeros repetidos que no e puesto porfavor si alguno m puede echar un cable muchas gracias.

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main(){
int n,sum,max=0,i;

cout<<"Introduce una secuencia de enteros acabada en -1: "<<endl;
cin>>n;

while(n!=-1){

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

cin>>n;
}

if(max<sum) max=sum;
if(max>1) cout<<"El numero "<<n<<" sale "<<max<<" veces consecutivas"<<endl;
}

}


system("pause");
return 0;
}


merci i disculpen las molestias



[L]ord [R]NA


Khronos14

Por lo que entendí del enunciado del ejercicio:

Citar
Dada una secuencia de numeros acabada en -1, encontrar los numeros que sean consecutivos.

Lo que se me ocurre es ir leyendo los números que se introducen y guardarlos en un array hasta que se introduzca -1, luego muestras por pantalla los números consecutivos.

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char *argv[])
{
int count = 0, lista[29];

cout << "Introduce una secuencia de enteros acabada en -1: " << endl;

do{
    cin >> lista[count];
    count++;
}while (lista[count-1] != -1 && count < 30);

int u, i = 0;

while (i < count - 1){
        u = 0;
        while (lista[i + u] + 1 == lista[i + u + 1]){
            cout << lista[i + u] << ",";
            u++;
        }
        if (u > 0){
          cout << lista[i + u] << " son consecutivos" << endl;
          i = i + u;
        }
        else i++;   
}

  system("pause>nul");
  return 0;
}


Saludos.