czas: array [1..1000] of double

0

Mam takie pytanie! Zapewne nie jest to trudne do zrobienia ale mam trudny dzień i nie mogę wymyślić.
Chcę wypełnić tablice jednowymiarową ciągiem liczb [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5..] i tak kilkanaście razy.

Jak zrobić żeby tablice wypełniać tymi sami liczbami kilka razy?

0

n - ile razy, a, b - od do

x := 0;
for i := 1 to n do
begin
  for j := a to b do
  begin
    tab[x] := j;
    inc(x);
  end;
end;
0

Dzięki :) Zaraz sproboje zastosowac w moim programie!

0

śliczne dzięki - wszystko hula jak trzba!! pieknie sie wypełnia tablica :)

Juz mozna usunac ten temat - bo moj problem to chyba była taka pierdólka. Chyba nikomu sie nie przyda.
Pozro dla modków!!!

0
Misiekd napisał(a)

n - ile razy, a, b - od do

x := 0;
for i := 1 to n do
begin
  for j := a to b do
  begin
    tab[x] := j;
    inc(x);
  end;
end;

Ciut wolniejszy, ale bardziej elegancki sposób:

var
  tab: array[0..n] of integer;

{...}

for i := 0 to n do
  tab[i] := a + i mod b;

Dodatkowo - działa przy dowolnej długości tablicy, a nie tylko wtedy, gdy długość tablicy jest całkowitą wielokrotnością b-a +1, czego algorytm Miśka bez przeróbek nie zapewnia.

0

Mała poprawka, oczywiście powinno być

var
  tab: array[0..n] of integer;
  delta: integer;
{...}

delta := b-a;
for i := 0 to n do
  tab[i] := a + i mod delta;
0

Grrrrrrrrrrr...

Chyba mam dzisiaj ciężki dzień po wczorajszej imprezie

delta := b - a -1;

Dalej - jak wyżej :)

0

Heheh Dzieki juz nie trzeba. Sposob miska sprawuje sie dobrze!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1