8-r2
Определите, симметричны ли значения элементов массива?
В задаче требуется определить, не палиндром ли наш массив.
Палиндро́м—число (например, 404),буквосочетание, слово (например, потоп, или текст (а роза упала на лапу Азора), одинаково читающееся в обоих направлениях, то есть в них элементы симметричны относительно середины. Значит и проверять надо эту симметричность до середины массива строки 9,10. Если проверка сумела дойти до середины и элементы были симметричны, то на экран выдается слово 'YES'. При первом же нарушении симметричности программа прекращает работу. В строках 11, 12 и определяется, до середины ли сработала проверка или нет и выдается соответственное сообщение.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Const a:array[0..9] of integer= (1,2,3,4,5,5,4,3,2,1); Var n:integer=10; i:integer; BEGIN for i:=0 to n-1 do write(a[i],' '); writeln; for i:=0 to (n-1) div 2 do if (a[i]<>a[n-i-1]) then break; if(i<((n-1) div 2))then writeln('NO') else writeln('YES'); readln; END. | #include <iostream>
using namespace std;
int main() { int a[10]= {1,2,3,4,5,5,4,3,2,1}; int n=10,i; for(i=0;i<n;i++)cout<<a[i]<<" "; cout<<endl; for(i=0;i<(n-1)/2;i++) if(a[i]!=a[n-i-1])break; if(i<(n-1)/2)cout<<"NO\n"; else cout<<"YES\n"; return 0; } |