Autor |
Mensaje |
Fabricio
Nivel 8
Edad: 36
Registrado: 20 Nov 2008
Mensajes: 851
Ubicación: Villa del Parque, barrio turro
Carrera: Civil
|
|
Amadeo escribió:
|
Podes agrupar toda la lógica del programa en una función aparte del main, llamar a esa función desde el main, se ejecuta el programa normalmente, y cuando termina de ejecutarse la función, preguntás (en el main) si se quiere volver a ejecutar de nuevo el programa, y si apretas ponele 'y', volves a llamar a la función y así hasta que aprete cualquier otra tecla y termina el programa.
|
Buenisimo, gracias por el dato
|
|
|
|
_________________
|
|
|
|
|
Fabricio
Nivel 8
Edad: 36
Registrado: 20 Nov 2008
Mensajes: 851
Ubicación: Villa del Parque, barrio turro
Carrera: Civil
|
|
Una consulta, hice el siguiente programa, le ingresas un numero entero de 5 digitos, y te dice si es palindromo o no (o sea capicua):
#include <iostream>
using namespace std;
int main(){
int a,b,c,d,e,numero;
do{
cout<<"ingrese un numero entero de 5 cifras";
cin>>numero;
}
while(numero<0 || numero mayor a 99999);
a=numero/10000;
b=(numero-a*10000)/1000;
c=(numero-a*10000-b*1000)/100;
d=(numero-a*10000-b*1000-c*100)/10;
e=(numero-a*10000-b*1000-c*100-d*10);
if(a==e&&b==d){
cout<<"el numero es polindromo "<<endl;
}
else{
cout<<"el numero no es polindromo "<<endl;
}
}
Con los 5 digitos anda bien, el problema es cuando le tiro un valor de mas digitos , por ejemplo 222222222222222222, entra en un bucle infinito, y no se porque, alguna idea? (en la condicion del while no puse el signo mayor porque no lo postea)
|
|
|
|
_________________
|
|
|
|
|
Amadeo
Nivel 9
Registrado: 20 Oct 2008
Mensajes: 1436
Carrera: No especificada
|
|
Medio raro, por ahí es porque la variable numero, que es de tipo entero, solo puede recibir valores que esten entre -32768 y 32767.
|
|
|
|
|
|
|
|
|
Fabricio
Nivel 8
Edad: 36
Registrado: 20 Nov 2008
Mensajes: 851
Ubicación: Villa del Parque, barrio turro
Carrera: Civil
|
|
el problema viene cuando ingreso 10 cifras, con 9 no pasa nada, mas de 10 ya le agarra la chilimpiorca
|
|
|
|
_________________
|
|
|
|
|
Polito!
Nivel 7
Edad: 35
Registrado: 09 Feb 2010
Mensajes: 332
Carrera: Mecánica
|
|
yo lo hice por cifras y a la mierda...
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,b,c,d,e;
cout<<"Ingrese los siguientes digitos"<<endl;
cout<<"ingrese primer digito ";
cin>>a;
cout<<"Ingrese segundo digito ";
cin>>b;
cout<<"Ingrese tercer digito ";
cin>>c;
cout<<"Ingrese cuarto digito ";
cin>>d;
cout<<"Ingrese quinto digito ";
cin>>e;
cout<<"Su numero es: "<<a<<b<<c<<d<<e<<endl;
if((a==e)and(b==d)){
cout<<"Su numero es palindromo"<<endl;}
else{
cout<<"Su numero NO! es palindromo"<<endl;}
system("PAUSE");
return EXIT_SUCCESS;
}
|
|
|
|
_________________ Riquelme esta felí
|
|
|
|
|
Polito!
Nivel 7
Edad: 35
Registrado: 09 Feb 2010
Mensajes: 332
Carrera: Mecánica
|
|
en realidad no lo hice asi, pero es parecido jajajajajjajaa no lo guarde que gil
|
|
|
|
_________________ Riquelme esta felí
|
|
|
|
|
koreano
Nivel 9
Registrado: 15 Jul 2010
Mensajes: 1796
Carrera: No especificada
|
|
Guarda el numero como una cadena de texto, cuando usas los tipos aritméticos, tienen tamaños fijos que dependen de la arquitectura de la máquina: 1, 2, 4, 8, etc bytes. Como en este caso te interesa la comparaciónde la representación "textual" del número, es mas fácil usar un std::string y listo. Y para chequear si es palíndromo te conviene usar un bucle o recursividad. Si el string tiene m dígitos, vas desde el primer dígito hasta el del medio y comparás que cada el n-esimo sea igual al de la posición (m-n).
|
|
|
|
|
|
|
|
|
Kartlan
Nivel 5
Edad: 43
Registrado: 09 Ago 2005
Mensajes: 176
Ubicación: Once
Carrera: Informática
|
|
Bueno.. posteo por que mire tarde el post anterior... y no quiero tirar a la basura todo lo que escribi...
Y... salvo que el ejercicio sea agarra un variable de tipo entero y chequear que sea palindromo... yo lo hago con string y a la merd...
std::string numero
cin >> numero;
bool esnumero = (numero.find_first_not_of("012345679") == std::string::npos);
y despues un algoritmo para ver si una palabra es palindromo... ergo... mirar caracter por caracter...
|
|
|
|
|
|
|
|
|
moly
Nivel 4
Edad: 35
Registrado: 01 Mar 2009
Mensajes: 69
Carrera: Mecánica
|
|
Che como les fue en el parcial (a los que rendimos con cabrera)?? Que les pareció??
En el 1º para que este bien bien, había que usar estructuras, o como mínimo vectores,pero no lo vimos
El 2º era facil.
bueno digo, de pronto, me parece...
|
|
|
|
|
|
|
|
|
Fabricio
Nivel 8
Edad: 36
Registrado: 20 Nov 2008
Mensajes: 851
Ubicación: Villa del Parque, barrio turro
Carrera: Civil
|
|
En general parcial me parecio re denso, e imposible para gente que no haya practicado esa guia que dieron 1 semana antes del parcial, o no iba haciendo los ejercicios que daban en clase, y me parecio re poco tiempo el que dieron para resolverlo (solo 1 hora y 40 min)
El 1ero era muy denso (igual lo mira un informatico y se caga de risa seguro), yo use un do while, dentro del do while puse todo lo de las comisiones, con contadores para que vaya aumentando la comision total, y para poder sacar el promedio, y que vaya mostrando cuanta comision tuvo cada vendedor a medida que iba ingresando, el while finalizaba si el que usaba el programa no queria ingresar mas vendedores (puse un cout que decia, si quiere seguir ingresando vendedores presione la tecla S, y si no, la N, y el while se cumplia si mi variable era igual a S), dentro del do, hice como 4 if's, uno anidado, y afuera uno para la comision menor a 100, y el otro para el sexo del vendedor (de ahi salian los cout con empleado o empleada, no hice lo de la comision mayor.
El 2do era mas facil, hice el programa normalmente, y le meti la funcion mruv, con parametros (float x, float y, float z) (ahi pifie xq puse en vez de float, puse int, y del main cuando invocaba la funcion iba con (aceleracion, tiempo (con el incremento), velocidad)
|
|
|
|
_________________
|
|
|
|
|
moly
Nivel 4
Edad: 35
Registrado: 01 Mar 2009
Mensajes: 69
Carrera: Mecánica
|
|
Si opino lo mismo
Para el nivel que llevaba la clase me pareció dificil.
El 1° sobre todo...
Y si la verdad poco tiempo yo llegue justo...
Hoy no pude ir a clase, dijeron algo de los parciales??
|
|
|
|
|
|
|
|
|
Fabricio
Nivel 8
Edad: 36
Registrado: 20 Nov 2008
Mensajes: 851
Ubicación: Villa del Parque, barrio turro
Carrera: Civil
|
|
moly escribió:
|
Hoy no pude ir a clase, dijeron algo de los parciales??
|
Nop, yo igual le pregunte a cabrera apenas entregue el parcial, para cuando los iban a tener corregidos y dijo "2 semanas" osea la clase que viene, y le pregunte hoy un par de cosas que me quedaron mal en el parcial y no les dan mucha bola, asi que, para desaprobarlo hay que tener algun error muy groso supongo...
Ah, hoy vimos vectores y funciones con vectores
|
|
|
|
_________________
|
|
|
|
|
moly
Nivel 4
Edad: 35
Registrado: 01 Mar 2009
Mensajes: 69
Carrera: Mecánica
|
|
fabricio_622 escribió:
|
moly escribió:
|
Hoy no pude ir a clase, dijeron algo de los parciales??
|
Nop, yo igual le pregunte a cabrera apenas entregue el parcial, para cuando los iban a tener corregidos y dijo "2 semanas" osea la clase que viene, y le pregunte hoy un par de cosas que me quedaron mal en el parcial y no les dan mucha bola, asi que, para desaprobarlo hay que tener algun error muy groso supongo...
Ah, hoy vimos vectores y funciones con vectores
|
Uh, eso es importante creo, bueno despues pido una carpeta...
Gracias por la info.
Saludos
|
|
|
|
|
|
|
|
|
Polito!
Nivel 7
Edad: 35
Registrado: 09 Feb 2010
Mensajes: 332
Carrera: Mecánica
|
|
fabricio_622 escribió:
|
En general parcial me parecio re denso, e imposible para gente que no haya practicado esa guia que dieron 1 semana antes del parcial, o no iba haciendo los ejercicios que daban en clase, y me parecio re poco tiempo el que dieron para resolverlo (solo 1 hora y 40 min)
El 1ero era muy denso (igual lo mira un informatico y se caga de risa seguro), yo use un do while, dentro del do while puse todo lo de las comisiones, con contadores para que vaya aumentando la comision total, y para poder sacar el promedio, y que vaya mostrando cuanta comision tuvo cada vendedor a medida que iba ingresando, el while finalizaba si el que usaba el programa no queria ingresar mas vendedores (puse un cout que decia, si quiere seguir ingresando vendedores presione la tecla S, y si no, la N, y el while se cumplia si mi variable era igual a S), dentro del do, hice como 4 if's, uno anidado, y afuera uno para la comision menor a 100, y el otro para el sexo del vendedor (de ahi salian los cout con empleado o empleada, no hice lo de la comision mayor.
El 2do era mas facil, hice el programa normalmente, y le meti la funcion mruv, con parametros (float x, float y, float z) (ahi pifie xq puse en vez de float, puse int, y del main cuando invocaba la funcion iba con (aceleracion, tiempo (con el incremento), velocidad)
|
Totalmente de acuerdo con fabri, el examen no fue acorde con la cursada.
Igual cuando entro Cabrera con ese saquito, nos sentencio a todos! jajajaja
|
|
|
|
_________________ Riquelme esta felí
|
|
|
|
|
Cachengue
Nivel 4
Registrado: 31 Ago 2009
Mensajes: 112
Carrera: Industrial
|
|
Pretendiendo hacer factorial sin hacer funcion... por que no funciona?
El return lo que hace es volver al for pasando al parametro siguiente? eso no lo tengo claro
#include <iostream>
int main()
{int n,i,f=1;
cin>>n;
for (i=1;i<=n;i++)
{f=f*i;
return f;}
cout<<f;
}
|
|
|
|
|
|
|
|
|
|
Ir a página Anterior 1, 2, 3, 4, 5, 6, 7, 8, 9 Siguiente
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|