Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КР

.docx
Скачиваний:
2
Добавлен:
01.04.2014
Размер:
28.83 Кб
Скачать

1) Написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

При x=0,4*10; y=-0,875; z=-0,475*10; Ответ S=1,98727;

#include <iostream.h>

#include <math.h>

int main ()

{

double x,y,z,a,b,c,s;

cout<<"vvedite x: ";

cin>>x;

cout<<"vvedite y: ";

cin>>y;

cout<<"vvedite z: ";

cin>>z;

a=fabs(cos(x)-cos(y));

b=1+2*pow(sin(y),2);

c=1+z+pow(z,2)/2+pow(z,3)/3+pow(z,4)/4;

s=pow(a,b)*c;

cout<<"Result s= "<< s <<endl;

return 0;

}

2) Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.

#include <iostream.h>

#include <math.h>

int main ()

{

double x,y,s;

cout<<"Vvedite x: ";

cin>>x;

cout<<"Vvedite y: ";

cin>>y;

if(x>y)

{

s=pow(fabs(x-y),1/3.)+tan(x);

cout<<"1 vetv.Result= "<<s<<endl;

}

else if(y>x)

{

s=pow(x-y,3)+cos(x);

cout<<"2 vetv.Result= "<<s<<endl;

}

else

{s=pow(y+x,2)+pow(x,3);

cout<<"3 vetv.Result= "<<s<<endl;

}

return 0;

}

3) Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1. Вычисление y(x) оформить в виде функции. Предусмотреть передачу параметров в функцию разными способами.

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

double Summa (double, int);

void Summa (double*, int*,double*);

void Summa (double&, int&,double&);

int main()

{

double s, x, a, b, h;

int n;

cout << "Vvedite a, b, h, n:" << endl;

cin >> a >> b >> h >> n;

cout << "\n Value"<<setw(20)<<"Pointer"<<setw(24)<<"Reference\n";

x = a;

do

{

cout << setw(5) << x << setw(10) << Summa (x, n);

Summa (&x, &n,&s);

cout << setw(10) << x << setw(10) << s ;

Summa (x, n, s);

cout << setw(10) << x << setw(10) << s<< endl;

x += h;

}

while (x <= b + h/2);

cout << endl;

return 0;

}

double Summa (double x, int n)

{

double s;

int i;

s = 0;

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

s += (pow(i,2)+1)/i*pow(x/2,i);

return s;

}

void Summa (double *x, int *n, double *s)

{

int i;

*s = 0;

for (i = 1; i <= *n; i++)

*s += (pow(i,2)+1)/i*pow(*x/2,i);

}

void Summa (double &x, int &n, double &s)

{

int i;

s = 0;

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

s += (pow(i,2)+1)/i*pow(x/2,i);

}

4) Ввести одномерный статический массив из k чисел. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. Предусмотреть использование функции пользователя.

Найти количество элементов массива, расположенных после минимального элемента.

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

void Min(int a[],int,int*,int*,int*);

int main()

{

int a[10],i,n,s,min,imin;

s=1;

cout<<"Vvedite razmer massiva: ";

cin>>n;

cout<<"\nVvedite massiv:\n";

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

{

cout<<"Vvedite a["<<i<<"]=";

cin>>a[i];

}

cout<<"\nMassiv a:\n";

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

cout<<setw(7)<<a[i];

cout<<endl;

Min(a,n,&s,&min,&imin);

cout<<"min="<<min<<setw(5)<<"\nimin="<<imin<<endl;

cout<<"Kolichestvo elementov massiva posle min elementa= "<<s<<endl;

return 0;

}

void Min(int a[],int n,int*s,int*min,int*imin)

{

int i;

*min=a[0];

*imin=0;

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

if(a[i]<*min)

{

*min=a[i];

*imin=i;

}

*s*=n-*imin-1;

}

5) Ввести матрицу размером NxM. Память для массива выделить динамически. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. Предусмотреть в программе функцию пользователя.

Определить произведение положительных элементов, расположенных ниже главной диагонали матрицы.

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

void proizvedenie (int**,int,int*);

int main()

{

int **a;

int i,j,n,s;

cout<<"Vvedite razmer massiva A:\n";

cout<<"row i column n=";

cin>>n;

a=new int*[n];

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

a[i]=new int[n];

cout<<"\nVvedite massiv A:\n";

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

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

{

cout<<"Vvedite a["<<i<<"]["<<j<<"]: ";

cin>>a[i][j];

}

cout<<"\nMassiv A:\n";

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

{

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

cout<<setw(9)<<a[i][j];

cout<<endl;

}

proizvedenie (a,n,&s);

cout<<"\nResult s= "<<s<<endl;

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

delete [] a[i];

delete []a;

a=NULL;

return 0;

}

void proizvedenie (int **a,int n,int*s)

{

int i,j;

*s=1;

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

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

if (a[i][j]>0)

*s*=a[i][j];

}

Соседние файлы в предмете Основы алгоритмизации и программирования