Página 1 de 1

Sacar de array bidimensional información

NotaPublicado: 2010-10-05 08:01 @376
por tigre10
Poseo un

Tipo_Arreglo: array [1..100,1..100] of string

en la cual almaceno NÚMERO DE IDENTIFICACIONES y deseo comparar una nueva identificación introducida con las que ya se tienen en el arreglo, y que me dé en cuál ubicación o posición se encuentra la coincidencia ¿Cómo lo haría?

¡¡¡Muchísimas Gracias!!!

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-05 08:59 @416
por salva
En un arreglo, independientemente de la dimensión, la única forma de buscar algo es de manera secuencial. O sea, mirando en todas las posiciones una por una hasta que aparezca lo que estás buscando:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my @array = ([...], [...], ..., [...]);

sub search {
  my ($item, $array) = @_;
  for my $i (0..$#$array) {
    my $row = $array->[$i];
    for my $j (0.. $#$row) {
      return ($i, $j) if $row->[$j] eq $item;
    }
  }
  return ();
}

my ($i, $j) = search("foo", \@array)
  or die "not found";
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-05 09:33 @440
por tigre10
Muchísimas gracias, Muy útil.

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-06 06:26 @310
por tigre10
Buenos días, amigos. En realidad no sé cómo utilizar bien lo que me has dado por las variables que no las entiendo. Para ser más específico tengo esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using delphi Syntax Highlighting
  1. type
  2.   Tipo_Arreglo = array [1..100,1..100] of String;
  3.  
  4. Var
  5.    Arreglo_CI, Arreglo_Nombre, Arreglo_Direccion: Tipo_Arreglo;
  6.  
  7. Begin
  8. x:=x+1;
  9.   Arreglo_CI[x]:= inputbox('Introduzca RIF o C.I del cliente','RIF ó C.I.','');
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


«Esto para pedir el ingreso de un número de identificación, y el mismo debe compararse con el arreglo que ya se tiene para saber si hay coincidencias, y si las hay, debe darme cuál posición ocupa para luego con ello sacar de otro arreglo una información de Nombre y Apellido de la misma posición.»

«Vale mencionar que ese ImputBox me arroja el siguiente error y no sé por qué.»

Incompatible types:'Array' and String'

Sé que dice que son incompatibles, ¿debo transformar uno de ellos? ¿Cómo?

¿Y para buscar la posición en el arreglo no se podría por POS?

Muchísimas gracias, ¡¡¡me ayudarías una inmensidad!!!

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-06 06:35 @316
por salva
¿einh? ¿Pero tú qué lenguaje de programación estás utilizando? ¡Esto es un foro sobre Perl y lo que tu has pegado no es Perl!

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-06 06:36 @316
por explorer
tigre10, te han contestado con un trozo de código en lenguaje Perl.

Sería interesante que dijeras en qué lenguaje quieres escribir tu programa, ya que veo que no es Perl (al menos, al primer vistazo).

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-06 06:46 @324
por tigre10
Disculpa, es que soy nuevo en la programación, y es Delphi 7.

MUCHÍSIMAS GRACIAS

Re: Sacar de array bidimensional información

NotaPublicado: 2010-10-06 09:31 @438
por explorer
¿No has definido Tipo_Arreglo como un arreglo de dos dimensiones? Pues en inputbox() sólo devuelve un String, y estás intentando asignarlo a Arreglo_CI[x], que es un Array.

Debería ser así: Arreglo_CI[x][1], o así: Arreglo_CI[x, 1], por ejemplo, para guardarlo en una de las posiciones del arreglo (en la primera columna de la x-ésima fila).