multipliación de un número

Iniciado por minette1988, 8 Mayo 2010, 14:13 PM

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

minette1988

Hola, tengo que mostrar la tabla de multiplicar de un número pasado como argumento, pero no me funciona:

Código (bash) [Seleccionar]
#!/bin/bash

n=1

while [ $n -le 10 ]
do
   multi= `expr $1 \* $n`
   echo $1 * $n = $multi
   n = `expr $n + 1`
done

-- KiLiaN --

Entren al chat de elhacker.net
    
   

@kln13

leogtz

#2
Prueba esto:

Código (bash) [Seleccionar]
#!/usr/bin/bash
let count=1
let multiplicacion=1
while [ $count -le 10 ]
do
let multiplicacion="$count * $1";
echo -e "$1 * $count = $multiplicacion";
let count+=1
done


Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -ne 1 ];
then
echo -e "Error de argumentos";
exit 1;
fi
count=1
multi=1 # Inicializamos a 1.
while [ $count -le 10 ];
do
multi=`expr $1 \* $count`
echo -e "$1 * $count = $multi";
count=`expr $count + 1`
done


leo@lein:~/Escritorio$ cat shell.sh
#!/usr/bin/bash
if [ $# -ne 1 ];
then
       echo -e "Error de argumentos";
       exit 1;
fi
count=1
multi=1 # Inicializamos a 1.
while [ $count -le 10 ];
do
       multi=`expr $1 \* $count`
       echo -e "$1 * $count = $multi";
       count=`expr $count + 1`
done
leo@lein:~/Escritorio$ bash shell.sh 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
leo@lein:~/Escritorio$


@kln, puede hacerlo con cualquier sentencia de control, no necesariamente for.

Código (bash) [Seleccionar]
#!/usr/bin/bash
if [ $# -ne 1 ];
then
echo -e "Error con argumentos";
exit 1;
fi
for((i = 1; i <= 10; i++));
do
echo -e "$1 * $i = `expr $1 \* $i`";
done
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com