Задание 1 Составить блок-схему алгоритма и программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.
При х=0,1722; у=6,33; z=-3,25⦁10-4. Ответ s=-205,306. Блок- схема алгоритма
Код программы #include <iostream.h> #include <math.h>
Задание 3 Составить блок- схему алгоритма и программу вывода на экран таблицы значений функции у(х) для х, изменяющегося от a=0,1до b=1,2 с шагом h=0,1. Вычисление у(х) оформить в виде функции. Предусмотреть передачу параметров в функцию разными способами.
Блок-схема aлгоритма
Код программы #include<iostream.h> #include<iomanip.h> #include<math.h> } double Sum(double x, int n) { double sum = 0; for(int i=0;i<=n;i++) { sum += pow(x, 2 * i) / cos(i * x); } return sum; } double* Sum(double* x, int* n) { double* sum = new double; *sum = 0; for(int i=0;i<=*n;i++) { *sum += pow(*x, 2 * i) / cos(i * *x); } return sum; } void Sum(double& x, int& n, double& sum) { sum = 0; for(int i=0;i<=n;i++) { sum += pow(x, 2 * i) / cos(i * x); } } int main() { double x0,xk,h = 0; int n = 0; cout<<"Vvedite nach x: "; cin>>x0; cout<<"Vvedite konech x: "; cin>>xk; cout<<"Vvedite shag h: "; cin>>h; cout<<"Vvedite n: "; cin>>n; cout<<"Resultat:\n "; cout<<" Peremenye Ykazately Adres\n "; double x = x0; do { cout<<"Pri x: "; cout<<x; cout<<" Summa: "; cout<<Sum(x,n)<<" "; cout << *(Sum(&x,&n))<<" "; double sum = 0; Sum(x,n,sum); cout<<sum<<"\n"; x += h; } while(x <= xk); return 0; }
Задание 4 Ввести одномерный статический массив из k чисел. Вывести на экран исходные данные и полученный результат. Предусмотреть использование функции пользователя. Найти среднее арифметическое положительных кратным трем элементов массива, расположенных до минимального элемента.
Код программы #include <iostream.h> #include <iomanip.h> #include <math.h> int Minimum(int* mas, int length) { int _minIndex = 0; int _minValue; if(length == 0) return -1; _minValue = *mas; for(int i = 0; i< length; i++) int = 0; if( *mas < _minValue ) { _minValue = *mas; _minIndex = i; } mas ++; } return _minIndex; } double Result(int* mas,int minIndex) { double sum = 0; double count = 0; for(int i = 0; i<= minIndex; i++ ) { if(*mas % 3 == 0 && *mas > 0) { sum += *mas; count ++; } mas ++; } if(count == 0) { return 0; } return sum / count; } int main() { int mas[10] ; cout<<"Vvedite massiv: \n"<<endl; for (int i=0; i<10; i++) { cout<<"Vvedite mas["<<i<<"]=" cin>>mas[i]; } cout<<"Massiv: \n"; for (int i=0; i<10;i++) { cout<<mas[i]<<" "; } cout<<endl; int ind = Minimum(mas,10); double res = Result(mas,ind); cout<<"\nSrednee arufmeticheskoe polozitelnyh kratnyh 3-em elementov,\nstoyachih pered minimalnym: "; cout<<average<< endl; return 0; }
Результаты выполнения программы
Задание 5 Ввести матрицу NxM. Память для массива выделить динамически. Подсчитать сумму чётных элементов и произведение нечётных элементов матрицы, вывести на экран исходные данные и полученный результат. Предусмотреть в программе использование функции пользователя. Найти максимальный среди элементов, лежащих ниже побочной диагонали. Код программы #include <iostream.h> #include <iomanip.h> #include <math.h> int main () { int **mas,n; cout<<"Vvedite razmer kvadratnoy matrizy: "; cin>> n; mas = new int*[n]; for(int i =0;i<n;i++) { mas[i]= new int [n]; } cout<<"Vvedite matrizy po elementam:\n"; for (int i=0;i<n; i++) { for (int j=0; j<n; j++) { cout<<"Element "; cout<<"["<<i<<"]["<<j<<"]: "; cin>> mas[i][j]; } } cout<<"\nMatriza:\n"; for (int i=0; i<n; i++) { for (int j=0; j<n;j++) { cout <<mas[i][j]<< " "; } cout<<"\n\n"; } int min = Search (mas,n); cout<<"\nMinimalnyi element, lezachiy pod pobochnoy diagonaliy: "; cout << min; return 0; } int Search(int** mas, int size ) { int* _minElement = NULL; for(i =size-1;i+j>>size;i--); { for(j =size-1;i+j>>size;j--); { if(_minElement == NULL && i + j >= size) { _minElement = mas[i]; } else { if(i + j >= size && *mas[i] < *_minElement && _minElement != NULL) _minElement = mas[i]; } mas[i] ++; } } return *_minElement; }