Witam forumowiczów, nie daje mi spokoju jedna rzecz w pewnym zadaniu. Mianowicie chodzi o ten mały wycinek kodu: if (tab[i] == tab[n-1-i]) cały czas nie mogę dojść do logiki tego zadania... Załóżmy, że wprowadzamy takie liczby: 1, 2, 3, 4, 3, 2, 1 - wtedy tablica jest symetryczna tylko skąd to się bierze. Program pobiera wartość tab[0] czyli 1 == i teraz 6 element tablicy czyli: 2 odjąć wartość i w tym przypadku to 0 i=0 w 1 iteracji no i wychodzi 1==2 a to nieprawda. 
A oto kod:
#include <iostream>
using namespace std;
int main()
{
const int n = 7;
double tab[n];
bool symetryczna = false;
cout << "Podaj elementy tablicy: " << endl;
for (int i = 0; i < n; i++)
{
cout << "tab[" << i << "]= ";
cin >> tab[i];
}
cout << endl;
for (int i = 0; i < n; i++)
{
if (tab[i] == tab[n-1-i])
{
symetryczna = true;
}
else
{
symetryczna = false;
break;
}
}
if (symetryczna == true)
{
cout << "Twoja tablica jest symetryczna." << endl;
}
return 0;
}