[Dante] Opublikowano 1 Listopada 2005 Zgłoś Opublikowano 1 Listopada 2005 (edytowane) Zaznaczę może na początku, iż oczekuję tylko wskazówek odnośnie mojego problemu - nie gotowego rozwiązania. Mam do napisania swój pierwszy 'banalny' programik. Fakt, że dopiero co stawiam pierwsze kroki w środowisku Pascala / Delphi sprawia mi pewien problem. Polecenie brzmi: 'Kompresja jednowymiarowej tablicy polegającej na zastąpieniu ciągu 2 lub więcej takich samych sąsiednich wartości przez pojedyńczą wartość (np. 122344455 -> 12345).' Mój kod źródłowy w wersji Alpha :) wygląda następująco: program Project_51;{$APPTYPE CONSOLE}uses SysUtils;var a:array[1..10] of integer; b:integer;begin writeln('Type 10 numbers:'); for b:=1 to 10 do readln(a[b]); if (a[b])=succ(a[b]) then writeln(a[b]); if (a[b])<>succ(a[b]) then writeln(succ(a[b])); for b:=1 to 10 do write(a[b]); readln;end. Program działa, lecz przepisuje wszystkie wartości w takiej postaci w jakiej mu je podałem. Proszę o udzielnie jakichś wskazówek. Edytowane 1 Listopada 2005 przez [Dante] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
[Dante] Opublikowano 4 Listopada 2005 Zgłoś Opublikowano 4 Listopada 2005 (edytowane) Działa lepiej niż moja wersja :) ale wciąż niepoprawnie. Np. przy wpisaniu cyfr "1122234556" wypisuje "1223". Popróbuję modyfikacji tego kodu, zobaczymy czy coś uzyskam. Dzięki za pomoc. EDIT: Delphi zapisu [x-1] nie traktuje jako poprzednika 'x' tylko odejmuje 1 od 'x'. Więc nie mogę raczej stosować tego rodzaju zapisu. Edytowane 4 Listopada 2005 przez [Dante] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 4 Listopada 2005 Zgłoś Opublikowano 4 Listopada 2005 [Dante] napisał(a): Działa lepiej niż moja wersja :) ale wciąż niepoprawnie. Np. przy wpisaniu cyfr "1122234556" wypisuje "1223". Popróbuję modyfikacji tego kodu, zobaczymy czy coś uzyskam. Dzięki za pomoc. EDIT: Delphi zapisu [x-1] nie traktuje jako poprzednika 'x' tylko odejmuje 1 od 'x'. Więc nie mogę raczej stosować tego rodzaju zapisu. 1736363[/snapback] Na pascala to juz mnie mdli <_< wskazówki : 1)a kto ci powiedział że to muszą być liczby ? Klepnij literkę i enter a będzie nieprzyjemnie 2)Uzywaj stałych słowo const nie gryzie 3) do oznacznia indeksow uzywa sie zwyczjaowo i,j,k,l... - w takiej kolejnosci a nie b Opis algorytmu: 1)Wczytaj łańcuch znaków do tablicy 2) zapisz sobie znak pusty '\0' w zmiennej np. aktualny; a w pętli for i to N do begin if aktualny<>tab[i] then begin aktualny:=tab[i]; writeln(tab[i]); end; end; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
[Dante] Opublikowano 5 Listopada 2005 Zgłoś Opublikowano 5 Listopada 2005 (edytowane) Nikt już nie pomoże? Nawet poradą? B) Edytowane 9 Listopada 2005 przez [Dante] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...