Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   StringGrid y contadores (https://www.clubdelphi.com/foros/showthread.php?t=18912)

sergio_015 26-02-2005 20:24:14

StringGrid y contadores
 
Que tal, estoy haciendo un stringgrid con valores de 0 y 1 solamente. Necesito sacar las lineas que tengan mas "1". Exactamente seria la mitad, de las lineas. Por ejemplo si mi matriz es de 20*5, tengo que sacar las 10 lineas o filas q tengan mas "1". El stringgrid lo rlleno de manera aleatoria, bnasicamente lo q requiero es contar cuantos "1" tiene la fila y escoger las 10 mas altas. Espro me puedan ayudar. Gracias

el_enigma1 01-03-2005 00:09:04

el mismo tema
 
Cita:

Empezado por sergio_015
Que tal, estoy haciendo un stringgrid con valores de 0 y 1 solamente. Necesito sacar las lineas que tengan mas "1". Exactamente seria la mitad, de las lineas. Por ejemplo si mi matriz es de 20*5, tengo que sacar las 10 lineas o filas q tengan mas "1". El stringgrid lo rlleno de manera aleatoria, bnasicamente lo q requiero es contar cuantos "1" tiene la fila y escoger las 10 mas altas. Espro me puedan ayudar. Gracias

En StringGrid.Cells[numeroColumna,numeroRenglon] puedes obtener el dato y luego lo comparas con 0 o 1 segun prefieras.
Código:

  indice1 := 0;//integer
  indice2 := 0;//integer
  while indice1 < StringGrid.ColCount do
    begin
          while indice2 < stringGrid.RowCount do
            begin
                  if  StringGrid.Cells[indice1, indice2] =1 then
                    begin
                                  contadorDeUnos = contadorDeUnos + 1;
                            //aqui te lo dejo a ti
                            //puedes usar un contador para cada fila indicada por indice 1
                            //un contador para todas y meter cada valor en otro arreglo y
                            //luego compararlo, etc.
                            //el caso es que bueno ya tue decides si quieres la respuesta
                            //completa o quieres probar por ti
                    end;
 
                  indice2 := indice2 + 1;
            end:
          indice1 := indice1 + 1;
    end;



La franja horaria es GMT +2. Ahora son las 23:32:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi