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
Răspunsuri la întrebare
Răspuns de
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";
}
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
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;
}
#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
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă