Tablica zawierająca dwa okresy po 5 liczb

0

Cześć wszystkim,
dostałem ciekawe zadanie od wykładowcy odnośnie tablic. Muszę napisać program zawierający dwie zmienne. Jedna z nich to okres, a druga liczba. Program ma zawierać jedną tablicę, która wyświetli dwa okresy po 5 liczb (1,2,3,4,5). Dodam, że może być tylko jedna pętla for bez żadnego ifa. Tablica ma wyglądać w ten sposób [0]=1, [1]=2, [2]=3, [3]=4, [4]=5, [6]=1... itd.

Próbowałem już wielu rozwiązań i wiem, że diabeł tkwi w szczegółach. Nie chciałbym gotowego kodu a tylko jakieś wskazówki lub pomysły.

Póki co mam to i cały czas modyfikuję to na różne sposoby i nic.

public class Start {
	public static void main(String[] args) {

	int okres = 2;
	int liczba = 5;
	
	int[] tab = new int [liczba*okres];
	
	for(int i=0; i<liczba; i++) {
		tab[i] = i+1;
		System.out.print(tab[i]);	
		
	}
	}
}
1

Jeśli chodzi tutaj o to, żeby wstawić do tabeli liczby:
[0] = 1
[1] = 2
[2] = 3
[3] = 4
[4] = 5
[5] = 0
[6] = 1
[7] = 2
itd.
to po prostu array[n] = (n%5)

0

Raczej nie, array jeszcze nie mieliśmy na ćwiczeniach, wiem że można to łatwiej napisać rozbudowując trochę kod, ale nie można i w tym właśnie jest ta ciekawość.
Wynik wyświetlany po uruchomieniu programu ma pokazywać: 12345 12345
Z czego pierwszy zbiór pierwszy liczb 12345 - to okres 1 a drugi zbiór 12345 to okres drugi. Czyli program ma wyświetlać dwa okresy po 5 liczb.

1

Ale mam wrażenie, że dobrze Ci doradził z tym modulu, tylko for ma się wykonywać ilosc*okresy, używając %5 wypełnisz tablicę dwa razy tym samym ciągiem.

1
Brunatny Szczur napisał(a):

Ale mam wrażenie, że dobrze Ci doradził z tym modulu, tylko for ma się wykonywać ilosc*okresy, używając %5 wypełnisz tablicę dwa razy tym samym ciągiem.

Tylko, żeby wyświetlił 12345, a nie 01234, dodaj 1 do wyniku modulo.

0

Dzięki za pomoc. Wszystko śmiga ładnie. Ostatnio też siedziałem w domu i myślałem nad programem, a olśniło mnie na wykładach i napisałem go w zeszycie. :D

public class Start {
	public static void main(String[] args) {

		int okres = 2;
		int liczba = 5;

		int[] tab = new int[liczba * okres];

		for (int i = 0; i < liczba * okres; i++) {
			tab[i] = (i % 5) + 1;

			System.out.print(tab[i]);

		}

	}
}

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