PDA

Ver la versión completa : [Ayuda] Ejercicio de programación en C



nakio
19/03/2008, 22:01
Hola a todos, veréis tengo aquí un cutre ejercicio de progración en C que me trae loco y fijo que con tres bucles FOR se resolvería.
La cosa consiste en que introduces un número n por ejemplo el 5 y en pantalla te debería salir lo siguiente:

5555555555
5444444445
5433333345
5432222345
5432112345
5432112345
5432222345
5433333345
5444444445
5555555555

Resultando unos marcos concéntricos en los que el número decrece hasta llegar a 1, siendo el número de filas y de columnas 2*n.

He acabado la batería de 30 ejercicios usando en los del final punteros y movidas más complicadas pero aquí el **** ejercicio número 4 se me ha atravesado.

En fin, a ver si me podéis echar una mano ;)

Saludos y gracias, Nakio.

joanvr
19/03/2008, 22:48
Aqui lo tienes:


#include <stdio.h>

int main() {
int n, i, j, k;
scanf("%d", &n);
for (i = n; i > 0; i--) {
for (j = i, k = n; j < n; j++, k--) printf("%d", k);
for (j = 0; j < i*2; j++) printf("%d", k);
for (j = i, k++; j < n; j++, k++) printf("%d", k);
printf("\n");
}
for (i = 1; i <= n; i++) {
for (j = i, k = n; j < n; j++, k--) printf("%d", k);
for (j = 0; j < i*2; j++) printf("%d", k);
for (j = i, k++; j < n; j++, k++) printf("%d", k);
printf("\n");
}
}


Espero haber entendido correctamente lo que pedias.
El codigo a lo mejor está un poco ofuscado, pero espero que te sirva.

esp3tek
19/03/2008, 22:52
juto joan, siempre eclipsandome, yo aqui pensandolo...

nakio
19/03/2008, 23:20
Aqui lo tienes:


#include <stdio.h>

int main() {
int n, i, j, k;
scanf("%d", &n);
for (i = n; i > 0; i--) {
for (j = i, k = n; j < n; j++, k--) printf("%d", k);
for (j = 0; j < i*2; j++) printf("%d", k);
for (j = i, k++; j < n; j++, k++) printf("%d", k);
printf("\n");
}
for (i = 1; i <= n; i++) {
for (j = i, k = n; j < n; j++, k--) printf("%d", k);
for (j = 0; j < i*2; j++) printf("%d", k);
for (j = i, k++; j < n; j++, k++) printf("%d", k);
printf("\n");
}
}


Espero haber entendido correctamente lo que pedias.
El codigo a lo mejor está un poco ofuscado, pero espero que te sirva.

Mil gracias eres un crack! yo lo más que había conseguido era esto:

4444
4333
4322
4321

Si trataba de hacer algo con las áreas que quedaban preparaba un pifostio de cuidado.


juto joan, siempre eclipsandome, yo aqui pensandolo...

Yo llevo más de una semana con el atravesado y él en pocos minutos ZAS!

Saludos, Nakio.

joanvr
20/03/2008, 00:12
Nada hombre, a su servicio ^_^ Que conste que solo he ayudado pq tu también tienes un macbook como el mio xDD

nakio
20/03/2008, 00:36
Nada hombre, a su servicio ^_^ Que conste que solo he ayudado pq tu también tienes un macbook como el mio xDD

Ahí ahí! solidaridad entre los hermanos macbookeros! :P

Saludos, Nakio.