Zmienna nazwy zmiennej - istnieje?

0

Witam,

przejdę od razu do przykładu bo tak będzie najprościej:

Mam jednowymiarowe tablice : tab1[],tab2[],tab3[].
Chcę im nadać wartości za pomocą zagnieżdżonych pętli for.
Jedna (i=0;i<3;i++) odpowiadała by za zmianę tablicy z tab1 na tab2 i potem tab3,a druga(j=0;j<rozm;j++) za nadawanie wartości każdej kolumnie w danej tablicy.

Czy istnieje jakiś sposób aby w pierwszej pętli zmienna "i", zmieniała nazwę tablicy?
Tzn dla i=0 np coś w stylu tab%d [],gdzie %d to i+1 ? Dzięki temu otrzymałbym prosty i szybki sposób na zapisanie wszystkich tablic po kolei.

Z góry dzięki za pomoc.

0

Najprościej będzie zrobić jedną, dwuwymiarową tablicę. Wtedy będziesz się do niej odwoływał przez tab[i][j]

0

Wszystko by było ok,tylko treść zadania na to nie pozwala.Musi być w jednowymiarowej tablicy,a dopiero później mam je scalić do jednej 2d.

Probowałem problem rozwiązać switchem i wskaźnikiem - w zależności od case'a wskaźnik wskazywał inną tablicę - ale to nie jest zbyt wydajny sposób,nie mówiąc co by było w przypadku większej ilości takich tablic.

Jakieś pomysły?

0

Lepiej wstaw treść zadania, bo coś mi się zdaje że próbujesz wynaleźć kwadratowe koło.

0

Czyli masz stworzonych kilka tablic. Pewnie z tą samą ilością elementów, skoro taki sposób sam sobie obrałeś. Może funkcja, która przyjmuje jako argumenty tablicę i wartość jaką chcesz ją uzupełnić? W tym sposobie masz ten plus, że tablice mogą mieć różne rozmiary. Jeśli tablic jest mało, to możesz wywołać ręcznie funkcję dla każdej z nich. Jeśli jest ich więcej, to użyj vectora albo i zwykłej tablicy do przechowywania w niej wskaźników do tablic, a potem wywołuj dla nich funkcję w pętli.

0

Przepisałem tylko tą interesującą część,bo całe jest za długie.

"Napisz program ,który prosi użytkownika o podanie trzech zbiorów składających się z pięciu liczb ,zapisuje je do osobnych jednowymiarowych tablic,a następnie:
-Scala trzy tablice jednowymiarowe,w tablicę typu 2D,o rozmiarze 3x5.
-Oblicza średnią dla każdego zbioru z osobna

  • (...)
    (...)
    -Wyświetla wszystkie wyniki

Każdy z podpunktów powinien być obsługiwany przez osobne funkcję.
(...) "

To powinno wystarczyc.

0

Zadanie jest takie to po prostu leć trzema forami i przepisz z tych tablic do tej dwuwymiarowej.

nie mówiąc co by było w przypadku większej ilości takich tablic.
W przypadku większej ilości tablic nikt normalny by nie dał takiego zadania.

0

zrób sobie trzecją tablice 3x1 ze wskaźnikami do tych tabliv jednowymiarowych.

0

Rozumiem, w takim razie spróbuję z tą tablicą wskaźników bo pomysł faktycznie jest wart uwagi.
Dzieki ! :)

2

No... to jest przeciez normalne zadanie. Zrób np. tablice:

int tab[3][5];

i przepisuj każdą z trzech tablic w jednej pętli for:


for(int i=0;i<5;i++){
    tab[0][i]=tab1[i];
    tab[1][i]=tab2[i];
    tab[2][i]=tab3[i];
}

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