Cerința sir_zigzag ---> #1329 pbinfo (ajutor am nevoie de 100 pct.)
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.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.
Date de ieșire
Programul va afișa pe ecran unul dintre mesajele DA sau NU după cum șirul dat este şir zigzag sau nu.
Restricții și precizări
3 ≤ n ≤ 1000
0 ≤ elementele şirului ≤ 1 000 000 000
Exemplu 1:
Intrare:
5
1 5 3 7 5
Ieșire:
DA
Explicație
Avem relațiile 1 < 5 > 3 < 7 > 5, deci e vorba de un șir zigzag.
Exemplu 2:
Intrare:
5
4 3 5 1 2
Ieșire:
DA
Explicație
Avem relațiile 4 > 3 < 5 > 1 < 2, deci e vorba de un șir zigzag.
Exemplu 3:
Intrare:
5
4 3 2 1 2
Ieșire:
NU
Explicație
Primele trei elemente ale șirului nu își schimbă monotonia, deci nu e șir zigzag.
Răspunsuri la întrebare
Răspuns de
7
//Am facut problema asta acum 11 secole ca ofranda pentru superba mea profesoara de informatica *ofteaza*
anyway here's the code
#include <iostream>
using namespace std;
int n,ok,i;
int main()
{
cin>>n;
int a[n];
for (i=0;i<n;i++)
{
cin>>a[i];
}
ok=1;
for (i=0;i<n-2;i++)
{
if (a[i]<a[i+1])
{
if (a[i+1]<a[i+2])
ok=0;
}
else
{
if (a[i]>a[i+1])
{
if (a[i+1]>a[i+2])
ok=0;
}
}
if (a[i]==a[i+1])
ok=0;
}
if (ok==0)
cout<<"NU";
else cout<<"DA";
return 0;
}
anyway here's the code
#include <iostream>
using namespace std;
int n,ok,i;
int main()
{
cin>>n;
int a[n];
for (i=0;i<n;i++)
{
cin>>a[i];
}
ok=1;
for (i=0;i<n-2;i++)
{
if (a[i]<a[i+1])
{
if (a[i+1]<a[i+2])
ok=0;
}
else
{
if (a[i]>a[i+1])
{
if (a[i+1]>a[i+2])
ok=0;
}
}
if (a[i]==a[i+1])
ok=0;
}
if (ok==0)
cout<<"NU";
else cout<<"DA";
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă