Jump to content

Archived

This topic is now archived and is closed to further replies.

Voteck

Programy z pascala pilne

Recommended Posts

Mam maly problem mianowicie mam do napisania 3 programy ale nie wiem jak.

oto one:

1. Napisz program, który odwróci kolejność wyrazów w zdaniu.

2. Napisz program, który policzy ilość wystąpień kazdej z liter w zdaniu.

3. Napisz program, który pozwoli znależć wszystkie wystąpienia danego

ciągu w innym ciągu.

Pierwszy program robilem ale zobaczylem ze nie chodzi o zamiane liter lecz wyrazow... pomocy !!!!

Share this post


Link to post
Share on other sites

W czym problem? wczytujesz sobie po kolei znaki, patrzysz o spacja, no to do dodatkowej zmiennej Res dodajesz z przodu słowo i spację Res := slow+' '+Res;

Share this post


Link to post
Share on other sites

W czym problem? wczytujesz sobie po kolei znaki, patrzysz o spacja, no to do dodatkowej zmiennej Res dodajesz z przodu słowo i spację Res := slow+' '+Res;

 

A moglbys mi to napisac od begin ..... end ???? PLZ!

Share this post


Link to post
Share on other sites

W psedudo kodzie:P od begina do enda robi Toster za 100 złotych, a Filuu za 50 :P

function Revers(s : string):string;
begin // Zrob sam sekcje var
 temp := ''
 Res := ''
 petla od 1 do długość s rób
  jeśli s to znak to dodaj z tyłu tempa
 jeśli nie
  to Res:= temp+ ' '+Res;
      temp := '';
 Result := Res;

end;

Share this post


Link to post
Share on other sites

W psedudo kodzie:P od begina do enda robi Toster za 100 złotych, a Filuu za 50 :P

function Revers(s : string):string;
begin // Zrob sam sekcje var
 temp := ''
 Res := ''
 petla od 1 do długość s rób
  jeśli s to znak to dodaj z tyłu tempa
 jeśli nie
  to Res:= temp+ ' '+Res;
      temp := '';
 Result := Res;

end;

 

 

Ekhm ?? Dodaj tepa z tyłu ??

Share this post


Link to post
Share on other sites

Jak widac nie polapie sie po tobie :( Mozesz napisac mi program caly ?? bylbym bardzo wdzieczny pozatym kupie ci ten toster:P

Share this post


Link to post
Share on other sites

Tutaj jest cały kodzik napisany w Delphi, ale wystarczy usunąć przełącznik kompilacji i powinien odpalić się w FPC. To rozwiązanie zadania pierwszego:

CODEprogram Project1;

 

{$APPTYPE CONSOLE}

 

{ .: GetSpaceText :. }

function GetSpaceText(Src: String; Index: Integer; Delim_Char: Char): String;

var

I, J, Count: Integer;

S: String;

begin

Result := '';

S := Src;

I := 0;

Count := 1;

 

while (I

begin

J := Pos(Delim_Char, S);

if (J = 0) then

break;

Delete(S, 1, J);

Inc(I);

end;

 

for I := 1 to Length(Src) do

if (Src = Delim_Char) then

Inc(Count);

if (Index > Count) then

exit;

J := Pos(Delim_Char, S);

if (J = 0) then

begin

J := Length(S);

Result := Copy(S, 1, J);

end else

Result := Copy(S, 1, J);

end;

 

function ReverseString(const S: String): String;

var

M, gF: String;

I: Integer;

begin

gF := S + ' ';

M := '';

for I := Length(gF) downto 1 do

M := M + GetSpaceText(gF, I, ' ');

Result := M;

end;

 

var

S: String;

begin

writeln('Podaj zdanie do odwrocenia');

readln(S);

S := ReverseString(S);

 

writeln('Zdanie po odwroceniu: ', S);

readln;

end.

 

Mam nadzieję, że pomogłem. :)

Share this post


Link to post
Share on other sites

@OT

pozatym kupie ci ten toster:P

 

:lol: :lol: :lol: :lol: - wybaczcie, że zachowuję się jak dziecko ale po prostu po przeczytaniu tej wiadomości nie potrafię się opanować :D

 

@Topic

Przecież pseudo kod Force'a jest dość jasny...

Share this post


Link to post
Share on other sites

heh dzieki za wszystko i sorry toster :P Mam jeszcze jedno pytanie.. mianowicie jak policzyc ilosc jakiegos znaku ktory wsytepuje z zdaniu ??

Share this post


Link to post
Share on other sites

To chyba jest książkowy przykład, że ma się stringa i tablice, idzie po stringu, a w tablicy pod indeksem odpowiadającym kodowi znaku zwiększa się liczbę

Share this post


Link to post
Share on other sites

For i:= 1 to Length(Tekst) do
if Tekst[i] = 'a' then
 Inc(iloscA);

 

Pozdrawiam! ;)

 

Twój pomysł jest nie za dobry. :) Bo w takim razie do każdej z liter musiałbyś mieć osobną zmienną (czyli ok. 32 zmienne - nie wiem ile jest liter! :lol:). Najlepsze rozwiązanie zasugerował Force - trzeba stworzyć tablicę i w niej trzymać ilość znaków. :)

Share this post


Link to post
Share on other sites
3. Napisz program, który pozwoli znależć wszystkie wystąpienia danego

ciągu w innym ciągu.

to mi się podoba, poszukaj o KMP w internecie, liniowy algorytm wyszukiwania wzorca w innym tekście O(n+m)

Share this post


Link to post
Share on other sites

×
×
  • Create New...