iİnformatikanın məktəbdə tədrisi

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;

}