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
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";
}
}
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
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Informatică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă