Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная №12

.docx
Скачиваний:
17
Добавлен:
14.12.2018
Размер:
191.66 Кб
Скачать

Одеський національний політехнічний університет

Інститут комп’ютерних систем

Кафедра інформаційних систем

Варіант №1

Лабораторна робота №12

По дисципліні “Алгоритмізація і програмування”

Тема: “ Створення функцій на мові програмування С”

Виконав:

Студент гр. АІ-171

Анищенко М.О.

Перевірили:

Глава М.Г.

Одеса 2017

Мета роботи: Набуття практичних навичок у створенні функцій.

Завдання: Дана прямокутна матриця [m × n]. Визначити k – кількість «особливих» елементів матриці, вважаючи елемент «особливим», якщо він більше суми інших елементів свого стовпця. Знайти номер стовпчика з максимальною сумою всіх елементів.

Код програми:

#include <stdio.h>

#include <stdlib.h>

int max_column(int *a, int M, int N)

{

int sums[N];

for(int i = 0; i < N; i++){

sums[i] = 0;

for(int j = 0; j < M; j++)

sums[i] += *(a + j*N+i); }

int max_i = 0;

for(int i = 1; i < N; i++)

if(sums[i] > sums[max_i])

max_i = i;

return max_i;}

int spec_el_count(int *a, int M, int N){

int res = 0;

int sums[N];

for(int i = 0; i < N; i++){

sums[i] = 0;

for(int j = 0; j < M; j++)

sums[i] += *(a + j*N+i);

for(int j = 0; j < M; j++)

if((sums[i] - *(a + j*N+i)) < *(a + j*N+i) )

res++; }

return res;}

int main()

{ int N, M;

printf("Enter M ");

scanf("%d", &M);

printf("Enter N ");

scanf("%d", &N);

int arr[M][N];

printf("Enter array\n");

for(int i = 0; i < M; i++)

for(int j = 0; j < N; j++)

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

printf("Special elements number = %d\n", spec_el_count(arr,M,N));

printf("Max column index = %d\n", max_column(arr,M,N) + 1);

return 0;}

Приклад виконання:

N = 4

M = 3

2

4

7

9

3

7

-2

8

4

8

3

-1

Висновки:

Написана програма визначає k – кількість «особливих» елементів матриці, вважаючи елемент «особливим», якщо він більше суми інших елементів свого стовпця. Знаходить номер стовпчика з максимальною сумою всіх елементів. Функціонал програми реалізується у функціях.

Соседние файлы в предмете Алгоритмизация и программирование