Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

перевод с Pascal ABC на С++

71K
11 мая 2011 года
dhoine66
2 / / 11.05.2011
помогите пожалуйста перевести с 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.
71K
11 мая 2011 года
dhoine66
2 / / 11.05.2011
ни кто не поможет?( просто очень надо... помогите кто может
29K
12 мая 2011 года
Енот_в_Засаде
224 / / 09.11.2010
Цитата: dhoine66
ни кто не поможет?( просто очень надо... помогите кто может


вариант 1 (как у тебя):

Код:
#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;
}
29K
12 мая 2011 года
Енот_в_Засаде
224 / / 09.11.2010
Цитата: 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;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог