Vinnaren i pepparkakshustävlingen!
2007-05-21, 11:39
  #1
Medlem
Skulle behöva hjälp med en grej i pascal.
Jag ska göra ett program som bearbetar en text(Ordet hejsanhoppsan) på detta sätt:

H
He
Hej
Hejs
Hejsa
Hejsan
OSV.......
Nu har jag inte hållt på med pascal på kanske ett år så jag minns inte riktigt hur man gör detta. Nån som känner sig hjälpsam?


edit: såg att det uppdelade ordet "vänder" på sig..det ska stå åt andra hållet. man ska alltså kunna läsa ordet uppifrån och ner, inte HHHHHHH som det står nu
Citera
2007-05-21, 13:26
  #2
Medlem
MinOrks avatar
du får nog förklara lite mer. Hur får du strängen och var (konsol eller "Windows" program) ska den skrivas ut?

men att loopa i en string kan du göra så här:
Kod:
  
for i:=1 to Length(s) do 
begin
  gör_nått_med( s[i] );
end;
Citera
2007-05-21, 19:23
  #3
Medlem
C - Js avatar
jag tolkar det så här

Kod:
tomtar
omtart
mtarto
tartom
artomt
rtomta

och då är det väl bara att rotera strängen n steg där n := 0 to len("tomtar")

finns otaliga lösningar för detta
Citera
2007-05-24, 16:20
  #4
Medlem
acuras avatar
Citat:
Ursprungligen postat av MinOrk
du får nog förklara lite mer. Hur får du strängen och var (konsol eller "Windows" program) ska den skrivas ut?

men att loopa i en string kan du göra så här:
Kod:
  
for i:=1 to Length(s) do 
begin
  gör_nått_med( s[i] );
end;
Borde man inte nästla två loopar för att nå det sökta resultatet.
Kod:
  
for i:=1 to Length(s) do 
begin
   for j := 1 to i do
   begin
      gör_nått_med( s[i] );
   end;
end;
Förutsatt att pascal indexerar från 1 och inte 0.
Citera
2007-10-11, 18:36
  #5
Medlem
NudasVeritass avatar
Citat:
Ursprungligen postat av Djglobe
Skulle behöva hjälp med en grej i pascal.
Jag ska göra ett program som bearbetar en text(Ordet hejsanhoppsan) på detta sätt:

H
He
Hej
Hejs
Hejsa
Hejsan
OSV.......
Nu har jag inte hållt på med pascal på kanske ett år så jag minns inte riktigt hur man gör detta. Nån som känner sig hjälpsam?


edit: såg att det uppdelade ordet "vänder" på sig..det ska stå åt andra hållet. man ska alltså kunna läsa ordet uppifrån och ner, inte HHHHHHH som det står nu

Något sådant här kanske skulle funka:

Kod:
var
    I        :    Integer;
    Ordet    :    String;
begin
    Ordet := 'hejsanhoppsan';
    Label1.Caption := '';

    for I := 0 to Length(Ordet) do
    Label1.Caption := Label1.Caption + Ordet[i] + #13 + #10;
end;

#13 + #10 är samma som ENTER.

Var det såhär du menade eller är jag helt ute och cyklar? Förklara lite närmare vad du menar isåfall.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback