Skocz do zawartości
Zaloguj się, aby obserwować  
Voteck

Programy z pascala pilne

Polecane posty

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 !!!!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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 ??

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@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...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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ę

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
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)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

×