Esta es mi solución:
Animaos a publicar vuestros códigos. El ejercicio es interesante.
Código (c) [Seleccionar]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void printchars(int __char, int ntimes) {
for(int i = 0; i < ntimes; ++i)
putchar(__char);
}
int main()
{
int N;
int nspaces;
int nasterisks;
scanf("%d", &N);
nspaces = N * 2 - 1;
nasterisks = 1;
for(int i = 0; i < N; ++i) {
printchars(' ', nspaces);
printchars('*', nasterisks);
--nspaces;
nasterisks += 2;
putchar('\n');
}
nasterisks = 1;
for(int i = 0; i < N; ++i) {
printchars(' ', nspaces);
printchars('*', nasterisks);
printchars(' ', (N - i) * 2 - 1);
printchars('*', nasterisks);
--nspaces;
nasterisks += 2;
putchar('\n');
}
return 0;
}Animaos a publicar vuestros códigos. El ejercicio es interesante.