Skocz do zawartości

Programy z pascala pilne


Voteck

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

Link do komentarza
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;

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
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 ??

Link do komentarza
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. :)

Link do komentarza
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. :)

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...