Tabla de multiplicar

Iniciado por _OLAYA_, 4 Octubre 2015, 09:10 AM

0 Miembros y 1 Visitante están viendo este tema.

_OLAYA_

(for anidados).

Escribir  un programa, que genere la tabla de multiplicar con el siguiente formato:

     1    2    3    4    5    6    7    8    9   10
1    1    2    3    4    5    6    7    8    9   10
2         4    6    8   10   12   14   16   18   20
3              9   12   15   18   21   24   27   30
4                  16   20   24   28   32   36   40
5                       25   30   35   40   45   50
6                            36   42   48   54   60
7                                 49   56   63   70
8                                      64   72   80
9                                           81   90
10                                               100

Necesito una orientación para empezar el programa en C. No código, si no como empezarlo. Me imagino que por el enunciado seran for dentro de otros for ¿o me equivoco? Podeis ayudarme?

Gracias


Seyro97

#1
Te voy a presentar el código porque no sabría explicarlo bien. Ahora bien, te pido ENCARECIDAMENTE que entiendas el código, para así tener mi conciencia tranquila :P. Si no se entiende algo, pregunta!!

Código (cpp) [Seleccionar]
#include <stdio.h>

unsigned int CountDigits(unsigned int uNumber);

int main() {
printf("      1    2    3    4    5    6    7    8    9   10\n\n");

for(unsigned int uRow = 1u; uRow <= 10u; uRow++) {
if(CountDigits(uRow) == 1)
printf("\n %u", uRow);
else
printf("\n%u", uRow);

for(unsigned int uCol = 1u; uCol <= 10u; uCol++) {
if(uCol >= uRow) {
for(unsigned int i = 0; i < 5u - CountDigits(uCol*uRow); i++)
fputc(' ', stdout);

printf("%u", uRow*uCol);
} else {
printf("     ");
}
}
}

fgetc(stdin);
return 0;
}

unsigned int CountDigits(unsigned int uNumber) {
if(uNumber <= 9)
return 1;

if(uNumber <= 99)
return 2;

if(uNumber <= 999)
return 3;

printf("No se ha podido contar el numero de cifras");
return 0;
}
Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!