Iteracja za pomoca jednej zmiennej

0

witam,

mam taki problem - zastanawiam sie, czy da sie to tylko osiagnac za pomoca 1 zmiennej. potrzebuje tzw. "okno" ktore z bedzie przeszukiwalo dana tablice zaczynajac najpierw od rozmiaru jej samej a potem pomniejszajac sie o 1 w kazdym kroku i tym samym powiekszajac o 1 mozliwosci wyboru "pod-tablicy".

X - jakas stala
i - nasza zmienna

generalnie potrzebuje wygenerowac sobie nastepujace wyniki w poszczegolnych krokach:

  1. 1..X
  2. 1..X-1 oraz 2..X
  3. 1..X-2 oraz 2..X-1 oraz 3..X-2
  4. 1..X-3 oraz 2..X-2 oraz 3..X-1 oraz 4..X
    ..
    n) 1-X-n-1 oraz 2..X-n+2 oraz 3..X-n+3 oraz n..X-n+n

czy da sie to wykonac tylko za pomoca jednej zmiennej, np. i ? czy musze jeszcze wprowadzac j, itd. ?

jak zauwazymy powstanie nam macierz:

0    
1    0
2    1    0
3    2    1    0
4    3    2    1    0
..
n-1 n-2 n-3 ............ n-n

pomnozona przez -1.

jesli ktos ma pomysl, to prosze o zapisanie go... bede potrzebowal do petli for.

chodzi mi, zeby odpowiedz byla w stylu ponizszym (oczywiscie nie jest to poprawne ale jako przyklad potrzebuje wlasnie tak zapisac to):

for i = 1+X...X-i+1, i++

0
  1. nie podałeś języka programowania, a twój przykład fora wygląda jak nie wiadomo co
  1. 1..X
for (int i=1; i<=X; i++)
    ...
  1. 1..X-1 oraz 2..X
for (int i=1; i<=X; i++)
    ...
for (int i=2; i<X; i++)
    ...

etc.

w przypadku ogólnym przydałaby się jednak pętla zagnieżdżona, coś w stylu

  1. 1..X-2 oraz 2..X-1 oraz 3..X-2
const int n = 3;
...
for (int j=1; j<=n; j++)
    for (int i=j; i<X-j-1; i++)
        ...
  1. nie widzę potrzeby roztrząsania czy da się zrobić na jednej zmiennej czy na czterech, zmienne są tanie.

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