|
Mostrar Temas
|
Páginas: 1 [2]
|
11
|
Programación / Programación C/C++ / Media de una cadena de caracteres '1' y '0'
|
en: 15 Noviembre 2013, 10:33 am
|
Hola, tengo que realizar un programa que lea de la entrada estandar una cadena compuesta por caracteres '1' y'0' y me diga la media y las veces que se pasa de 0 a 1 y de 1 a 0, debe de omitir cualquier otro caracter. Es decir en 0110. Se debe realizar mediante una funcion que obtenga la cadena y devuelva los dos parametros resultados La media es 0,25 y el numero de saltos es 2 El problema lo tengo en el planteamiento, como no se la longitud que va a tener la cadena he pensado en leerla del teclado primero, despues le paso a la funcion la cadena y con un if diria que cuando cadena = '1' ||'0' le asigno el valor 1 o 0 a una variable auxiliar y a otra variable el valor de cadena[i+1] y asi hasta que se tope con el final de cadena o encuentre otro caracter en cuyo caso dara error, esto estaria bien? O como debo de hacerlo?. Muchas gracias
|
|
|
12
|
Programación / Programación C/C++ / obtener factorial y evitar desbordamiento de memoria con punteros
|
en: 11 Noviembre 2013, 11:51 am
|
hola, tengo que hacer un programa que tenga varias opciones, la primera es la obtencion de un factorial mediante el uso de punteros y funciones de modo que dependiendo de si la variable comprobar es un 1,2 o 0 diga si el numero introducido es negativo, es correcto o ha habido desbordamiento, el problema es que he hecho todo pero al ejecutar el programa no carga y da error, se que el fallo esta en los punteros pero no se como arreglarlo #include<stdio.h> int factorial(int numero,int *pfactorial); int main(void){ int opcion; int numero; int *pfactorial; int comprobar; int factorial; do{ printf("**********MENU**********\n"); printf("1. Factorial de un numero\n"); printf("2. Seno de un angulo\n"); printf("3. Estadisticas de una secuencia digital\n"); printf("4. Evitar n unos seguidos en una secuencia digital\n"); printf("5. Salir del programa\n"); if(opcion>0&&opcion<6){ switch(opcion){ case 1: printf("Introduzca un numero para calcular factorial:"); comprobar=factorial(numero,&factorial); if(comprobar==1){ printf(" Desbordamiento de memoria \n"); } if(comprobar==2){ printf(" El numero introduzido es negativo"); } if(comprobar==0){ printf("El Factorial del numero: %d es: %d \n", numero ,*pfactorial ); } break; case 2: break; case 3: break; case 4: break; case 5: break; default: printf("Elige una opcion valida"); break; } } }while(opcion!=5); return 0; } int factorial(int numero,int *pfactorial){ int i; int auxiliar; int factorial; int comprobar; i=1; auxiliar=1; if(numero<0){ comprobar=2; } if(numero>=0){ while((i<=numero) && (comprobar!=0)){ auxiliar=factorial; factorial=(factorial*i); if((factorial/auxiliar)!=i){ comprobar=1; } i++; } } if((factorial/auxiliar)!=i){ comprobar=0; } (*pfactorial)= factorial; return comprobar; }
|
|
|
13
|
Programación / Programación C/C++ / cifrado cesar en c
|
en: 26 Octubre 2013, 11:18 am
|
Hola buenos dias, tengo que hacer un programa que encripte y desencripte una secuencia de caracteres en mayuscula mediante el cifrado cesar, pero no logro que arranque se me queda pillado el programa y no se como resolverlo: el problema lo tengo en el scanf del do que no entra e imprime directamente el mensaje de salida diciendo que ha habido un error con el caracter introducido char cifrar(int desplazamiento, char caracter); char descifrar(); int main(void){ int respuesta; char caracter; int desplazamiento; char caracterConvertido; printf("¿Desea cifrar o descifrar?\n"); do{ printf("Introduce la clave de cifrado\n"); scanf("%d",&desplazamiento ); if(desplazamiento<0){ printf("Introduce un valor valido\n"); } }while(desplazamiento<0); if(respuesta==0){ printf("Introduce el texto a cifrar:"); do{ caracterConvertido = cifrar(desplazamiento,caracter); printf("%c",caracterConvertido ); if((caracter<='A')||(caracter>='Z')){ printf("Error en los caracteres introducidos"); } }while(((caracter>='A')&&(caracter<='Z'))||(caracter !='\n')); printf("*** El texto cifrado es (entre flechas): -->"); } if(respuesta==1){ //descifrar(); } return 0; } char cifrar(int desplazamiento, char caracter){ char caracterConvertido; caracterConvertido=caracter + desplazamiento; return caracterConvertido; }
|
|
|
17
|
Programación / Programación C/C++ / crear un programa que haga triangulos y cuadrados con caracteres de relleno
|
en: 19 Octubre 2012, 16:40 pm
|
hola, tengo que hacer esto: Diseñar y codificar en C un programa que dibuje figuras geométricas en la pantalla (salida estándar) de acuerdo a las siguientes especificaciones: El programa inicialmente solicitará por el teclado (entrada estándar) los siguientes datos: o Número de filas de la figura a dibujar (entre 1 y 15). o Desplazamiento respecto al comienzo de la pantalla del vértice inferior izquierdo de la figura. o Carácter que se usará para rellenar la figura. Tras pedir los datos anteriores, el programa dibujará la figura solicitada teniendo en cuenta lo siguiente: o Si el carácter que se usará para rellenar la figura es un dígito numérico, se dibujará un triángulo. Con cualquier otro carácter se dibujará un cuadrado. o Una vez dibujada una figura, el programa preguntará si dibujar otra o no. Si la respuesta es afirmativa, volverá a empezar un nuevo proceso de dibujo pidiendo nuevos datos. Si la respuesta es negativa, el programa finalizará su ejecución.
el problema es que lo he he hecho pero no hace nada:
#include<stdio.h> int main(void){
/*variables*/ int numero; int fila; int columna; int espacio; int blanco; char caracter; char sino;
/*entorno*/ printf("Introduce numero de filas (1-15):"); scanf("%d",&numero); printf("numero de espacios:"); scanf("%d",&espacio); printf("caracter de relleno:"); scanf("%c",&caracter); if((caracter>='0')&&(caracter<='9')){
for(fila=1;fila<=numero;fila++){ for(columna=1;columna<=numero-fila+espacio;columna++){
printf(" "); } } for(columna=1; columna<=2*numero-1; columna++){ printf("%c",caracter); } printf("\n"); }else{ for(fila=1;fila<=fila;fila++){ for(blanco=1;blanco<=fila-fila+espacio;blanco++){ printf(" "); } } for(fila=1;fila<=fila;fila++){ for(columna=1;columna<=fila;columna++){ printf("%c",caracter); } printf("\n"); } }
printf("otra figura(Ss/Nn):"); scanf("%c",&sino);
if(sino ='s'||'S'){ printf("Introduce numero de filas (1-15):"); scanf("%d",&fila); printf("numero de espacios:"); scanf("%d",&espacio); printf("caracter de relleno:"); scanf("%c",&caracter); if((caracter>='0')&&(caracter<='9')){
for(fila=1;fila<=numero;fila++){ for(columna=1;columna<=numero-fila+espacio;columna++){
printf(" "); } } for(columna=1; columna<=2*numero-1; columna++){ printf("%c",caracter); } printf("\n"); }else{ for(fila=1;fila<=fila;fila++){ for(blanco=1;blanco<=fila-fila+espacio;blanco++){ printf(" "); } } for(fila=1;fila<=fila;fila++){ for(columna=1;columna<=fila;columna++){ printf("%c",caracter); } printf("\n"); } } }else{
}
printf("muchas gracias por utilizar el programa");
return 0; }
|
|
|
18
|
Programación / Programación C/C++ / ayuda con un programa de c en eclipse
|
en: 19 Octubre 2012, 15:44 pm
|
HOla, tengo que hacer esto: Diseñar y codificar en C un programa que lea por el teclado (entrada estándar) una secuencia de caracteres terminada en ‘.’ (punto), donde el punto no pertenece a la secuencia, y escriba por la pantalla (salida estándar) el número de apariciones en la serie de cada una de las vocales (mayúsculas o minúsculas) y el número de caracteres que no son vocales. Las vocales acentuadas se no se considerarán como vocales en este ejercicio. #include <stdio.h> int main(void){ /*variable*/ char letra; int cona; int cone; int coni; int cono; int conu; int otrocarac; int contadorvoc;
cona = 0; cone = 0; coni = 0; cono = 0; conu = 0;
otrocarac = 0; contadorvoc = 0;
/*acciones*/ printf("Introduzca frase:"); scanf ("%c", &letra); while (letra!='.'){ switch (letra){ case 'a': case 'A': cona++; break; case 'e': case 'E': cone++; break; case 'i': case 'I': coni++; break; case 'o': case 'O': cono++; break; case 'u': case 'U': conu++; break; default : otrocarac++; break; } contadorvoc = cona+cone+coni+cono+conu; }
printf ("\nEl numero de caracteres que no son vocales es:%d",otrocarac); printf ("\nEl numero de vocales es:%d", contadorvoc); printf ("\n%d son aes", cona); printf ("\n%d son es", cone); printf ("\n%d son ies", coni); printf ("\n%d son oes", cono); printf ("\n%d son ues", conu);
return 0; } lo he hecho pero el problema es que se queda pillado el programa y no se que hacer. Gracias de antemano
|
|
|
|
|
|
|