Симетричен ли е масива?

Да се напише програма, която позволява да се въведе цяло число n (между 5 и 20) и масив от n на брой цели числа, и след това отпечатва ДА ако масива е симетричен, и НЕ в противен случай.

Пример:
вход: 5 1 0 1 5 изход: ДА
вход: 1 0 1 5 6 изход: НЕ

Публикувано в 11а, 11в с етикети . Постоянна връзка.

4 Responses to Симетричен ли е масива?

  1. krisizdravi95 каза:
    
    int n;
    cout<<"Vuvedete N: ";
    cin>>n;
    int a[n];
    cout<<"Vuvedete elementite na masiva: ";
    for(int i=0;i<n; i++)
    cin>>a[i];
    
    bool sim=true;
    n=n-1;
    
    for(int i=0;i<=n/2;i++)
    { 
    if(a[i]!=a[n])
    sim=false;
    n--;
    }
    
    if(sim)
    cout<<"da\n";
    else cout<<"ne\n";
    
    
    return 0;
    
    
    
    • Данаил каза:

      Охо, трета програма! Браво! Тук обаче не съм съгласен – опитай с масива 1 2 3 4 2 1 и проследи кода за проверката за симетрия стъпка по стъпка, за да си видиш къде ти е грешката.

      Можеш да използваш n-i за индексите на последните елементи при сравняването им с първите. Така няма да ти се налага да ползваш друга променлива и да я намаляваш.

  2. krisizdravi95 каза:
    
    int n;
    cout<<"Vuvedete N: ";
    cin>>n;
    int a[n];
    cout<<"Vuvedete elementite na masiva: ";
    for(int i=0;i<n; i++)
    cin>>a[i];
    
    bool sim=true;
    
    for(int i=0;i<=n;i++)
    { 
    n--;
    if(a[i]!=a[n])
    sim=false;
    }
    
    if(sim)
    cout<<"da\n";
    else cout<<"ne\n";
    
    
    

Вашият коментар