[RETO-EJERCICIO] Perl

Iniciado por fary, 11 Enero 2014, 10:39 AM

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

fary

El objetivo es sumar las filas y las columnas de una matriz (5x5) que será introducida por el usuario, ej.

   Introduzca fila 1: 2 5 3 4 5
   Introduzca fila 2: 2 6 8 4 5
   Introduzca fila 3: 9 8 3 5 2
   Introduzca fila 4: 5 3 8 5 6
   Introduzca fila 5: 0 1 4 3 4
   Totales filas    : 19 25 27 27 12
   Totales columnas : 18 23 26 21 22


Veamos quien lo resuelve de mejor manera  ;D
Un byte a la izquierda.

engel lex

resuelvelo tu primero por la via larga :P

no desconfío, solo quiero ver que lo sabes hacer, ya que no parece reto sino tarea XD
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

fary

#2
Cita de: engelx en 11 Enero 2014, 10:57 AM
resuelvelo tu primero por la via larga :P

no desconfío, solo quiero ver que lo sabes hacer, ya que no parece reto sino tarea XD

Bueno, si te empeñas, esta sería mi solución asi de primeras:

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

use v5.16;

my @datos;
my $i = 0;
my $a;

while ($i<5)
{
print "Introduzca fila " . ($i+1) . ":";

my @temp = split(" ",<STDIN>);

for $a (0..4)
{
$datos[$i][$a] = $temp[$a];
}

$i++;
}

my (@fila,@columna);
my ($tmpfila,$tmpco);

for $i (0..4)
{
   for $a (0..4)
    {
       $tmpfila += $datos[$i][$a];  
        $tmpco += $datos[$a] [$i];
    }
    push (@fila,$tmpfila, " ");
    push (@columna,$tmpco, " ");

    $tmpco = $tmpfila = 0;
}

say "Totales filas: @fila";
say "Totales columnas; @columna";
Un byte a la izquierda.