R
Ruslan737
Заданы массивы вещественных чисел X и Y. Сформировать массив Z из положи-
тельных элементов массивов 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; // освобождение памяти
}