Przejdź do treści

Rozwiązanie 2

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
  • \(k\) - liczba naturalna, \(1<=k<=n\)

Wynik

  • \(a_k\) - \(k\)-ta podana liczba

Rozwiązanie

#include <iostream>
using namespace std;

int main() {
  int n, k;

  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];
  }

  cout << "Podaj numer elementu:" << endl;
  cin >> k;

  cout << "Element numer " << k << " = " << tab[k - 1] << 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).

Następnie wczytujemy od użytkownika numer elementu, który należy wypisać (linia 18).

Teraz pozostało wypisać właściwy element. Ponieważ tablica jest numerowana (indeksowana) od zera, należy wypisać element pod indeksem \(k - 1\) (linia 20).