|
Mostrar Mensajes
|
Páginas: 1 2 3 [4] 5
|
31
|
Programación / Programación C/C++ / Re: Imprimir un patron de asteriscos
|
en: 2 Febrero 2014, 18:31 pm
|
Bueno, ya esta solucionado, habia que tocarle un par de cosas mas Lo dejo por si a alguien mas le pudiera hacer falta #include <stdio.h> int main() { int fila1 = 1; int fila2 = 1; int contador = 0; while (contador <= 8){ fila1=fila2=1; if (contador%2 == 0){ while (fila1 <= 8){ fila1 ++; } contador ++; } if (contador%2 != 0){ while (fila2 <= 8){ fila2 ++; } contador ++; } } return 0; }
Aqui la salida * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
leosansan ahí te corrijo una pequeño fallo que tienes, pero igualmente muchas gracias ya que lo hice volando en cuanto me comentaste Te falta reiniciar las variables fila1 y fila2 cada vez que invocas al while del contador.
Pero una forma, creo que más simple, y que produce la salida deseada:podría ser:#include <stdio.h> int main() { int fila1 = 1; int fila2 = 1; int contador = 1; for(contador=1;contador<=4;contador++) { fila1=fila2=1; while (fila1 <= 8){ printf("* "); fila1++; } printf("\n"); while (fila2 <= 8){ printf(" "); printf("* "); fila2++; } printf("\n"); } return 0; }
Claro que a lo mejor sólo puedes usar while. En este caso valdría:#include <stdio.h> int main() { int fila1 = 1; int fila2 = 1; int contador = 1; while (contador<=4) { fila1=fila2=1; while (fila1 <= 8){ printf("* "); fila1++; } printf("\n"); while (fila2 <= 8){ printf(" "); <---/*Esto no deberia de ir aqui, por eso no te cuadra las lineas*/ printf("* "); /*no se donde, pero aqui no ;) */ fila2++; } printf("\n"); contador++; } return 0; }
¡¡¡¡ Saluditos! ..... !!!! Un saludooo
|
|
|
32
|
Programación / Programación C/C++ / Re: Imprimir un patron de asteriscos
|
en: 2 Febrero 2014, 18:12 pm
|
Si se me olvido comentarlo, solo puedo usar while e if que he lo que he estudiado asta ahora. Vaya, hace algunos ejercicio tuve que hacer eso mismo y ahora se me paso voy a terminar este con lo que me has dicho, estudio lo que me pusiste y miro las diferencias Un saludo
|
|
|
33
|
Programación / Programación C/C++ / Imprimir un patron de asteriscos
|
en: 2 Febrero 2014, 17:19 pm
|
Hola, buenas a todos de nuevo Estoy atascado en un ejercicio del libro que estoy estudiando y algo se me tiene que escapar porque ya probé mil cosas y no doy con la tecla, os ongo el enunciado. Esto es lo que tengo hecho, y no le veo el fallo de porque solo me saca una vez cada linea #include <stdio.h> int main() { int fila1 = 1; int fila2 = 1; int contador = 1; while (contador <= 8){ if (contador/2 != 0){ while (fila1 <= 8){ fila1 ++; } contador ++; } if (contador/2 == 0){ while (fila2 <= 8){ fila2 ++; } contador ++; } } return 0; }
Y esto es lo que me tira este codigo Pues eso, si podeis orientarme haber donde fallo, porque no lo veo Un saludo
|
|
|
34
|
Programación / Programación C/C++ / Re: C: Encontrar los 2 numeros mayores
|
en: 18 Enero 2014, 11:14 am
|
Vaya, si antes expongo el problema, antes encuentro la solucion en un post antiguo de leosansan. Sorry por no usar eficientemente las busquedas antes aqui la solucion: /* Programa del libro Tema 3 * ejercicio 3.27 pagina 83 * Introduzca 10 valores y encuentre los dos mas altos*/ #include <stdio.h> int contador = 1; int numero; int mayor = 0; int segundo = 0; int main() { while (contador <=5){ printf("Introduzca un numero: "); contador += 1; if(numero > mayor){ segundo = mayor; mayor = numero; } else if (numero > segundo){ segundo = numero; } } printf("El numero mayor es %d y el segundo mayor %d\n", mayor , segundo ); return 0; }
|
|
|
35
|
Programación / Programación C/C++ / C: Encontrar los 2 numeros mayores
|
en: 18 Enero 2014, 10:38 am
|
Buenas a todos, os prometi que volveria y aqui vuelvo con otro problemilla, os cuento. Aclaro antes que nada que estoy siguiendo el libro de deitel y solo he estudiado if, else, while. Asi que no os salgais de ahí que ya para mi es mandarin xD Me he atrancado en el problema que me pide ingresar unos numeros y que te imprima los dos mayores, que me diga el valor mas alto lo hago bien, pero no soy capaz de sacar el segundo mayor. Ya le he dado varias vueltas sin exito. Como siempre supongo que fallo en las mates y no en el lenguaje en si. Os pongo el que a mi parecer seria mas lógico que funcionara: /* Programa del libro Tema 3 * ejercicio 3.27 pagina 83 * Introduzca 10 valores y encuentre los dos mas altos*/ #include <stdio.h> int contador = 1; int numero; int mayor = 0; int segundo = 0; int main() { while (contador <=5){ printf("Introduzca un numero: "); contador += 1; if(numero > mayor){ /*si num es mayor que mayor*/ mayor = numero; /* asigna el valor a mayor*/ if (numero > segundo){ /*si numero es mayor que segundo*/ if (numero < mayor){ /*y mas pequeño que mayor*/ segundo = numero; /*asigna el valor a segundo*/ } } } printf("El numero mayor es %d y el segundo mayor %d\n", mayor , segundo ); return 0; }
Viendo que no funcionaba reduje la entrada a 5, asi pruebo mas rapido, que seguro alguien me dice que el enunciado pone introduce 10 xD. El segundo valor siempre me lo deja como 0, una muestra: edito: Le di a enviar en vez a previsualizar xD
|
|
|
37
|
Programación / Programación C/C++ / Re: Separar numeros en digitos individuales
|
en: 5 Enero 2014, 11:33 am
|
Supongo que todo eso que me comentas será mejor, solo tengo el problema que recien empiezo, jamas he visto #define, void, unsigned long long, fflush( stdout ), for, getchar, .........etc . Puro mandarin para mi ahora mismo jajajaja. Solo he dado 2 temas del libro, en los que se ha visto solo printf, scanf, return e if, dar tipo y valor a una variable, comentarios, %d, \n, \t, etc.... creo no haberme dejado ninguno atras. Un saludo
|
|
|
38
|
Programación / Programación C/C++ / Re: Separar numeros en digitos individuales
|
en: 5 Enero 2014, 09:40 am
|
Muchas gracias a los dos, en cuanto os leí me puse a ello y ya está solucionado . Veo que ando flojo en mates y logica. Aqui os pego lo que ha salido #include <stdio.h> int main() { int numero, a, b, c, d, e; printf("Escribe un numero entero con 5 digitos: "); if (numero >= 10000){ if (numero <= 99999){ a = numero / 10000; b = (numero % 10000) / 1000; c = (numero % 10000) % 1000 / 100; d = ((numero % 10000) % 1000) % 100 / 10; e = (((numero % 10000) % 1000) % 100) % 10; printf("%d %d %d %d %d\n", a , b , c , d , e ); } } return 0; }
Y funcionar funciona ya puedo seguir estudiando pero no dudeis que me vereis por aqui todos los dias con dudas
|
|
|
39
|
Programación / Programación C/C++ / Separar numeros en digitos individuales
|
en: 5 Enero 2014, 00:42 am
|
Hola a todos Soy muy nuevo en esto de la programación, justo empece hace unos dias a aprender C y ya tengo mi primer problema asi que vengo a pedir consejo o alguna pista. El libro que estoy siguiendo es el de deitel, la 4ª edicion y me quede atascado en el siguiente problema Escriba un programa que introduzca un numero de cinco digitos, que separe el numero en sus digitos individuales y que despliegue los digitos separados entre si mediante 3 espacios cada uno. [Pista: Utilice combinaciones de la division entera y el operador modulo]Lo llevo todo bastante bien por el momento, pero no se me ocurre el como puedo hacer para separar los digitos, supongo que mas que un problema con el lenguaje es de planteamiento, pero bueno. Por ahora el libro solo a tocado printf, scanf e if Decir tambien que apenas tengo estudios y los que tengo son de la edad del bronce xD asi que no seais muy malos conmigo Un saludo
|
|
|
|
|
|
|