Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-03-2015
gonza22salta gonza22salta is offline
Registrado
NULL
 
Registrado: mar 2015
Posts: 3
Poder: 0
gonza22salta Va por buen camino
Dada una lista de números enteros, encontrar la sublista ordenada mas grande

Dada una lista de numeros enteros, encontrar la sublista ordenada mas grande y mostrarla... es mi primer dia de clase en programacion. nunca tuve nada parecido a esto por lo tanto es totalmente nuevo...como puedo resolver esa consigna? todo es en pantalla de comandos...desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 14-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
gonza22salta,

¡Bienvenido al Club Delphi!

Te sugiero revisar la Guía de estilo de los foros, recomendada a todos los nuevos ingresos al Club Delphi.

¡Gracias por tu cooperación!

Saludos,

Nelson.
Responder Con Cita
  #3  
Antiguo 14-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
gonza22salta,

Cita:
Empezado por gonza22salta
...es mi primer día de clase en programación...nunca tuve nada parecido a esto por lo tanto es totalmente nuevo...


Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 14-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
gonza22salta,

Cita:
Empezado por gonza22salta
...Dada una lista de números enteros, encontrar la sublista ordenada mas grande y mostrarla...


Revisa este código:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   A1 : Array[0..9]  of Integer = (5, 3, 8, 1, 9, 7, 4, 2, 10, 6);
   i : Integer;

procedure BubbleSort(var A : Array of Integer);
var
   i , j : Integer;
   Aux: Integer;

begin

   for j := Low(A) to High(A) - 1 do
      for i := j + 1 to High(A) do
      begin
         if A[j] > A[i] then
         begin
            Aux := A[j];
            A[j] := A[i];
            A[i] := Aux;
         end;
      end;

end;

begin

   writeln('Arreglo numerico sin ordenamiento');

   for i := Low(A1) to High(A1) do
      write(IntToStr(A1[i]) + ' ');

   writeln(#10);
   writeln('Arreglo numerico con ordenamiento');

   BubbleSort(A1);

   for i := Low(A1) to High(A1) do
      write(IntToStr(A1[i]) + ' ');

   readln;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, ordena un arreglo numérico de forma ascendente por medio del algoritmo BubbleSort, como se muestra en la siguiente imagen:



Revisa esta información:
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 14-03-2015 a las 16:47:31.
Responder Con Cita
  #5  
Antiguo 14-03-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola gonza22salta.

Ademas de los muy buenos enlaces y código que te proporcionó Nelson, te agrego la interpretación que pude darle al enunciado:
Código Delphi [-]
program Project2; {$APPTYPE CONSOLE}

uses SysUtils;

const
  MAXLST = 50;

var
  v: array[1..MAXLST] of Integer;
  c, i, m: Integer;
  des, has: Integer;
begin
  // Inicializar arreglo con valores aleatorios
  Randomize;
  for i:= 1 to MAXLST do v[i]:= Random(9)+1;

  // Mostrar lista inicializada
  Writeln('Lista:');
  for i:= 1 to MAXLST do Write(v[i],' ');

  // Obtener la mayor sublista ordenada
  m  := 0;
  c  := 0;
  has:= 0;
  des:= 0;
  for i:= 2 to MAXLST do
  begin
    if v[i-1] < v[i] then
    begin
      Inc(c);
      if c > m then  // (*)
      begin
        m  := c;
        des:= c;
        has:= i;
      end
    end
    else
      c:= 0;
  end;

  // Mostrar la mayor sublista ordenada
  Writeln(#10,#10,'Mayor sublista ordenada:');
  for i:= has-des to has do Write(v[i],' ');

  Readln;
end.
(*) De este modo, existiendo dos sublistas del mismo tamaño mostrará la primera en órden de aparición. Si deseas obtener la última cambia el condicional por:
Código Delphi [-]
if c >= m then

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 16-03-2015
gonza22salta gonza22salta is offline
Registrado
NULL
 
Registrado: mar 2015
Posts: 3
Poder: 0
gonza22salta Va por buen camino
Muchas gracias!!! me sirvio mucho...es exactamente lo que buscaba..la verdad aun me cuesta terminar un procedimiento solo, pero esto me ayudooo mucho! con mas teoria y practica seguro voy a mejorar.
Responder Con Cita
  #7  
Antiguo 16-03-2015
gonza22salta gonza22salta is offline
Registrado
NULL
 
Registrado: mar 2015
Posts: 3
Poder: 0
gonza22salta Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
gonza22salta,




Revisa este código:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   A1 : Array[0..9]  of Integer = (5, 3, 8, 1, 9, 7, 4, 2, 10, 6);
   i : Integer;

procedure BubbleSort(var A : Array of Integer);
var
   i , j : Integer;
   Aux: Integer;

begin

   for j := Low(A) to High(A) - 1 do
      for i := j + 1 to High(A) do
      begin
         if A[j] > A[i] then
         begin
            Aux := A[j];
            A[j] := A[i];
            A[i] := Aux;
         end;
      end;

end;

begin

   writeln('Arreglo numerico sin ordenamiento');

   for i := Low(A1) to High(A1) do
      write(IntToStr(A1[i]) + ' ');

   writeln(#10);
   writeln('Arreglo numerico con ordenamiento');

   BubbleSort(A1);

   for i := Low(A1) to High(A1) do
      write(IntToStr(A1[i]) + ' ');

   readln;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, ordena un arreglo numérico de forma ascendente por medio del algoritmo BubbleSort, como se muestra en la siguiente imagen:


Revisa esta información:
Espero sea útil

Nelson.

EXELENTE!!! es un poco mas complicado a mi entender, seguro x ser un novato. pero el profesor me dio el pulgar arriba x este ejercicio, solo que ciertos codigos aun no nos permite usar x ser principiante. muy buena pagina por cierto!! espero algun dia yo brindar mi ayuda!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sumar numeros y separar enteros y fracciones edgar_prospero Varios 5 26-01-2015 05:47:33
Sacar promedio de lista de números en un TMemo Zmusera Varios 4 18-09-2014 16:41:03
Redondear numeros decimales a enteros.... uper Varios 6 26-07-2012 16:52:45
Formatear números enteros y decimales quade C++ Builder 10 13-10-2011 16:09:54
extraer valores enteros desde un reg varchar y guardarlos en reg enteros Gabichu SQL 0 12-08-2008 18:44:36


La franja horaria es GMT +2. Ahora son las 07:31:24.


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
Copyright 1996-2007 Club Delphi