Autor Tema: dudas en resolución algoritmo

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

23 Septiembre, 2012, 03:29 pm
Leído 1579 veces

milly

  • $$\Large \color{#5372a0}\pi\,\pi$$
  • Mensajes: 99
  • Karma: +0/-0
  • Sexo: Femenino
Hola: gente necesito una ayuda en el siguiente ejercicio

Diseñar un algoritmo para mostrar la siguiente salida
 
10  20  30  40  50
10  20  30  40
10  20  30
10  20
10
 
Sé que es una estructura combinada la que debo armar pero me surgen 2 dudas:
1°.  no sé si arrancar con columnas o filas.
2°.  ¿cómo hacer para que vayan apareciendo las filas de abajo? ¿Se debe usar un contador?

24 Septiembre, 2012, 04:28 am
Respuesta #1

pierrot

  • pabloN
  • Moderador Global
  • Mensajes: 3,447
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Lo natural sería resolver el problema con dos for anidados:

Para \( i=5,\dots,1 \)
     Para \( j=1,\dots,i-1 \)
          imprimir \( 10j \)
          imprimir espacio
     fin
     imprimir \( 10i \)
     imprimir salto de línea
fin

La implementación dependerá del lenguaje que estés empleando. Por ejemplo, en C, un programa que haga lo anterior sería:

#include <stdio.h>

int main(){

for(int i=5; i>0; i--){
     for(int j=1;j<i;j++)
          printf("%d ",10*j);
     printf("%d\n",10*i);
}

return 0;
}

Saludos

P.D. También debes tener en cuenta el tema de los espacios en blanco. Por ejemplo, el pseudocódigo tal como lo escribí yo, imprime un salto de línea "extra" al final de todo que no sé si se considerará correcto.
$_="loe  hnachaPkr erttes,urJ";$j=0;for($i=0;s/(.)(.{$j})$//;$i++){$_=$2.$_,$j+=1-$i%2,print$1}print