Răspuns :
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("bac.in");
int v[1001],x[1001],i,j,m,n,ok;
int main()
{
fin>>m>>n;
for (i=1;i<=m;i++)
fin>>v[i];
for (i=1;i<=n;i++)
fin>>x[i];
i=m;
j=n;
while (i && j)
{
if (v[i]==x[j] && v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
i--; j--;
}
else
{
if (v[i]>x[j])
{
if (v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
}
i--;
}
else
{
if (x[j]%2==0)
{
ok=1;
cout<<x[j]<<" ";
}
j--;
}
}
}
if (i && !j)
{
while (i)
{
if (v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
}
i--;
}
}
else
{
while (j)
{
if (x[j]%2==0)
{
ok=1;
cout<<x[j]<<" ";
}
i--;
}
}
return 0;
}
#include <fstream>
using namespace std;
ifstream fin("bac.in");
int v[1001],x[1001],i,j,m,n,ok;
int main()
{
fin>>m>>n;
for (i=1;i<=m;i++)
fin>>v[i];
for (i=1;i<=n;i++)
fin>>x[i];
i=m;
j=n;
while (i && j)
{
if (v[i]==x[j] && v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
i--; j--;
}
else
{
if (v[i]>x[j])
{
if (v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
}
i--;
}
else
{
if (x[j]%2==0)
{
ok=1;
cout<<x[j]<<" ";
}
j--;
}
}
}
if (i && !j)
{
while (i)
{
if (v[i]%2==0)
{
ok=1;
cout<<v[i]<<" ";
}
i--;
}
}
else
{
while (j)
{
if (x[j]%2==0)
{
ok=1;
cout<<x[j]<<" ";
}
i--;
}
}
return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int v1[1001], v2[1001];
int main(){
ifstream in("bac.in");
int k1=0, k2=0, m, n, t, i;
in>>m>>n;
for(i=0; i<m; i++){
in>>t;
if(t%2 == 0){
v1[k1] = t;
k1++;
}
}
for(i=0; i<n; i++){
in>>t;
if(t%2 == 0){
v2[k2] = t;
k2++;
}
}
if(k1 + k2 == 0){
cout<<"nu exista";
return 0;
}
k1--;
k2--;
while(k1 >= 0 && k2 >= 0){
if(v1[k1] > v2[k2]){
cout<<v1[k1]<<' ';
k1--;
}else if(v2[k2] > v1[k1]){
cout<<v2[k2]<<' ';
k2--;
}else{
cout<<v1[k1]<<' ';
k1--;
k2--;
}
}
for(i=k1;i>=0;i--)
cout<<v1[i]<<' ';
for(i=k2;i>=0;i--)
cout<<v2[i]<<' ';
in.close();
return 0;
}
Mie așa mi s-a părut mai simplu. :))
#include <fstream>
using namespace std;
int v1[1001], v2[1001];
int main(){
ifstream in("bac.in");
int k1=0, k2=0, m, n, t, i;
in>>m>>n;
for(i=0; i<m; i++){
in>>t;
if(t%2 == 0){
v1[k1] = t;
k1++;
}
}
for(i=0; i<n; i++){
in>>t;
if(t%2 == 0){
v2[k2] = t;
k2++;
}
}
if(k1 + k2 == 0){
cout<<"nu exista";
return 0;
}
k1--;
k2--;
while(k1 >= 0 && k2 >= 0){
if(v1[k1] > v2[k2]){
cout<<v1[k1]<<' ';
k1--;
}else if(v2[k2] > v1[k1]){
cout<<v2[k2]<<' ';
k2--;
}else{
cout<<v1[k1]<<' ';
k1--;
k2--;
}
}
for(i=k1;i>=0;i--)
cout<<v1[i]<<' ';
for(i=k2;i>=0;i--)
cout<<v2[i]<<' ';
in.close();
return 0;
}
Mie așa mi s-a părut mai simplu. :))
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!