Autor Tema: duda con array  (Leído 2194 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
duda con array
« en: 09 de Noviembre de 2009, 02:11:07 »
hola, me a surguido una duda, la cual no se su respuesta, y espero que me la puedan resolver. se save que un array se puede recorrer con un for de forma facil, si es que el array esta separado con comas, me refiero a esto:

Código: [Seleccionar]
int array[8]={1,2,3,4,5,6,7,8}
entonces para recorrer este array quedaria:
Código: [Seleccionar]
for(a=0;a<=8;a++){
dato=array[a];
printf("los valores del array son: %i",dato)

dando como resultado:
Código: [Seleccionar]
los valores del array son:1
los valores del array son:2
los valores del array son:3
los valores del array son:4
los valores del array son:5
los valores del array son:6
los valores del array son:7
los valores del array son:8

pero mi duda es, que pasa si quiero sacar los valores de un array si es que este no esta separado por comas, osea que a simple vista se lea como un numero. me refiero a esto:

Código: [Seleccionar]
int array[8]={12345678}
como puedo desglozar esto ?? para leerlo de la misma forma que el ejemplo anterior ??????
bueno por que pregunto esto,?? es por el motivo que estoy implementando un codigo en el cual tengo un for, y en este almaseno un string con unos valores, pero quiero leer este string valor por valor y no como un todo. bueno lo que hace el for en este caso es incrementar en 1 mi estring, para ir dando un espacio de "memoria", para conformar mi cifra resultante, pero mi otra duda es, que si esta cifra que me resulta de mi string la puedo descomponer de la misma manera que que el ejemplo anterior ?????


Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: duda con array
« Respuesta #1 en: 09 de Noviembre de 2009, 05:07:01 »
Hola!
quizas esto te ayude.
http://www.todopic.com.ar/foros/index.php?topic=24588.0
y por favor usar el buscador.
Gracias

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: duda con array
« Respuesta #2 en: 09 de Noviembre de 2009, 11:44:40 »
Que tal japifer_22!
Si quieres desglosar el numero debes usar unas comas, sino el compilador vera que el primer elemento vale 12.345.678  :shock:   ahora bien como declaraste el array de tipo int (entero de 8 bits) este te lo truncara y solo te mostrara los 8 bits menos significativos que serai algo como 0x4E  :mrgreen:

Saludos

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: duda con array
« Respuesta #3 en: 09 de Noviembre de 2009, 11:58:33 »
Si la idea era declararlo como un string  :roll: :
Código: [Seleccionar]
int array[9]="12345678"Lo recorres de la misma manera   :mrgreen: o detectando el carácter nulo ('\0') que indica terminación del string.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: duda con array
« Respuesta #4 en: 09 de Noviembre de 2009, 12:11:18 »
hola bueno, primero que todo, gracias por lo cometido, pero comento que no me avia dado cuenta los array, por que los que quiero trabajar son del tipo char, en donde quiero implementar algo asi: (osea esto no se si esta bien, es lo que se me biene a la caveza ahora  :mrgreen:)

Código: [Seleccionar]
for(a=0;a<=5;a++){

      do{               //espera hasta...
         c=kbd_getc();  
         }while(c==0);   //...pulsar una tecla

      string[a]=c; // aqui es donde guardo los valores obtenidos por c
}
pero ahora si quiero desglozar este string, que supuesto ya tiene los datos guardados: seria algo así ??:

Código: [Seleccionar]
for(b=0;b<=5;b++)
{
valores=string[b];

printf("\r\n los valores de mi array son: %c",valores);
}

entonces cuando guardo los valores de c en mi string esto como queda guardado en forma 1,2,3,.....,n ó 123....n ???
y si recorro este string de la forma que mensiono que daria de resultado valores=1     valores=2 .... valores=n ?? ó  valores=123.....n ???.
bueno como meniono tengo duda de esto y no e provado lo que mensiono por que quieroestar seguro de lo que ago  :mrgreen:, bueno saludos

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: duda con array
« Respuesta #5 en: 09 de Noviembre de 2009, 12:57:54 »
hola bueno implemente lo que e puesto y bueno funciona de la manera que pensava  :-/ :mrgreen: les dejo una foto del asunto en cuenstion, y el codigo para probar lo mensionado en el otro post anterior:

Código: [Seleccionar]
#include <16F877a.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD, NOWRT
#use delay (clock=4000000) //Fosc=20Mhz
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
#include <stdlib.h>         //Libreria de manego de string

char string[16],limit;
char c,total;
float comprovarClave;
signed char i,x;
void main (void)
{
while(TRUE){
   for(i=0;i<16;i++){
      do{               //espera hasta...
         c=getc();  
         }while(c==0);   //...pulsar una tecla
      
      if(c==0x0D){
        break;
        }  
limit=i+1;                //longitud de la clave
string[i]=c;               //almacena clave(maximo 16 caracteres)
comprovarClave=atof(string);
printf("\r\n caracter %c",string);
printf("\r\n valor %f",comprovarClave);
   }
  
  for(x=0;x<=limit;x++){
  
total=string[x];
printf("\r\n recorriendo string: %c",total);
}
}
}

y la foto:
http://www.subirimagenes.com/fondosycapturas-dibujo-3532308.html

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: duda con array
« Respuesta #6 en: 25 de Noviembre de 2009, 07:11:25 »
hola para no abrir otro hilo aqui ago la siguiente pregunta...tambien relasionado con array
resulta que quiero guardar palabras en un array, el cual defino de la siguiente manera:

Código: [Seleccionar]
char nmeses[12]={"Enero","Febrero",'Marzo','Abril','Mayo','Junio','Julio',
                      'Agosto', 'Septiembre','Octubre','Noviembre','Diciembre'};
pero esto no me lo reconoce el compilador, como puedo generar este array ??????

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: duda con array
« Respuesta #7 en: 25 de Noviembre de 2009, 09:35:17 »
Hay que pensar un poco! El numero que se pone dentro del [  ] es para indicar cuantos caracteres/elementos tendrá el array, tu indicas 12 y quieres guardar 80, revisa el siguiente link para estudiar el tema.

Una ayudita... vas a tener que usar un arreglo de 2 dimensiones.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: duda con array
« Respuesta #8 en: 26 de Noviembre de 2009, 13:44:00 »
hola suky efectivamente es de [12][11], y gracias por el enlace

saludos!


 

anything