Здавалка
Главная | Обратная связь

Двовимірні масиви з підпрограмами

Завдання 1

Лінійний обчислювальний процес.

Скласти алгоритм та написати програму розрахунку за функціями при різних значеннях аргументу:

Обчислити y=sin3(x2+a)2 - z=x2/a+cos2(x+b)3, де a=1,1; b=0,004; x=0,2.

Початок
Алгоритм програми

Const a=1.1; b=0.004; x=0.2
Обчислення y=sin3(x2+a)2 - z=x2/a+cos2(x+b)3  
Виведення значень z та y на екран
Кінець


Лістинг програми

#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

Циклічні програми з розгалуженням

Скласти програму обчислення значення функцій при різних значеннях аргументів, заданих інтервалом зміни і величиною кроку, результат представити у вигляді таблиці.

де

Алгоритм програми

Початок
Const a=2.4; hx=0.5,xn= -3,xk=3
>
whilex<=xk)


-
+

Обчислення
Виведення значень x та z на екран
Обчислення x=x+hx
Кінець


Лістинг програми

#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

Одновимірні масиви (з використанням динамічних масивів та покажчиків)

Скласти алгоритм і програму, яка в одновимірному масиві обчислює:

а) кількість елементів масиву, рівних нулю.

б) суму елементів масиву, розташованих після мінімального елементу.

в) упорядкувати елементи масиву за зростанням модулів.

Алгоритм програми

while (a[i]!=min)  
Обчислення суми елементів, розташованих після мінімального
+
-
Початок
Оголошення змінних
Виведення кількості нульових елелементів
for (i=0;i<10;i++)  
+
-
for (i=0;i<10;i++)  
Знаходження мінімуму
+
-
Виведення масиву псевдовипадкових чисел  
Обчислення кількості нульових елементів

Виведення суми
for (i=0;i<9;i++) for (j=0; j<9;j++)
Сортування масиву за зростанням модулів
Виведення відсортованого масиву
Кінець


Лістинг програми

#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

Двовимірні масиви з підпрограмами

Використовуючи підпрограми скласти алгоритм та програму обробки двовимірного масиву: Нехай задана речова матриця. Розглядаючи її як вектор рядків, упорядкувати її за кількістю непарних елементів в кожному рядку.

Алгоритм програми

Початок
s UEsFBgAAAAAEAAQA8wAAAPQFAAAAAA== " adj="2467" fillcolor="white [3201]" strokecolor="#f79646 [3209]" strokeweight="2pt">
Виведення матриці псевдовипадкових чисел


Перевірка умов та сортування за ними матриці

Виведення відсортованої матриці
Кінець


Лістинг програми

#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 Все права принадлежат авторам размещенных материалов.