• Publicidad

Solucionar un error

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Solucionar un error

Notapor leonardocollado » 2012-12-12 14:11 @632

#!/usr/bin/perl
print "Ingrese la cantidad de números en el conjunto:";
$n=<stdin>;
$i=0;
$x=1;
while($i<$n)
{
print "Ingrese el número $x:";
$x=$x+1;
$num=<stdin>;
$dat[$i]=$num;
$i=$i+1;
}

$i=0;
$sum=0;
while($i<$n)
{
$sum=$sum+$dat[$i];
$i=$i+1;
}
$prom=$sum/$n;
print "El promedio es $prom\n"


$i=0;
$max=$dat[$i];
$min=$dat[$i];
while($i<$n)
{
if($max<$dat[$i])
{
$max=$dat[$i];
}
if($min>$dat[$i])
{
$min=$dat[$i];
}
$i=$i+1;
}
print "El número máximo es $max\n";
print "El número mínimo es $min\n";


$i=0;
while($i<$n)
{
$j=0;
$frec[$i]=0;
while($j<$n)
{
if($dat[$j]==$dat[$i])
{
$frec[$i]=$frec[$i]+1;
}
$j=$j+1;
}
$i=$i+1;
}

print "Las frecuencias de cada dígito son las siguientes:\n";


$i=0;
while($i<$n)
{
print "$[$frec[$i]\n";
$i=$i+1;
}

print "Los números ordenados de mayor a menor son:\n";
$j=0;
while($j<$n)
{
$i=0;
$mayor=0;
while($i<$n)
{
if($mayor<$dat[$i])
{
$mayor=$dat[$i];
$k=$i;
}
$i=$i+1;
}
print "$mayor\n";
$dat[$k]=0;
$j=$j+1;
}


Scalar found where operator expected at ./tarea13diciembre.pl line 26, near "$i"
(Missing semicolon on previous line?)
syntax error at ./tarea13diciembre.pl line 26, near "$i"


Ayúdenme a solucionar ese error, ya que no he podido solucionarlo.
leonardocollado
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2012-11-17 23:17 @012

Publicidad

Re: solucionar un error

Notapor reLlene » 2012-12-12 15:14 @676

leonardocollado, si algo he aprendido de Perl es que sus errores son MUY explícitos. Este caso es una muestra más de ello:

Scalar found where operator expected at ./tarea13diciembre.pl line 26, near "$i"
(Missing semicolon on previous line?)
syntax error at ./tarea13diciembre.pl line 26, near "$i"


Dónde se esperaba un operador existe un escalar ($i). ¿No será que en la línea anterior estás olvidando un ";" («semicolon» en inglés)?
Error de sintaxis en la línea 26, cerca de la variable "$i"


Y exactamente de eso se trata. Fíjate que en esta línea
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #entre la línea 22 y 26
  2. print "El promedio es $prom\n"
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Repito, estás olvidando el ";".

Un saludo. :wink:
Sexo : unzip ; strip ; touch ; grep ; finger ;mount ; fsck ; more ; yes ; umount ; sleep.
Avatar de Usuario
reLlene
Perlero nuevo
Perlero nuevo
 
Mensajes: 97
Registrado: 2012-06-04 07:16 @344

Re: solucionar un error

Notapor leonardocollado » 2012-12-12 16:10 @715

Gracias, ya arrancó la programación :D
leonardocollado
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2012-11-17 23:17 @012

Re: solucionar un error

Notapor reLlene » 2012-12-18 15:17 @678

Vale, dale a Aceptar Respuesta para tildarlo como resuelto, leonardocollado

Un saludo. ;)
Sexo : unzip ; strip ; touch ; grep ; finger ;mount ; fsck ; more ; yes ; umount ; sleep.
Avatar de Usuario
reLlene
Perlero nuevo
Perlero nuevo
 
Mensajes: 97
Registrado: 2012-06-04 07:16 @344


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 30 invitados