Skocz do zawartości
nightstalker

Stringi I Wyrazy W Pascalu :)

Rekomendowane odpowiedzi

Mam napisać takie o to dwa programiki:

 

1. Napisz program, który umożliwi wprowadzenie ciągu znaków (np. zdania), a następnie policzy ile jest w tym ciągu

wszystkich znaków za wyjątkiem spacji, a także ile jest w tym ciągu wyrazów. Wyświetl ponadto jeden pod drugim

wszystkie znalezione tam wyrazy. Obok każdego z wyświetlonych wyrazów wyświetl dodatkowo jego długość.

 

2. Napisz program, który umożliwi scalenie dwóch nieuporządkowanych ciągów (napisów) w jeden uporządkowany

alfabetycznie. Ciągi wejściowe powinny mieć długość 6 znaków a ich zawartość powinna być wprowadzana przez

użytkownika.

 

1. Mój problem polega na tym że potrafie zliczyć słowa i litery w całym zdaniu, ale jeśli pojawi się więcej niż jedna spacja (ASCII#32) to program wypisuje już głupoty :| Inna sprawa że nei wiem jak zabrać się za zliczanie liter w każdym wyrazie i wypisywaniu wyniku... Wiem że to pętle zagnieżdzone, ale jakie ? Które będą najlepsze ? FOr czy while ?

 

2. Jeszcze nawet nie zacząlem tego pisac, ale jak ktos ma jakies wskazówki to się nie obraże :)

 

Oprócz tego mam ejszcze napisać Kółko i Krzyżyk, ale do tego poradnik to już sobie gdzies chyba znajde...

 

UPDATE: Już sobie poradzilem, ale może komuś się przyda więc zamieszczam kod programu...

Edytowane przez nightstalker

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

OK, zabieram się zaraz za rysowanie :)

Mój plan jest tym razem taki że:

1. przeprowadzam operacje na ciągu

2. wypisuje/zapisuje wyniki

3. obcinam tą cześć ciągu na której już wykonałem operacje ( do odstępu )

4. Powtarzam aż z ciągu nic nie zostanie...

 

UPDATE: nic z tego nie wyszlo :P

 

UPDATE2:

 

No i mam! Napisałem i nawet działa! Dla ciekawych zamieszczam kod, może komus się kiedyś przyda...

 

program program001;{$APPTYPE CONSOLE}uses  SysUtils;var  zdanie:string;  licz_wyrazy,i,j,w,z:integer;  wyrazy:array[1..100] of string;  spacja:array[1..100] of integer;begin  z:=0;  w:=1;  j:=1;  licz_wyrazy:=0;  writeln('Podaj zdanie do 255 znakow');  readln(zdanie);  for i:=1 to length(zdanie) do if zdanie[i]=' ' then inc(w) else inc(z);  for i:=1 to length(zdanie) do	begin	   if zdanie[i]=' ' then begin spacja[j]:=i; inc(j); end;	end;  writeln;  for i:=1 to (length(zdanie)-z) do  writeln(spacja[i],' miejsce pojawienia sie ',i,' odstepu.');  for i:=1 to w do  begin	  if i=1 then wyrazy[i]:=copy(zdanie, i,spacja[i]-i) else	  if i=w then wyrazy[i]:=copy(zdanie, spacja[i-1]+1,length(zdanie)) else	  wyrazy[i]:=copy(zdanie, spacja[i-1]+1,(spacja[i]-spacja[i-1]-1));  end;  writeln;  for i:=1 to w do  begin	 if wyrazy[i]='' then else	 begin	 writeln(wyrazy[i],'-',length(wyrazy[i]),' znakow');	 inc(licz_wyrazy);	 end;  end;  writeln;  writeln('Ilosc wyrazow: ', licz_wyrazy);  writeln('Ilosc znakow w zdaniu: ', length(zdanie) );  writeln('Ilosc znakow bez spacji: ', z);  readln;end.

Chyba nie tak źle jak na programistę od php&sql :)

Edytowane przez nightstalker

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...