Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: fary en 11 Enero 2014, 10:39 am



Título: [RETO-EJERCICIO] Perl
Publicado por: fary en 11 Enero 2014, 10:39 am
El objetivo es sumar las filas y las columnas de una matriz (5x5) que será introducida por el usuario, ej.

Código:
   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


Título: Re: [RETO-EJERCICIO] Perl
Publicado por: engel lex 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


Título: Re: [RETO-EJERCICIO] Perl
Publicado por: fary en 11 Enero 2014, 12:22 pm
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
  1. #!/usr/bin/perl
  2.  
  3. use v5.16;
  4.  
  5. my @datos;
  6. my $i = 0;
  7. my $a;
  8.  
  9. while ($i<5)
  10. {
  11. print "Introduzca fila " . ($i+1) . ":";
  12.  
  13. my @temp = split(" ",<STDIN>);
  14.  
  15. for $a (0..4)
  16. {
  17. $datos[$i][$a] = $temp[$a];
  18. }
  19.  
  20. $i++;
  21. }
  22.  
  23. my (@fila,@columna);
  24. my ($tmpfila,$tmpco);
  25.  
  26. for $i (0..4)
  27. {
  28.    for $a (0..4)
  29.    {
  30.        $tmpfila += $datos[$i][$a];  
  31.        $tmpco += $datos[$a] [$i];
  32.    }
  33.    push (@fila,$tmpfila, " ");
  34.    push (@columna,$tmpco, " ");
  35.  
  36.    $tmpco = $tmpfila = 0;
  37. }
  38.  
  39. say "Totales filas: @fila";
  40. say "Totales columnas; @columna";