Informatică, întrebare adresată de Ronal, 9 ani în urmă

Un şir se numeşte şir zigzag, dacă monotonia elementelor pe poziții succesive alternează între strict crescător și strict descrescător, adică a[1]>a[2]a[4] ... sau a[1]a[3]
Se citeşe un şir cu n elemente. Să se verifice dacă este şir zigzag.

Răspunsuri la întrebare

Răspuns de blindseeker90
3
#include <iostream>
using namespace std;

int main(){

int x[20],i,n,este_zigzag=1;
cout<<"Introduceti nr de elemente:";
cin>>n;
cout<<"Introduceti elementele:";
for(i=1;i<=n;i++){
cin>>x[i];
}
if(n<3){
cout<<"Este zigzag";
return 0;
}
for(i=2;i<=n-1;i++){
//daca nu este adevarat ca alterneaza semmele intre trei elemente consecutive
///modifica valoarea lui este_zigzag in 0 si schimba valoarea
if(!(((x[i]<x[i-1])&&(x[i]<x[i+1]))||((x[i]>x[i-1])&&(x[i]>x[i+1])))){
este_zigzag=0;
cout<<"Elementele de pe pozitiile: "<<i-1<<" "<<i<<" "<<i+1<<" cu valorile "<<x[i-1]<<" "<<x[i]<<" "<<x[i+1]<<" nu respecta regula";
break;
}
}
if(este_zigzag==1){
cout<<"Este zigzag";
}
}
Alte întrebări interesante