Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Результаты выполнения программы

Задание 1

 
 

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

при x=12.3*10-1; y=15.4; z=0.252*103. Ответ: S=82.8256

Блок-схема алгоритма

 
 

 


Код программы

#include <iostream.h>

#include <math.h>

 

int main ()

{

double x,y,z,s,c;

cout << "Vvedite x:";

cin >> x;

cout << "Vvedite y:";

cin >>y;

cout << "Vvedite z:";

cin >>z;

 

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

c=(x+y/2)/(2*fabs(x+y));

c*=pow(x+1,-1/sin(z));

s+=c;

cout << "Resault s=" << s << endl;

// cout << "Vvedite x:";

// cin >> x;

return 0;

}

Результаты выполнения программ

 
 

ы

 


Задание 2

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

 

Блок-схема алгоритма

 

 

 


Код программы

#include <iostream.h>

#include <math.h>

 

int main ()

{

double x,y,s,c;

cout << "Vvedite x:";

cin >> x;

cout << "Vvedite y:";

cin >>y;

 

 

c=pow(x,3);

if (c>0) {

s=log(pow(x,3));

cout << "\nVetv1\n";

}

else if (c<0)

{

s=tan(pow(x,3))+y*x;

cout << "\nVetv2\n";

}

else

{

s=pow((pow(y,3)-pow(x,2)),1/3.);

cout << "\nVetv3\n";

 

}

 

cout << "\nResault s=" << 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 y,x,a,b,h;

int n;

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

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

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

 

x=a;

do

{

cout << x << setw(15) << Summa(x,n) << setw(15);

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

cout << x << setw(15) << y << setw(15);

Summa(x,n,y);

cout << x << setw(15) << y << setw(15) << endl;

x+=h;

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

cout << endl;

 

 

return 0;

}

double Summa (double x,int n)

{

double y;

int i;

y=0;

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

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

return y;

}

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

{

int i;

*y=0;

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

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

}

 

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

{

int i;

y=0;

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

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

}

 

Результаты выполнения программы

Задание 4

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

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

 

Код программы

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

 

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

 

int main ()

{

int a[10],i,k,min,imin,Schet,Snechet;

cout << "Vvedite razmer massiva:";

cin >> k;

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

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

{

cout << "\nVvedite a["<<i<<"]=";

cin >> a[i];

}

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

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

{

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

cout << endl;

}

 

Min(a,k,&min,&imin,&Schet,&Snechet);

 

if (imin==0)

{

cout << "Minimal element stoit pervim v massive"<<endl;

return (1);

}

else

if (Schet>Snechet)

{

cout << "Max znachenie - summa chetnih elementov:"<<Schet<<endl;

}

else

{

cout << "Max znachenie - summa nechetnih elementov:"<<Snechet<<endl;

}

return 0;

}

void Min (int a[],int k,int*min,int*imin,int*Schet,int*Snechet)

{

int i;

*min=a[0];

*imin=0;

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

{

if (a[i]<*min)

{

*min=a[i];

*imin=i;

}

}

for (*Schet=0,*Snechet=0,i=0;i<*imin;i++)

if (a[i]%2)

{

*Snechet+=a[i];

}

else

{

*Schet+=a[i];

}

Результаты выполнения программы

 


Задание 5

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

Найти произведение элементов, расположенных в нечетных (по номеру) столбцах матрицы.

 

Код программы

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

 

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

int main()

{

double **a, P;

int i, j, n, m;

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

cout<<"row n=";

cin >> n;

cout<<"column m=";

cin>>m;

 

a = new double*[n];

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

a[i] = new double[m];

 

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

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

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

{

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

cin >> a[i][j];

}

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

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

{

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

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

cout << endl;

}

 

Proizv (a, n, m, &P);

 

 

cout << "\nProizvedenie: \n";

cout << P;

cout << endl;

//}

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

delete [] a[i];

delete []a;

a = NULL;

 

return 0;

}

void Proizv (double **a,int n,int m,double *P)

{

int i,j;

 

*P=1;

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

for (j=1; j<m; j=2)

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

}

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...