Двовимірні масиви з підпрограмами
Завдання 1 Лінійний обчислювальний процес. Скласти алгоритм та написати програму розрахунку за функціями при різних значеннях аргументу: Обчислити y=sin3(x2+a)2 - z=x2/a+cos2(x+b)3, де a=1,1; b=0,004; x=0,2.
Лістинг програми #include "stdafx.h" #include <math.h> #include <conio.h> #include <locale.h>
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); const float a=1.1,b=0.004,x=0.2; float y,z; y=pow(sin(pow((pow(x,2)+a),2)),3)-pow((x/b),1/3); z=(pow(x,2)/a)+pow(cos(pow((x+b),3)),2); printf("Значение y=%5.2f\n",y); printf("Значение z=%5.2f\n",z); getch(); return 0; } Результати роботи програми
Завдання 2 Циклічні програми з розгалуженням Скласти програму обчислення значення функцій при різних значеннях аргументів, заданих інтервалом зміни і величиною кроку, результат представити у вигляді таблиці. де Алгоритм програми
Лістинг програми #include "stdafx.h" #include <math.h> #include <conio.h>
int _tmain(int argc, _TCHAR* argv[]) { float z,x; const float a=2.4,hx=0.5,xn= -3,xk=3; x=xn; printf(" X | Z \n-----|-----\n"); while(x<=xk) { z=(pow(a,x)*log(abs(x+8)))/(x+1); printf("%5.2f|%5.2f\n",x,z); x=x+hx; } getch(); return 0; } Результати роботи програми
Завдання 3 Одновимірні масиви (з використанням динамічних масивів та покажчиків) Скласти алгоритм і програму, яка в одновимірному масиві обчислює: а) кількість елементів масиву, рівних нулю. б) суму елементів масиву, розташованих після мінімального елементу. в) упорядкувати елементи масиву за зростанням модулів. Алгоритм програми
Лістинг програми #include "stdafx.h" #include <conio.h> #include <stdlib.h> #include <time.h> #include <locale.h>
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); srand(time(0)); int S=0,i,j,x,a[10],kol0=0,min; printf("Случайно сформированный массив чисел\n\n"); for (i=0;i<10;i++) { printf("%i\t",a[i]=rand()%20-10); if (a[i]==0) kol0++;
} printf("\nКоличество элементов массива, равных нулю = %i\n",kol0); min=a[0]; for (i=0;i<10;i++) { if (a[i]<=min) min=a[i]; } i=10-1; while (a[i]!=min) { S+=a[i]; i--; } printf("Сумма элементов массива, расположенных после минимального элемента = %i\n",S); for (i=0;i<9;i++) for (j=0; j<9;j++) if (abs(a[j]) > abs(a[j+1])) { x = a[j]; a[j] = a[j+1]; a[j+1] = x; } printf("\nМассив, упорядоченный по возрастанию модулей\n\n"); for (int i=0;i<10;i++) printf("%i\t",a[i]); getch(); return 0; } Результати роботи програми Завдання 4 Двовимірні масиви з підпрограмами Використовуючи підпрограми скласти алгоритм та програму обробки двовимірного масиву: Нехай задана речова матриця. Розглядаючи її як вектор рядків, упорядкувати її за кількістю непарних елементів в кожному рядку. Алгоритм програми
Лістинг програми #include "stdafx.h" #include <stdlib.h> #include <locale.h> #include <time.h> #include <conio.h> #include <math.h>
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); srand((unsigned)time(0)); int a[3][3],i,j,kn1=0,kn2=0,kn3=0,x[3],y[3]; printf("Случайно сформированная матрица\n\n"); for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf("%i\t",a[i][j]=rand()%20-10); } printf("\n\n"); } for (j=0;j<3;j++) { if (a[0][j]%2==1||a[0][j]%2==-1) kn1++; if (a[1][j]%2==1||a[1][j]%2==-1) kn2++; if (a[2][j]%2==1||a[2][j]%2==-1) kn3++; if (kn1>kn2&&kn2<kn3&&kn1<kn3) x[j]=a[0][j], a[0][j]=a[1][j], a[1][j]=x[j]; else if (kn1>kn2&&kn2<kn3&&kn1>kn3) x[j]=a[0][j], a[0][j]=a[1][j], a[1][j]=a[2][j], a[2][j]=x[j]; else if (kn1<kn2&&kn2>kn3&&kn1<kn3) x[j]=a[1][j], a[1][j]=a[2][j], a[2][j]=x[j]; else if (kn1<kn2&&kn2>kn3&&kn1>kn3) x[j]=a[0][j], y[j]=a[1][j], a[0][j]=a[2][j], a[1][j]=x[j], a[2][j]=y[j]; else if (kn1<kn2&&kn2>kn3&&kn1==kn3) x[j]=a[1][j], a[1][j]=a[2][j], a[2][j]=x[j]; else if (kn1>kn2&&kn2<kn3&&kn1==kn3) x[j]=a[0][j], a[0][j]=a[1][j], a[1][j]=x[j]; else if (kn1==kn2&&kn2<kn3) a[0][j]=a[0][j],a[1][j]=a[1][j],a[2][j]=a[2][j]; else if (kn1==kn2&&kn2>kn3) x[j]=a[0][j], y[j]=a[1][j], a[0][j]=a[2][j], a[1][j]=x[j], a[2][j]=y[j]; else if (kn1>kn2&&kn2==kn3) x[j]=a[0][j], x[j]=a[0][j], a[0][j]=a[1][j], a[1][j]=a[2][j], a[2][j]=x[j]; else if (kn1<kn2&&kn2==kn3) a[0][j]=a[0][j],a[1][j]=a[1][j],a[2][j]=a[2][j]; } printf("Матрица, упорядоченная по количеству нечетных элементов в каждой строке\n\n"); for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf("%i\t",a[i][j]); } printf("\n\n"); } getch(); return 0; } Результати роботи програми Завдання 5 ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|