Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
v_01_н.doc
Скачиваний:
8
Добавлен:
18.11.2019
Размер:
142.85 Кб
Скачать

Задача 5

Заданы 4 вектора. Переменной К присвоить значение 1, если скалярное произведение первого вектора на второй больше, чем скалярное произведение третьего вектора на четвертый, и значение 0 в противном случае.

A[6], B[6], C[6], D[6].

Скалярное произведение векторов оформить в виде функции.

#include <stdio.h>

int sp(int n1[],int n2[],int c)

{

int i, result = 0;

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

result += (n1 [i] * n2 [i]);

return result;

}

void main ()

{

int a [n], b [n], c [n], d [n], sp1, sp2, k, i, n = 6;

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

{

printf("A[%d]: ",i);

scanf("%d",&a[i]);

printf("B[%d]: ",i);

scanf("%d",&b[i]);

printf("C[%d]: ",i);

scanf("%d",&c[i]);

printf("D[%d]: ",i);

scanf("%d",&d[i]);

}

sp1 = sp (a, b, n);

sp2 = sp (c, d, n);

if (sp1 > sp2)

k = 1;

else k = 0;

printf ("SP1 = %d\t\t\t", sp1);

printf ("SP2 = %d\n", sp2);

printf ("K = %d", k);

}

Пояснительная записка к задаче №5

#include - директива препроцессора, включающая в текст программы содержимое файла, имя и путь к которому указывается после этой самой директивы. Имя файла заключается в угловые скобки, если он находится в одной из стандартных папок. Если же вышеуказанный файл находится в текущей директории, его имя заключается в кавычки.

stdio.h - данный заголовочный файл содержит описания стандартных функций ввода-вывода.

math.h - содержит объявление математических функций.

main() - стандартная функция языка Си, определяющая точку входа в программу. Все операторы, операции и вызовы функций должны находиться внутри функции main().

void - спецификатор типа, определяющий отсутствие всякого типа у переменной, с которой будет использовано данной ключевое слово. В стандарте языка Си определен как неопределенный тип данных. Используется также для указания отсутствия передаваемых параметров при определении или описании функции.

Работа программы происходит по следующему алгоритму:

Сначала идет объявление функции sp(int n1[],int n2[],int c) формальными параметрами которой являются целые числа. Функция возвращает скалярное произведение векторов, которое находится при помощи цикла for. Далее при помощи цикла for, выполняется ввод координат A, B, C, D. Далее при помощи объявленной функции sp () находится скалярное произведение векторов A и B, C и D. При помощи оператора if определяем значение параметра k. Далее при помощи функции форматированного вывода printf() происходит вывод на экран SP1, SP2 , K ..

Результат:

A [0]: 4 B [0]: 7 C [0]: 8 D [0]: 4

A [1]: 1 B [1]: 1 C [1]: 4 D [1]: 8

A [2]: 5 B [2]: 7 C [2]: 2 D [2]: 5

A [3]: 4 B [3]: 3 C [3]: 1 D [3]: 0

A [4]: 8 B [4]: 3 C [4]: 9 D [4]: 2

A [5]: 8 B [5]: 6 C [5]: 7 D [5]: 2

SP1 = 148 SP2 = 106

K = 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]