C++ tablice

0

Cześć
Zaczynam powoli się uczyć C++, Mam mały problem z zrobieniem tego zadania:

Napisz program, w którym zadeklarujesz tablicę 20-elementową typu integer, a następnie wypełnij ją losowymi liczbami. Zadeklaruj drugą tablicę, do której wpiszesz elementy pierwszej tablicy w odwrotnej kolejności, czyli pierwszy element pierwszej tablicy jest ostatnim elementem drugiej tablicy.

Próbuję robić ale nie wiem jak przy tablicach to zrobić.

2

Czego konkretnie nie wiesz, jak zadeklarować tablicę, jak ją wypełnić losowymi wartościami, czy jak przekopiować dane z jednej tablicy do drugiej?

0

Jeśli ma to być coś w stylu:
int tablica1[rozmiar] = {tu jakieś liczby}
int tablica2[rozmiar];
Teraz wypełnianie tablicy2:
Jak pewnie wiesz, tablice mają indeksy od 0 do rozmiar-1.Gdybyś chciał wypełnić tablicę2 tak jak tablicę1(zrobić jej kopię) to zrobiłbyś to zapewne tak:
for (int i = 0; i < rozmiar; i++) {
tablica2[i] = tablica1[i]
}
Wypełnianie "na odwrót" wymaga małej zmiany w powyższej pętli.

Próbuję robić ale nie wiem jak przy tablicach to zrobić.

Zatem pokaż swoje próby.

0

Pierwsza część zadania w wersji z przymrużeniem oka:
http://cpp.sh/5vnpi

1

W dokumentacji jest przykład (prawie) idealnie pasujący do zadania.
Do losowania przyda się random.
Do wypełnienia tablicy przyda się std::generate.

1

Dodałbym jeszcze ten link i właściwie pierwsza część gotowa do złożenia:
https://dsp.krzaq.cc/post/180/nie-uzywaj-rand-cxx-ma-random/

0
#include <iostream>
#include <ctime>

#define SIZE 20

int main()
{
    int arr[SIZE] = {}, result[SIZE] = {};

    srand(time(0));
    for (int i = 0; i < SIZE; i++)
       arr[i] = rand() % 10 + 1;

    for (int i = 0, k = SIZE - 1; i < SIZE; i++, k--)
        result[i] = arr[k];

    return 0;
}

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