Заданы Массивы Вещественных Чисел X И Y.

Ruslan737

New member
04.04.2012
2
0
#1
Заданы массивы вещественных чисел X и Y. Сформировать массив Z из положи-
тельных элементов массивов X и Y. Определить номера максимального и мини-
мального элементов в массиве Z.
Код:
const N=3;
var X,Y:array[1..N] of real;Z:array[1..2*N] of real;max,min:real;m,p,i,j,k:integer;
Begin
for i:=1 to N do Begin
Read(X[i],Y[i]);Readln;end;
k:=0;
for i:=1 to N do Begin
if X[i]>0 then Begin inc(k);Z[k]:=X[i];end;
if Y[i]>0 then Begin inc(k);Z[k]:=Y[i];end;end;
max:=Z[1];min:=Z[1];m:=1;p:=1;
for i:=2 to k do Begin
if Z[i]>max then m:=i;
if Z[i]<min then p:=i;end;
for i:=1 to k do
Write(Z[i],' ');
Writeln('nomer max=',m,' ','nomer min=',p);end.
Пытался сделать на С++,не получается самостоятельно

Добавлено: Есть не очень правильный вариант)Отредактируйте пожалуйста)
C++:
#include "stdafx.h"
#include <stdio.h>
int main()
{
int k, n, m, i, x[10], y[10];
puts("BBe9iTe 4icLo ELEMEHTOB MACCIBA X:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("x[%2d]=",i);
scanf("%d",&x[i]);
}
puts("BBe9iTe 4icLo ELEMEHTOB MACCIBA Y:");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("y[%2d]=",i);
scanf("%d",&y[i]);
}
int *z=new int[15]; // выделение памяти под массив Z
k=0;
for(i=1;i<n;i+=2)
{
if(x[i]>0)
{
z[k]=x[i];
k++;
}
}
for(i=0;i<m;i++)
{
if(y[i]>x[0])
{
z[k]=y[i];
k++;
}
}
puts("MacciB X:");
for(i=0;i<n;i++)
printf("x[%d]=%d\n",i,x[i]);
puts("MacciB Y:");
for(i=0;i<m;i++)
printf("y[%d]=%d\n",i,y[i]);
if(k==0)
puts("MacciB Z HE CformiroBaH.");
else
{
puts("MacciB Z:");
for(i=0;i<k;i++)
printf("z[%d]=%d\n",i,z[i]);
}
delete[] z; // освобождение памяти
}
 
W

Whatka

#2
вот код
думаю ты сам сможешь дописать нахождение номеров макс и мин)
C++:
//
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL,"Rus");
int n,n1,*X,*Y,*Z,k(0),k1(0);
cout<<"Введите размерности массивов:";
cin>>n>>n1;
X=new int [n];
Y=new int [n1];
cout<<"Введите элементы первого массива:";
for(int i=0;i<n;i++)
{
cin>>X[i];
if(X[i]>0)
k++;
}
cout<<"Введите элементы второго массива:";
for(int i=0;i<n1;i++)
{
cin>>Y[i];
if(Y[i]>0)
k1++;
}
Z=new int [k+k1];
int j(0);
for(int i=0;i<n;i++)
{
if(X[i]>0)
{
Z[j]=X[i];
j++;
}
}
for(int i=0;i<n1;i++)
{
if(Y[i]>0)
{
Z[j]=Y[i];
j++;
}
}
cout<<"Массив Z имеет вид:\n";
for(int i=0;i<k+k1;i++)
cout<<Z[i]<<" ";
cout<<endl;
delete[] Z;
delete[] X;
delete[] Y;
}
//