Program
Poniżej przedstawiam program do odwracania tablicy znaków:
- #include <iostream>
- const int TabEle = 10;
- void swap(char& a, char& b);
- void odwroc(char *tab, int left, int right);
- using namespace std;
- int main()
- {
- //Deklaracja tablicy z liczbami
- char tabl[TabEle]={'F', 'c', '$', '#', 'W', 'n', 'o', '4', '2' ,'p'};
- //Pêtla wypisujaca elementy tablicy
- for(int i=0; i<TabEle; i++)
- {
- cout << tabl[i] << " ";
- }
- //Przejscie do nowej linii
- cout << endl;
- //Wywolanie funkcji odwrócenia tablicy
- odwroc(tabl, 0, TabEle-1);
- for(int i=0; i<TabEle; i++)
- {
- //Wypisanie odwróconej tablicy
- cout << tabl[i] << " ";
- }
- //Przejscie do nowej linii
- cout << endl;
- return 0;
- }
- //Funkcja zamieniajaca znaki miejscami
- void swap(char& a, char& b)
- {
- int pomocnicza=a;
- a=b;
- b=pomocnicza;
- }
- void odwroc(char *tab, int left, int right)
- {
- if(left<right)
- {
- //Zamienienie elementów skrajych
- swap(tab[left], tab[right]);
- //Odwrócenie pozostalych elementow tablicy
- odwroc(tab, left+1, right-1);
- }
- }
W powyższym programie oprócz funkcji głównej znajdują się dwie pomocnicze. Zadaniem jednej z nich jest odwrócenie wartości w tablicy poprzez zamienienie jej elementów miejscami, z wykorzystaniem zmiennej pomocniczej. Funkcja odwróć przechodzi przez poszczególne elementy tablicy w parach, tzn, wykorzystuje zmiennej znajdujące się na końcach tablicy.
Program będzie działał tak samo dla jakiegokolwiek typu danych.