Skocz do zawartości
[Dante]

Program - Delphi 7

Rekomendowane odpowiedzi

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 przez [Dante]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez [Dante]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  [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;

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.



×
×
  • Dodaj nową pozycję...