AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Am meisten vorkommende Zahl

Ein Thema von r00t · begonnen am 28. Sep 2006 · letzter Beitrag vom 29. Sep 2006
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Am meisten vorkommende Zahl

  Alt 29. Sep 2006, 06:24
Herzlich willkommen in der Delphi-PRAXiS, r00t.

Vielleicht habe ich dein Problem ja falsch verstanden, aber wenn jede Zeile das gleiche Muster repräsentiert und jede Stelle über einen voting process festgelegt werden soll, dann braucht es eine frequency table für jede Position der Zeichenkette. Ich könnte mir das dann so vorstellen:

Delphi-Quellcode:
program Muster;

{$APPTYPE CONSOLE}

uses
  Classes,
  SysUtils;

const
  NCHARS = 5;
  FILLER = '_';

type
  TFreq = array [Char] of Integer;
  TFreqList = array of TFreq;

var
  s: String;
  i: Integer;
  fl: TFreqList;

function MostFrequentChar(f: TFreq): Char;
var
  c: Char;
  iMax: Integer;
begin
  iMax := 0;
  for c := #0 to #255 do
    if (f[c] > iMax) and (c <> FILLER) then
    begin
      Result := c;
      iMax := f[c];
    end;
end;

begin
  AssignFile(input, ParamStr(1));
  Reset(input);

  SetLength(fl, NCHARS);

  while not Eof do
  begin
    ReadLn(s);
// Das geht auch eleganter - Danke Hagen.
// if Length(s) <> NCHARS then
// Continue
// else
    if Length(s) = NCHARS then
      for i := 1 to NCHARS do
        Inc(fl[Pred(i)][s[i]]);
  end;

  CloseFile(input);

  SetLength(s, NCHARS);
  for i := 1 to NCHARS do
    s[i] := MostFrequentChar(fl[Pred(i)]);
  WriteLn(s);
end.
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz