Przejdź do treści

Rozwiązanie 1

Treść zadania

Napisz program zgodny z poniższą specyfikacją.

Specyfikacja

Dane

  • \(n\) - liczba naturalna
  • \(a_1,a_2,\dots,a_n\) - \(n\) liczb całkowitych

Wynik

  • \(a_n,a_{n-1},\dots,a_2,a_1\) - podane liczby w odwrotnej kolejności

Rozwiązanie

#include <iostream>
using namespace std;

int main() {
  int n;

  cout << "Podaj liczbe elementow:" << endl;
  cin >> n;

  int tab[n];

  for(int i = 0; i < n; i++) {
    cout << "Podaj kolejna wartosc:" << endl;
    cin >> tab[i];
  }

  for(int i = n - 1; i >= 0; i--) {
    cout << tab[i] << endl;
  }

  return 0;
}

Opis rozwiązania

Na początku tworzymy zmienną \(n\) (linia 5), w której będziemy przechowywać liczbę elementów, którą następnie wczytujemy od użytkownika (linia 8).

Gdy już znamy liczbę elementów, możemy utworzyć tablicę o odpowiednim rozmiarze. Tworzymy więc tablicę o rozmiarze \(n\) (linia 10).

W kolejnym kroku, w pętli wczytujemy kolejne wartości od użytkownika i zapisujemy je w tablicy. Pętlą przechodzimy przez kolejne indeksy w naszej tablicy, tzn. od \(0\) do \(n\) (linia 12). Licznik pętli, zmienna i, określa indeks w tablicy, pod którym zapisujemy wczytaną wartość (linia 14).

Ostatnim etapem rozwiązania jest ponowne przejście po wszystkich indeksach elementów, tylko w kolejności malejącej: od ostatniego indeksu (\(n - 1\)) do pierwszego indeksu (\(0\)) (linia 17). W pętli wypisujemy wartości kolejnych elementów tablicy (linia 18).