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

C++ #287 pbinfo
1. cerinta
Se dau n şiruri cu elemente numere întregi. Să se verifice despre fiecare dacă este ordonat crescător.

Date de intrare
Programul citește de la tastatură numărul n; iar apoi n şiruri – pentru fiecare, se citeşte mai întâi numărul de valori, apoi valorile din şir.

Date de ieşire
Programul afișează pe ecran n valori 0 sau 1, separate prin spaţii. A k-a valoare este 1, dacă al k-lea şir este ordonat crescător, respectiv 0 dacă şirul nu este ordonat crescător.

Restricţii şi precizări
1 ≤ n ≤ 10
fiecare şir va avea cel mult 500 elemente, numere întregi cu cel mult 4 cifre fiecare



Exemplu
Date de intrare

3
9
5 10 -5 8 -2 -7 0 -9 10
7
-6 -5 -4 0 2 5 8
5
2 7 8 10 10
Date de ieșire

0 1 1
Explicație
S-au citit 3 şiruri; primul nu este ordonat crescător, iar al doilea şi al treilea sunt ordonate crescător.
mie imi da 60p. va rog sursa de 100p
2. Cerinţa
Se dă un şir cu n elemente, numere naturale. Să se verifice dacă există în şir elemente care să aibă ambii vecini de aceeaşi paritate cu el.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă există în şir elemente care să aibă ambii vecini de aceeaşi paritate cu el, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 100
elementele şirului vor avea cel mult 9 cifre



Exemplu
Date de intrare

5
803 60 102 408 6
Date de ieșire

DA
plss


baiatul122001: Doar pe 1 il stiu
baiatul122001: La 2 nu sunt sigur

Răspunsuri la întrebare

Răspuns de baiatul122001
0
#include <iostream>
using namespace std;

int main(){

int x,y,nr_siruri,este_crescator,nr_termeni,sir_curent=0,i;
cin>>nr_siruri;//citesc nr de siruri
int rez[nr_siruri];
while(nr_siruri>0){//cat timp mai exista siruri

cin>>nr_termeni>>x;//citesc nr de termeni ai sirului si primul nr din sir
este_crescator=1;//presupun ca sirul este crescator
while(nr_termeni>1){//cat timp mai exista termeni in sir
cin>>y;//citeste urmatorul element
if(x>y){//daca actualul element este mai mare decat urmatorul element
este_crescator=0;//sirul nu este crescator
}
x=y;//urmatorul element devine actualul element
nr_termeni--;
}
rez[sir_curent]=este_crescator;//sirul curent primeste valoarea 0 sau 1
sir_curent++;//creste sirul curent
nr_siruri--;//scade numarul de siruri ramase
}
for(i=0;i<sir_curent;i++){
cout<<rez[i]<<" ";//afisarea
}
return 0;
}

2.

#include <iostream>
using namespace std;
void citireVector(long x[], int &n)
{ int i;
    cout<<"Dati n ";
    cin>>n;
for(i=1;i<=n;i++)
{ cin>>x[i]; }
cout<<endl; }
int verifica(long x[], int n)
 {
int i,paritate; for(i=2;i<n;i++)
     {
paritate = x[i]%2;
        if( x[i-1]%2==paritate && x[i+1]%2==paritate )
             return 1;
}
    return 0;
}
int main()
 {
long x[1001];
int n;
citireVector(x,n);
    if(verifica(x,n))
        cout<<"DA";
else
        cout<<"NU";
}

Răspuns de express
4
Ai raspunsul meu pentru problema #287. As dori cu aceasta ocazie sa te rog sa nu mai formulezi altadata mai mult de o problema intr-o singura postare. Succes!
#include <iostream>
using namespace std;
int t,n,i,j,x,y;
bool ok;
int main()
{
    cin>>t;
    for(j=1;j<=t;j++)
    {
        ok=true;
        cin>>n;
        cin>>x;
        for(i=2;i<=n;i++)
         {
             cin>>y;
             if(x>y) ok=false;
             x=y;
         }
         if(ok) cout<<1<<" ";
           else cout<<0<<" ";
    }
    return 0;
}

Alte întrebări interesante