• Viernes 3 de Mayo de 2024, 06:40

Autor Tema:  Re: Arrays  (Leído 1352 veces)

dadevil_g

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Arrays
« en: Lunes 10 de Noviembre de 2003, 23:32 »
0
Mi pregunta es con un array :think:
¿Cómo puedo hacer con un array lo siguiente? :question:
ej.
¿Cuantos numeros desea introducir?
4
Digite sus numeros
1.- 5
2.- 8
3.- 3
4.- 1
Los numeros en el orden inverso son
1.- 1
2.- 3
3.- 8
4.- 5
:losiento: si la pregunta es muy idiota pero no tengo mucha experiencia con los arrays (ni los conozco jejejeje)
Salu2....  \"UN PROBLEMA A LA VEZ\"; empieza por lo sencillo, luego te verás haciendo lo imposible.

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Arrays
« Respuesta #1 en: Martes 11 de Noviembre de 2003, 07:17 »
0
Hola dadevil_g:

Acá hay un pequeño ejemplo de lo que necesitas......pero hay un problema......cuando tu declaras un array en C++, siempre debes especificar su tamaño.....y en tu caso, tu quieres que el usuario decida ese tamaño......para eso deberías redimensionar el array.......aunque por lástima no se como hacer eso en C++.

En fín, ahí te va el código:


 
Código: Text
  1.  
  2. #include <conio.h>
  3. #include <iostream.h>
  4.  
  5. int main()
  6. {
  7. char array[4];  //Declaras el array
  8. int i;
  9.  
  10. clrscr();
  11. for(i=0;i<4;i++)
  12. {
  13. cout<<"Ingresa un numero a la matriz: ";
  14. cin>>array[i];  //Guardas cada valor en una posición del array
  15. }
  16.  
  17. for(i=4;i>=0;i--) //Vas en reversa
  18. {
  19. cout<<"n"<<array[i];  //Muestras los valores del array, uno por uno
  20. }
  21. getch();
  22. }
  23.  
  24.  

Saludos,
:devil:

dadevil_g

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Arrays
« Respuesta #2 en: Miércoles 12 de Noviembre de 2003, 01:09 »
0
Weno como mencione me hace falta conocer los arrays, y con esto los comprendo un poco, aver si luego te contacto para que me expliques funciones y arrays, nos vemos luego gracias :hippi:
Salu2....  \"UN PROBLEMA A LA VEZ\"; empieza por lo sencillo, luego te verás haciendo lo imposible.

dadevil_g

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Arrays
« Respuesta #3 en: Miércoles 12 de Noviembre de 2003, 01:16 »
0
Los arrays se pueden utilizar tambien en C? porque bueno es lo que estoy viendo y como que C++ se me hace muy complicao, ahora, este mismo programa, en caso de que en C se puedan utilizar los arrays como iria ?:think:
:hippi:
Salu2....  \"UN PROBLEMA A LA VEZ\"; empieza por lo sencillo, luego te verás haciendo lo imposible.

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Arrays
« Respuesta #4 en: Miércoles 12 de Noviembre de 2003, 04:48 »
0
Bueno......la verdad es que nunca he programado en C....solo en C++, pero supongo que debe ser lo mismo....sería cuestion de probarlo......a ver si me consigo un compilador de C y te aviso.......por cualquier cosa, mi mail es [email:134671jt]singlepathpe@yahoo.es[/email:134671jt]

:devil:

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Arrays
« Respuesta #5 en: Lunes 17 de Noviembre de 2003, 09:33 »
0
Hola:
  Pues sí, los arrays se utilizan exactamente igual en C que en C++. Así que si buscabas algo más sencillo, me temo que no has tenido suerte.

Saludos.

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Arrays
« Respuesta #6 en: Viernes 21 de Noviembre de 2003, 00:34 »
0
Bueno.... en C el uso de arrays es igual que en C++ como ya te han indicado, en cuanto a hacer un array de tamaño vble no hay ningún secreto... existe una función en C que se llama malloc (stdlib.h) que te permite hacer una asignación dinámica de memoria, esto es, te permite definir el espacio en memoria que vas necesitar dependiendo de los requerimientos de tu programa una vez que éste esté en ejecución....  Una vez que hayas terminado con esa memoria se vacía con la función free.
Estas dos finciones tienen sus hermanos en C++, new y delete.
Bien, como veo que andas un poco perdido te voy a entregar el ejemplo que propones realizado para que entiendas su uso:

#include<stdio.h>
#include<stdlib.h>

void main()
{
   int *a,i,n_elem;

   printf("Introduce numero de elementos del array: ");
   scanf("%d",&n_elem);
   a=malloc(n_elem*sizeof(int));   //asignamos memoria para n_elem de tipo int
   for(i=0;i<n_elem;i++)
   {   
      printf("nIntroduce dato %d: ",i+1);
      scanf("%d",a+i);
   }
   for(i=n_elem;i>0;i--)
      printf("n%d",a[i-1]);
}

Como verás he utilizado punteros, que son como los arrays (los arrays no son más que punteros que se manejan de otra manera), en fin como verás el código funciona, es corto y te proporciona un gran abanico de posibilidades, pues a partir de ahora no necesitas saber el tamaño de un dato o un array antes de realizar el programa.  Según vayas ahondando el el mundo de la programación verás que la asignación dinámica de memoria se hace indispensable en ciertos campos (manejo de ficheros, listas, pilas y colas...)
Un saludo.
No hay tonto más molesto que el ingenioso.