Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Problema de secuencia de numeros naturales en orden ascendente
Autor Mensaje
cloferba Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Otra
Facultad Regional Santa Fe

Mensajes: 42
Agradecimientos dados: 2
Agradecimientos: 2 en 2 posts
Registro en: Sep 2014
Mensaje: #1
Problema de secuencia de numeros naturales en orden ascendente Dudas y recomendaciones Algoritmos y Estructuras de Datos
Hola Gente

Estoy intentando resolver este problema de Spoj: http://www.spoj.com/problems/TCX/

Sin embargo no me da que esta bien, no se si estoy planteandolo del modo incorrecto. Basicamente ingresas un numero y dicho numero va a determinar cuantos otros numeros podes ingresar.
Luego compara siempre el numero anterior con el siguiente y asi sucesivamente.


#include <iostream>
using namespace std;
/*Se ingresa un número natural N y a continuación una secuencia de N números naturales. Informar:

“T” si la secuencia está totalmente ordenada en forma ascendente;
“C” si está casi ordenada, esto es el último número no cumple orden;
“X” en otro caso: si está desordenada, si N o algún elemento de la secuencia no es natural, etc.
*/

int main(int argc, char *argv[]) {
int primernumero,ultimonumero,contadorT,cantnumeros,otrosnumeros;
//iniciamos el contador que verifica si se cumple secuencia C o secuencia X
contadorT=0;
//variable que toma la cantidad de numeros que el usuario ingresara
cin>>cantnumeros;
//variable para comparar el 1er valor
cin>>primernumero;
do {
//contador que al llegar a cero pedira el ultimo numero para comparar.
cantnumeros--;
//comparamos a partir del 2do numero y si es decreciente lo dejamos asentado
cin>>otrosnumeros;
if (otrosnumeros<primernumero){
contadorT++;}
} while (cantnumeros!=0);
//comparamos el ultimo numero
cin>>ultimonumero;
//si el ultimo numero es mayor al anterior y el contador nunca subio, muestra T
if (ultimonumero>otrosnumeros && contadorT==0){
cout<<"T";
//si el ultimo numero es menor al anterior pero el contador sigue en cero significa que muestra C
} else if (ultimonumero<otrosnumeros && contadorT==0){
cout<<"C";
//si el contador subio 1 vez aunque sea significa que los valores antes del ultimo numero alguno fue menor al anterior
} else if (contadorT!=1){
cout<<"X"; }
return 0;
}



Muchas gracias por su ayuda
08-10-2015 21:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cloferba Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Otra
Facultad Regional Santa Fe

Mensajes: 42
Agradecimientos dados: 2
Agradecimientos: 2 en 2 posts
Registro en: Sep 2014
Mensaje: #2
RE: Problema de secuencia de numeros naturales en orden ascendente
68 visitas y nadie respondio? es una duda muy tonta?
09-10-2015 15:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Imakuni Sin conexión
Presidente del CEIT
Boxes tastes like mush
********

Ing. en Sistemas
Facultad Regional Córdoba

Mensajes: 7.001
Agradecimientos dados: 116
Agradecimientos: 122 en 80 posts
Registro en: Jul 2008
Mensaje: #3
RE: Problema de secuencia de numeros naturales en orden ascendente
Asi, a simple vista, estas comparando todos los numeros que ingresa con el primer numero (linea 23):



if (otrosnumeros<primernumero){




Me suena a que deberia de ser algo asi:


cin>>anteriorNumeroIngresado;
do {
//contador que al llegar a cero pedira el ultimo numero para comparar.
cantnumeros--;
//comparamos a partir del 2do numero y si es decreciente lo dejamos asentado
cin>>numeroIngresado;
if (numeroIngresado<anteriorNumeroIngresado){
contadorT++;
}
anteriorNumeroIngresado = numeroIngresado;
} while (cantnumeros!=0);




No lo probé, no sé si es el unico problema del codigo, ni se si es una solución.

Para que tu post tenga mas respuestas, ponele las cosas que probaste y que no funcionaron.
09-10-2015 15:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.