nightstalker Opublikowano 20 Listopada 2005 Zgłoś Opublikowano 20 Listopada 2005 (edytowane) 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 20 Listopada 2005 przez nightstalker Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
MeHow Opublikowano 20 Listopada 2005 Zgłoś Opublikowano 20 Listopada 2005 zastanów się co chcesz zrobić. Jeśli masz problem z wyborem pętli, to sporządź sobie schemat blokowy i na jego podstawie podejmij decyzje. Pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nightstalker Opublikowano 20 Listopada 2005 Zgłoś Opublikowano 20 Listopada 2005 (edytowane) 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 20 Listopada 2005 przez nightstalker Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...