|
1072
|
Programación / Programación C/C++ / Re: [C] Problema con bucle
|
en: 3 Enero 2013, 23:45 pm
|
Gracias por la ayuda leosansan pero necesito que compruebe que hay tres mayúsculas seguidas, y por el código que has enviado cuenta las mayúsculas que hay incluso estando separadas.
Comprueba si funciona ahora: #include <stdio.h> int esMayus(char c); int main() { char letra; int cont=0; printf("Escribe una secuencia de texto: "); scanf("%c", &letra); while(letra != '.') { if(esMayus(letra) == 1) { scanf("%c", &letra); if(esMayus(letra) == 1) { scanf("%c", &letra); if(esMayus(letra) == 1) { scanf("%c", &letra); if(esMayus(letra) ==0) cont++; } } } scanf("%c", &letra); } if ((cont>=1)) printf ("Encontrado %d veces",cont); else puts ("No encontrado"); return 0; } int esMayus(char c) { if(c >= 'A' && c <= 'Z') return 1; else return 0; }
Saluditos!. .........
|
|
|
1073
|
Programación / Programación C/C++ / Re: [C] Problema con bucle
|
en: 3 Enero 2013, 21:33 pm
|
Hola, tengo que hacer un programa en el que se escriba la frase y detecte si hay tres mayusculas consecutivas mediante una función. Citándote: Y aquí dejo el código que tengo hasta ahora, pero que claramente SÍ funciona:#include <stdio.h> int esMayus(char c); void main() { char letra; int cont=0; printf("Escribe una secuencia de texto terminada en punto: "); scanf("%c", &letra); while(letra != '.') { if(esMayus(letra) == 1) cont++; scanf("%c", &letra); } (cont==3)? puts ("Encontrado"):puts ("No encontrado"); return 0; } int esMayus(char c) { if(c >= 'A' && c <= 'Z') return 1; else return 0; }
Saluditos!. ......... P.D: avesudra el uso de char no implica que debas estar dándole al enter cada vez, pruébalo y lo veras..
|
|
|
1075
|
Programación / Programación C/C++ / Re: Ordenación de tablas
|
en: 3 Enero 2013, 17:10 pm
|
45.0 184.0 56.0 67.0 134.3 89.1 12.2 210.2 30.4 95.9 181.0 76.8 Graciasss!!!! Me falta la matriz de control, aunque me extraña la matriz que me pasas ya que no se repite ningún número ........Saluditos!. ...........
|
|
|
1076
|
Programación / Programación C/C++ / Re: Necesito ayuda con un problemita
|
en: 3 Enero 2013, 15:42 pm
|
De hecho sí existe solución, la encontré a mano.
Necesito por favor me guien para terminarlo, muchisimas gracias por sus respuestas
A mano no creo que cuente mucha, sería más bien una comprobación que una solución. Te vuelvo a postear el código pero corregido, ya que tenía una cifra de más en el anterior y no iniciaba la suma a cero en cada intento. Hace lo que quieres: suma de 1 a 50 y si no da de 2 a 51 y si no da de 3 a 52, etc.#include<stdio.h> int main() { int i = 0,j=0; int suma = 0; while (1){ for(i=1 +j; i <= 50+j; i++){ suma += i*i; } if (suma==26110725){ break; } j++;suma=0; }printf("La suma es %d desde %d hasta %d\n",suma,i-50,i-1); /*****************Para comprobar******************/ /*suma=0; for(j=i-50 ; j <= i-1; j++){ printf("%d x %d = %d\n ", j,j,j*j); suma += j*j; } printf("La suma es: %d\n", suma);*/ return 0; }
Saluditos!. ...
|
|
|
1077
|
Programación / Programación C/C++ / Re: Necesito ayuda con un problemita
|
en: 2 Enero 2013, 23:54 pm
|
Hola, necesito ayuda con un programita que no puedo codear. La idea es, ver si existen 50 cuadrados perfectos consecutivos que sumen 26110725; y ademas verificar si la solución es única o hay mas.
La idea de flony es buena pero no tiene en cuenta que sean 50 los cuadrados. En cualquier caso tampoco da,no existe solución: #include<stdio.h> int main() { int i = 0,j=0; int suma = 0; while (suma<=261100725){ for(i=1 +j; i <= 50+j; i++){ suma += i*i; } j++; }printf("La suma mas proxima es %d",suma); return 0; }
Saluditos!. ......
|
|
|
1078
|
Programación / Programación C/C++ / Re: ayuda con mi source
|
en: 2 Enero 2013, 20:20 pm
|
bueno gracias por hecharle un ojo a mi code reduje el codigo tanto como pude y todavia sigo teniendo problemas :/ quite las lineas donde aparecia getchar() y nada le quite los ; a las sentencias que contiene condicionales(eso tambien era un error) y nada....seguire tratando hasta que el codigo me funcione tomare tu consejo...
Pues quitando los getchar, los punto y coma y "poniendo las llaves a los if" funciona ..... eso sí, le añadí un else por si se equivocan de signo y poco más:#include <stdio.h> int main() { float val1,val2; /* declaro las variables que almacenaran los numeros/valores con que se va a trabajar */ char c; /* declaro la variable que almacenara el signo/operador '+','*','/' o '-' */ char op; /* declaro la variable que usare para las opciones */ puts("Elige una opcion:"); /* le digo al usuario cuales son las opciones disponibles */ puts("1 = Sumar"); puts("2 = Restar"); puts("3 = Multiplicar"); puts("4 = Dividir"); op=getchar(); /* le paso los parametros de la variable o a la funcion getchar() */ if(op == '1'){/* si o igual a '1' */ puts("As elegido sumar"); /* informo al usuario la opcion que ha elegido */ scanf("%g%c%g",&val1,&c,&val2); /* almaceno los numeros/valores y el signo operador */ if(c == '+') /* lee el signo/operador y si es igual a + que haga lo de abajo */ printf("%g",val1 + val2); /* y finalmente realizo la operacion elegida he imprimo el resultado */ else puts("Error en el signo"); } if(op == '2'){/* lo mismo que arriba xD */ puts("As elegido restar!"); scanf("%g%c%g",&val1,&c,&val2); if(c == '-') printf("%g",val1 - val2); else puts("Error en el signo"); } if(op == '3'){ puts("As elegido multiplicar!"); scanf("%g%c%g",&val1,&c,&val2); if(c == '*') printf("%g",val1 * val2); else puts("Error en el signo"); } if(op == '4'){ puts("As elegido dividir!"); scanf("%g%c%g",&val1,&c,&val2); if(c == '/') printf("%g",val1 / val2); else puts("Error en el signo"); } return(0); }
Saluditos!. ......
|
|
|
1079
|
Programación / Programación C/C++ / Re: [src]Hello world
|
en: 2 Enero 2013, 16:56 pm
|
no soy experto en el asunto ni nada de eso pero a mi entender no veo que mi codigo tenga un array segun he visto en otros codigos un array(si no mal recuerdo) es una sentencia del tipo: var nombrequequierodarleamivariable[] <==esto es un array¡¡¡ y esto otro su valor==>= {valor valor valor valor}; Por lo tanto: char hello[5],world [6] son arrays ¡ ¡ ¡
no estoy seguro, pero corrigeme si me equivoco.... Sí hombre, cuando hello y world tomen el valor de hola y mundo serán:hello[5]={'h','o','l','a','\0'} world [6]={'m','u','n','d','o','\0'}[
Y por cierto, los tamaños están bien declarados, aunque sospecho que por chiripa. Saluditos!. ...........
|
|
|
|
|
|
|