Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
hw3.doc
Скачиваний:
2
Добавлен:
03.08.2019
Размер:
137.73 Кб
Скачать

Int main()

{

int i,j,k,s; const n = 10;

int a[n],b[n],c[n];

for (i = 0;i<n;i++) cin>>a[i];

for (i = 0;i<n;i++) cin>>b[i];

for (i = 0;i<n;i++) cin>>c[i];

s = 0;

sum(b, a[n-7]*a[n-3],a,1);

s = s+1;

sum(c, b[n-7]+b[n-2],b,0);

s = s+2;

sum(a, c[n-7]-c[n-1],c,2);

cout<<s;

return 0;

}

Задание 1.3

Int main()

{

int i,j,k;

const n = 10;const M = 5;

int a[n],b[n],c[n];

double d[M],s;

for (i = 0;i<n;i++) cin>>a[i];

for (i = 0;i<n;i++) cin>>b[i];

for (i = 0;i<n;i++) cin>>c[i];

for (i = 0;i<M;i++) cin>>d[i];

s = 0;

for (q = 0;q<M;q++)

{

b[q] = a[n-7]*a[n-3];

for(i = 0;i<n-1; i++)

s = s+a[i+1]+cos(a[q+d[q]]);

d[3] = d[3]+1;

s = s+5;

c[q] = b[n-7]+b[n-2];

for(j = 0;j<n; j++)

s = s+b[j]+sin(b[q+d[q]]);

s = s+3;

a[q] = c[n-7]-c[n-1];

for(k = 0;k<n-2; k++)

s = s+c[k+2]+cos(c[q+d[q]]);

d[3] = d[3]+2;

}

cout<<s;

return 0;

}

В первой строке мы видим что с слева отличие только в названии массива. это параметр-переменная(аналогично 1.2). Справа выражения, в которых не удается проследить закономерность, поэтому обозначим его за новый аргумент.

Отличие во второй строке в переменной i(j и k), внедряем локальную переменную l1. Oтличии в границе. Заменим этот добавок на аргумент a4. То же отличие в 4-ой строке во втором фрагменте d[3] = d[3]+0(аналог ничего не деланья)

a1=b

a2=a[n-7]*a[n-3]

a1[q] = a2;

for(i = 0;i<n-1; i++)

s = s+a[i+1]+cos(a[q+d[q]]);

d[3] = d[3]+l

l1 = i

a4=1

a1[1] = a2;

for(l1 = 0; l1<n-a4; l1++)

s = s+a[l1+a4]+cos(a[q+d[q]]);

d[3] = d[3]+a4;

a1=c

a2= b[n-7]+b[n-2]

a1[q] = a2;

for(j = 0;j<n; j++)

s = s+b[j]+sin(b[q+d[q]]);

l1 = j

a4=0

a1[1] = a2;

for(l1 = 0; l1<n-a4; l1++)

s = s+b[l1+a4] +sin(a[q+d[q]]);

d[3] = d[3]+a4;

a1=a

a2= c[n-7]-c[n-1]

a1[q] = a2;

for(k = 0;k<n-2; k++)

s = s+c[k+2]+cos(c[q+d[q]]);

d[3] = d[3]+2;

l1 = k

a4=2

a1[1] = a2;

for(l1 = 0; l1<n-a4; l1++)

s = s+c[l1+a4]+cos(a[q+d[q]]);

d[3] = d[3]+a4;

__ sum (int a1[10],int a2,___)

{

a1[1] = a2;

}

__ sum (int a1[10],int a2,int a4,_)

{

int l1

a1[1] = a2;

for(l1 = 0; l1<n-a4; l1++)

}

В третьей строке отличие в массиве а(b и c), его мы обозначим за аргумент a3, т.к. зависит от предыдущего и влияет на следующее. Также отличие в функции, заведем булевский аргумент a5, который будет показывать что это sin или cos, и предварительно вычисленное значение функции будем класть в локальную переменную l2. Обратим внимание на тип выражения

Все различия устранены, теперь можно все оставшиеся переменные передавать как переменные параметры(ставя впереди “&”), т.к. их значения передаются из вне, а изменения важны для последующей программы. Внимание перед n “&” не ставится, т.к. она константа. А возвращаемый тип указывать void.

a1=b

a2=a[n-7]*a[n-3]

l1 = i

a3=a

a4=1

a5=true

l2=cos(a1[q+d[q]]);

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

a1=c

a2= b[n-7]+b[n-2]

l1 = j

a3=b

a4=0

a5=false

l2=sin(a1[q+d[q]]);

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

a1=a

a2= c[n-7]-c[n-1]

l1 = k

a3=c

a4=2

a5=true

l2=cos(a1[q+d[q]]);

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

a1[1] = a2;

for(l1 = 0; l1<n- a4; l1++)

{ if (a5) l2 = cos(a1[q+d[q]]);

else l2 = sin(a1[q+d[q]]);

s=s+a3[l1+a4]+l2

d[3] = d[3]+a4;

}

__ sum (int a1[10],int a2, int a3[10],int a4,bool a5,____)

{

int l1;

double l2;

a1[1] = a2;

for(l1 = 0; l1<n- a4;l1++)

{ if (a5)

l2 = cos(a1[q+d[q]]);

else

l2 = sin(a1[q+d[q]]);

s = s+a3[l1+a4]+ a1[l1];

d[3] = d[3]+a4;}

}

void sum (int a1[10],int a2, int a3[10],int a4,bool a5,double &s, int n, int &q, double d[5])

{

int l1;

double l2;

a1[1] = a2;

for(l1 = 0; l1<n- a4;l1++)

{ if (a5)

l2 = cos(a1[q+d[q]]);

else

l2 = sin(a1[q+d[q]]);

s = s+a3[l1+a4]+ a1[l1];

d[3] = d[3]+a4;}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]