Pętla for - dodawanie do tablicy

0

Witam, otóż mam mały problem z pętlą for.

Mam dwie współrzędne: a,b - które muszę obliczać w dwóch pętlach for.

Mam mieć tablicę wypełnioną punktami c,d,e które obliczam z a i b (wzory).
I mój problem polega na tym iż nie wiem jak dodać kolejną pętle for która będzie mi obliczać te 3 punkty w oparciu o wzory a,b i jednocześnie dodawać do tablicy .

Myślałem nad czymś takim ale:
http://4programmers.net/Pastebin/1502

ale warunek w III pętli : k < 300000 mi nie pasuje, bo ja potrzebuję dodać 3 elementy do tablicy, potem wyjść obliczyć w II for kolejne b i znów wejść do III for i dla nowego b wyliczyć kolejne elementy do tablicy, potem jak już skończę pętle II, liczę nowe a w I pętli i znów powtarzam całą sytuację dla II i III for....

Już nie mam pomysłu jak to zmodyfikować, będę wdzięczny za wskazówki.

pozdrawiam.

0

Twoje tłumaczenie jest trochę jakby mętne i do mnie nie trafiło. Zapewne chcesz zrobić coś prostego, ale sobie to komplikujesz. Podaj treść zadania/problemu, jakie są dane, jaki jest oczekiwany wynik i ewentualne warunki dodatkowe. Może jak będzie się można domyślić co chcesz osiągnąć, to będzie można pomóc.

0

Mam kwadrat jednostkowy w przestrzeni a,b (2D).
Każdy punkt należący do jego powierzchni muszę 'przerobić' na punkt należący do przestrzeni c,d,e (3D). Takich c,d,e ma być 3000.
Do obliczenia c,d,e mam wzory, które korzystają z wartości a,b.
c = 90a - 10b,
d = 100b;
e = 101a + 12b + 12.

Początek jest taki:

int a = 1;
int b = 1;

for(int i = 0; i < 10; i++){
    a = a / 10;
    for(int j = 0; j < 10; j++){
        b = b/10;
    }
}

I teraz mój problem polega na tym, iż muszę obliczyć c,d,e (korzystają z a,b) to co mi wyjdzie dodać do tablic a nie mam pomysłu gdzie to dodać.

0

Dla 3000 punktów, to nie wiem jak to zrobić, ale wiem jak zrobić dla 3025 punktów. Otóż punktów należących do powierzchni kwadratu jednostkowego jest nieskończenie wiele, ale wybieram sobie 3025 z nich. Kwadrat ma wierzchołki (0, 0), (0, 1), (1, 1), (1, 0). Oznaczam sobie wartosć double delta=1./55; .
Teraz robię sobie dwie pętle:

Vector<Punt3D> punkty=new Vector<Punkt3D>();
double delta=1./55;
double a=0; b=0, c,d,e;
for(int i=0; i<55; i++){
a+=delta;
for(int j=0; j<55; j++){
b+=delta;
c=..tu dajesz twój wzor na c i podstawiasz a i b
d=tak samo jak wyżej
e=...
punkty.add(new Punkt3D(c, d, e);

}
}

Teraz musisz sobie zrobić swoją klasę Punkt3D z konstruktorem co przyjmie wartości i po pętli masz w wektorze 3025 punktów.
Musisz to jeszcze przerobić jakoś, żeby wyszło 3000 no i ewentualnie przenieść współrzędne do tablicy, żeby nie było za łatwo.

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