#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int n = rand();
float *mas = new float[n];
float S = 0, P=0, r=0, q=0, x=0 ,y=0;
int i, k = 1;
cout<<"Исходный массив:\n";
for (i=0; i<n; i++)
{
if (k%2==0)
{
mas=(float)-1/(float)k;
}
else
{
mas=(float)1/(float)k;
}
k++;
cout<<mas<<" ";
}
cout<<"\n1-ый способ\n";
for (int i=0; i<n; i++)
{
S+=mas;
}
cout<<"S="<<S<<endl;
cout<<"\n2-ой способ\n";
for (int i=0; i<n; i++)
{
if (mas>0)
{
x+=mas;
}
}
cout<<"X - сумма всех положительных чисел = "<<x<<endl;
for (int i=0; i<n; i++)
{
if (mas<0)
{
y+=mas;
}
}
cout<<"Y - сумма всех отрицательных чисел = "<<y<<endl;
cout<<"X-Y="<<x-y<<endl;
cout<<"\n3-й способ\n";
P=mas[n-1];
cout<<"P="<<P;
for (int i=n-1; i>=0; i--)
{
P +=mas;
}
cout<<"P="<<P<<endl;
cout<<"\n4-й способ\n";
for (int i=n-1; i>=0; i--)
{
if (mas>0)
{
r+=mas;
}
}
cout<<"R - сумма всех положительных чисел = "<<r<<endl;
for (int i=n-1; i>0; i--)
{
if (mas<0)
{
q+=mas;
}
}
cout<<"Q - сумма всех отрицательных чисел = "<<q<<endl;
cout<<"R-Q="<<r-q<<endl;
delete[] mas;
}
перевод с Pascal ABC на С++
С не знаю, а программу нужно на двух языках. заранее спасибо
uses crt;
const n=random(1000001);
type
Mass=array[1..n] of real;
Var
a: Mass;
var i, k: integer;
S, P, r, q, x ,y: real;
begin
for i:=1 to n do
begin
k:=i;
if i mod 2 =0 then a:=-1/i
else a:=1/i;
write('(',a:6:4,')')
end;
writeln;
writeln;
writeln ('1-ый способ');
S:=a[1];
write('(',S,')');
for i:=2 to n do
begin
S:=S+a;
write(' + (',a,')');
end;
write(' = ',S);
writeln;
writeln;
writeln ('2-ой способ');
x:=0;
y:=0;
for i:=1 to n do
if a>0 then
begin
x:=x+a;
write(' + ',a);
end;
write(' = ',x,' – сумма всех положительных чисел');
writeln;
for i:=1 to n do
if a<0 then
begin
y:=y+a;
write(' ',a);
end;
write(' = ',y,' – сумма всех отрицательных чисел');
writeln;
writeln('(',x,')',' - ','(',y,')',' = ',x-y);
writeln;
writeln ('3-ий способ');
P:=a[n];
write('(',P,')');
for i:=n-1 downto 1 do
begin
P:=P+a;
write(' + (',a,')');
end;
write(' = ',P);
writeln;
writeln;
writeln ('4-ый способ');
r:=0;
q:=0;
for i:=n downto 1 do
if a>0 then
begin
r:=r+a;
write(' + ',a);
end;
write(' = ',r,' – сумма всех положительных чисел');
writeln;
for i:=n downto 1 do
if a<0 then
begin
q:=q+a;
write(' ',a);
end;
write(' = ',q,' – сумма всех отрицательных чисел');
writeln;
writeln('(',r,')',' - ','(',q,')',' = ',r-q);
end.
ни кто не поможет?( просто очень надо... помогите кто может
Цитата: dhoine66
ни кто не поможет?( просто очень надо... помогите кто может
вариант 1 (как у тебя):
Код:
Цитата: dhoine66
ни кто не поможет?( просто очень надо... помогите кто может
Вариант 2 (с двумя циклами вместо семи):
Код:
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int n = rand();
float *mas = new float[n];
float S = 0, P=0, r=0, q=0, x=0 ,y=0;
int k = 1;
cout<<"Исходный массив:\n";
for (int i=0; i<n; i++)
{
if (k%2==0)
{
mas=(float)-1/(float)k;
}
else
{
mas=(float)1/(float)k;
}
S+=mas; //сумма всех элементов
if (mas>0)
{
x+=mas;//сумма положительных
}
else
{
y+=mas; //cумма отрицательных
}
k++;
cout<<mas<<" ";
}
cout<<"\nS="<<S<<endl;
cout<<"X - сумма всех положительных чисел = "<<x<<endl;
cout<<"Y - сумма всех отрицательных чисел = "<<y<<endl;
cout<<"X-Y="<<x-y<<endl;
cout<<"\n2-й способ\n";
for (int i=n-1; i>=0; i--)
{
P +=mas;
if (mas>0)
{
r+=mas;
}
else
{
q+=mas;
}
}
cout<<"\nP="<<P<<endl;
cout<<"R - сумма всех положительных чисел = "<<r<<endl;
cout<<"Q - сумма всех отрицательных чисел = "<<q<<endl;
cout<<"R-Q="<<r-q<<endl;
delete[] mas;
}
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
int n = rand();
float *mas = new float[n];
float S = 0, P=0, r=0, q=0, x=0 ,y=0;
int k = 1;
cout<<"Исходный массив:\n";
for (int i=0; i<n; i++)
{
if (k%2==0)
{
mas=(float)-1/(float)k;
}
else
{
mas=(float)1/(float)k;
}
S+=mas; //сумма всех элементов
if (mas>0)
{
x+=mas;//сумма положительных
}
else
{
y+=mas; //cумма отрицательных
}
k++;
cout<<mas<<" ";
}
cout<<"\nS="<<S<<endl;
cout<<"X - сумма всех положительных чисел = "<<x<<endl;
cout<<"Y - сумма всех отрицательных чисел = "<<y<<endl;
cout<<"X-Y="<<x-y<<endl;
cout<<"\n2-й способ\n";
for (int i=n-1; i>=0; i--)
{
P +=mas;
if (mas>0)
{
r+=mas;
}
else
{
q+=mas;
}
}
cout<<"\nP="<<P<<endl;
cout<<"R - сумма всех положительных чисел = "<<r<<endl;
cout<<"Q - сумма всех отрицательных чисел = "<<q<<endl;
cout<<"R-Q="<<r-q<<endl;
delete[] mas;
}