Programación Web y Scripting > Perl

 Algun Experto En Perl Y Alma Caritativa ??

(1/1)

guarida2:
Son unos problemas que necesito urgentemente:

1. Un fichero contiene lineas con 2 o mas numeros en cada una de ellas, separados por 1 o varios espacios.
      Leer el fichero e imprimir en pantalla:
          - la suma de los numeros de cada linea.
          - El numero de numeros de cada linea

2. Un fichero contiene lineas con un numero en cada una de ellas. Se pide leer el fichero e imprimir:
          - Los numeros en orden ascendente
          - Idem orden descendente
          - La suma de todos los numeros
          - El numero de lineas del fichero.

su -:
;)  Este foro no es para hacer tabajos o tareas.
* Es para responder dudas!

explorer:
Como ha pasado bastante tiempo, se puede resolver...

Sea el fichero kk.txt

--- Citar ---23 0
21 34 4566
3 5 3
3 3 3 3 3 3 3
2 3
--- Fin de la cita ---
luego la siguiente una-línea saca el primer ejercicio:

--- Código: Text ---perl -nle '$n=$s=0;while(/(\d+)/g){ $s += $1; $n++} print "Suma: $s. Números: $n"' kk.txt Salida:
--- Citar ---Suma: 23. Números: 2
Suma: 4621. Números: 3
Suma: 11. Números: 3
Suma: 21. Números: 7
Suma: 5. Números: 2
--- Fin de la cita ---

Para el segundo ejercicio. Si tenemos el fichero kk.txt
--- Citar ---23
21
3
6
2
--- Fin de la cita ---
luego la siguiente una-línea saca el segundo ejercicio:
--- Código: Text ---perl -nle '$numero[$numero++]=$_; $suma+=$_; END{@ordenados= sort {$a <=> $b} @numero; print "@ordenados"; @ordenados=reverse @ordenados; print "@ordenados"; print $suma; print $numero}' kk.txt Salida:
--- Citar ---2 3 6 21 23
23 21 6 3 2
55
5
--- Fin de la cita ---
Queda para el alumno la tarea de explicarle al profesor cómo funcionan estas soluciones...

Navegación

[0] Índice de Mensajes

Ir a la versión completa