Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - NOB2014

#91
Hola.
Esto debe ser sencillo pero no logro resolverlo, el caso es que no  me acepta esta línea de código.-

//for(i=longitud; i>=0; i--,j++)

Me da el siguiente error, no al compilar sino al ejecutar.-



#include <stdio.h>
#include <string.h>

int main(void){
unsigned int enteros[]={15,12,28,18,05,33,21},i=0, longitud=0, copia[7], j=0;
longitud = sizeof enteros / sizeof *enteros;

printf("\n Original....:");
for(i=0; i<longitud; i++){
printf("%d ", enteros[i]);
}

//for(i=longitud; i>=0; i--,j++){
for(i=longitud; i>0; i--,j++){
copia[j] = enteros[i];
}

printf("\n\n Invertido...:");
for(i=0; i<longitud; i++){
printf("%d ", copia[i]);
}

return 0;
}


Bueno espero de vuestra ayuda.-       
Saludos.
#92
Hola.
Cuando ingreso más de 3 cifras todo funciona a la perfección, pero si ingreso menos de 4 el programa se queda detenido en el bucle while de limpieza de buffer de teclado, es como cuando tiene algo para leer (más de 3 cifras) todo funciona Ok .-

#include <stdio.h>
#include <stdlib.h>

int main(void){
unsigned int ok=0, ch=0, longitud=0;
char numeroChar[7] = "";

do{
system("cls");
printf("\n\n Ingrese un entero....:");
fgets(numeroChar, 5, stdin);
longitud = strlen(numeroChar);
while((ch = getchar()) != '\n');
numeroChar[longitud-1] = '\0';
printf("\n\n Ingresaste..: %s   -----> longitud = %d", numeroChar, longitud);
printf("\n\n 0 para continuar otro para salir....:");
scanf("%d" , &ok);
while((ch = getchar()) != '\n');
}while(ok==0);

return 0;
}
   

Bueno espero que me ayuden porque hace 2 días que estoy googleando y practicando y no logro la solución y por favor un poco de teoría del porqué.-       

Saludos.

#93
Hola.-
Les dejo un pequeño programa que luego voy a seguir completando, lo que quiero saber es si se puede antes de convertir la cadena a entero verificar si el número ingresado sobrepasa el máximo permitido por el tipo int.-

#include <stdio.h>
#include <limits.h>
#include <stdlib.h>

int main(){
char numero[10] = "";
int ok=0, i=0;

do{
system("CLS");
ok=0;
printf("\n Introduce el numero que deseas convertir a binario\n maximo [%d]...:", INT_MAX);
fgets(numero, 10, stdin);
numero[strlen(numero)-1]='\0';

for(i=0;numero[i] != '\0'; i++){
if(numero[i] <=47 || numero[i] >=58){
ok=1;
printf("\n Solo debe ingresar numeros, Pulse una tecla para intentarlo nuevamente..."); getchar();
}
}
}while(ok == 1);

printf("\n %s", numero);
return 0;
}


Bueno es todo.-
Saludos.