elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Duda pascal array unidimensional
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda pascal array unidimensional  (Leído 3,200 veces)
pyxolo

Desconectado Desconectado

Mensajes: 29


Share your tasks.


Ver Perfil
Duda pascal array unidimensional
« en: 2 Septiembre 2011, 18:46 pm »

Código
  1. program vec1;
  2.  
  3. uses crt;
  4.  
  5. var
  6.        i, k, promedio: integer;
  7.        resul: real;
  8.        matriz : array[1..[size=15pt]k[/size]] of integer;
  9. BEGIN
  10.  clrscr;
  11.  writeln('Tu promedio.');
  12.  writeln();
  13.  writeln('Cuantas asignaturas tienes?'); readln(k);
  14.  promedio := 0;
  15.  
  16.  for i:=1 to k do
  17.  
  18.    begin
  19.    write('Nota ', i, ': '); readln(matriz[i]);
  20.    promedio := promedio + matriz[i];
  21.    end;//for
  22.  
  23.  clrscr;
  24.  resul := promedio / k;
  25.  write('Su promedio es de: ');
  26.  write(resul:0:2);
  27.  readkey;
  28. END.
  29.  

El problema que me surge es cuando declaro el array... me gustaría establecer el índice final a través del usuario...

¿Alguna ayudita?


En línea

🍀 What's sauce for the goose is sauce for the gander. 🍀
Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Duda pascal array unidimensional
« Respuesta #1 en: 2 Septiembre 2011, 20:23 pm »

En Pascal, si no me equivoco, no se puede establecer el tamaño dependiendo de una variable que el usuario inserte. (Que me corrijan si me equivoco).

Una posible solución sería declararte una constante con el número máximo de elementos del array, leer el tamaño que inserte el usuario, sí es superior muestras mensaje por pantalla diciendo que no es posible, sí es menor que la constante entonces haces las operaciones pertinentes.

Saludos.


En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Duda pascal array unidimensional
« Respuesta #2 en: 2 Septiembre 2011, 23:43 pm »

En Pascal, si no me equivoco, no se puede establecer el tamaño dependiendo de una variable que el usuario inserte. (Que me corrijan si me equivoco).

Pues sí que se puede. Tienes que declarar tu array de esta manera:

Código
  1. var
  2. matriz: array of integer;

Y para establecer el tamaño del array tienes que utilizar la función SetLength.

Código
  1. SetLength(matriz, 4);

De esta manera, matriz tendría 4 elementos. Usando SetLength siempre empieza en 0 el array. Puedes conocer donde empieza y donde acaba un array utilizando Low() y High().

Saludos.
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Duda pascal array unidimensional
« Respuesta #3 en: 3 Septiembre 2011, 02:18 am »

Pues sí que se puede.

Gracias por la corrección, no tenía ni idea de que sí que se podía.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con array
Java
anman 4 3,205 Último mensaje 2 Abril 2008, 22:29 pm
por Lu15_CL4
Array bidimensional en pascal.
Ejercicios
sv51 4 14,305 Último mensaje 21 Junio 2008, 22:30 pm
por sv51
Problema con la función borrar en un arrays unidimensional [C++]
Programación C/C++
Jesusinfo 3 2,426 Último mensaje 23 Julio 2016, 07:08 am
por Jesusinfo
[Ayuda] Array unidimensional
Java
Desu Nya 1 2,506 Último mensaje 14 Junio 2017, 14:51 pm
por 3n31ch
[C] Array unidimensional
Programación C/C++
Darklexis312 4 2,314 Último mensaje 23 Mayo 2018, 14:00 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines