Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

setlocale(NULL, rus);



Міністерство освіти і науки України

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

Інститут автоматики, електроніки та комп’ютерних систем управління

Кафедра КСУ

 

 

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

з дисципліни комп`ютерні технології та програмування

 

Тема: «Розробка алгоритмів і С-програм обробки двовимірних масивів»

 

Варіант № 11

 

 

Виконав ст.гр.1АВ-13б.

Сохнич Ольга

Перевірив___________

______________________

 

Вінниця 2014

Мета: Освоїти прийоми обробки двовимірних масивів і придбати навички розробки С-програм для обробки масивів.

 

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

1. Розробити алгоритм, схему алгоритму, програму, що працює в режимі простого меню, для обробки двовимірного масиву відповідно до завдання по варіантах, і тести, що підтверджують правильність роботи програми.



2. Скласти звіт за результатами лабораторної роботи.

3. Зробити висновки.

 

Завдання:

1)Розробити програму, яка видаляє з матриці A(n,m), де n < 10, m < 10, рядки, максимальний елемент яких дорівнює В.

2) знайти кількість стрічок, середнє арифметичне елементів, які менші

заданої величини.

 

1.Текст програми:

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#include<conio.h>

#include<locale.h>

#include<Windows.h>

 

int main()

{

setlocale(NULL, "rus");

char c; // змінна для збереження вибору користувача

do

{

system("color 80");

system("cls");

printf("Натиснiть 1, щоб ввести данi i отримати результат\n");

printf("Натиснiть #, щоб завершити роботу програми\n");

c = _getch();

switch (c)

{

case '1':

system("color F3");

system("cls");

printf("\nВи обрали ПЕРШИЙ пункт меню. Програма для видалення рядкiв, де задане користувачем число є максимальним та знаходження к-стi рядкiв,де сер.арифм рядка менше цього числа.\n");

// максимальні розміри масиву

const int N = 10;

const int M = 10;

int sum = 0;

int ser = 0;

int q = 0;

// масив

int A[N][M];

int n, m;

// введення фактичних розмірів масиву

puts("Enter n:");

scanf_s("%d", &n);

puts("Enter m:");

scanf_s("%d", &m);

// налаштування генератора чисел

time_t t;

srand((unsigned int)time(&t));

int i, j;

// генерування та виведення матриці

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

{

for (j = 0; j < m; j++)

{

A[i][j] = rand() % 10;

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

}

printf("\n\n");

}

// число для порівняння

int B;

printf("Enter B:");

scanf_s("%d", &B);

int max; // максимум в рядку

int k = -1; // кількість рядків, в яких максимум не дорівнює В

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

{

max = A[i][0];

for (j = 0; j < m; j++)

{

if (A[i][j] > max)

max = A[i][j];

}

if (max!= B)

{

k++;

for (j = 0; j < m; j++)

{

A[k][j] = A[i][j];

}

}

}

// виведення результуючої матриці

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

{

for (j = 0; j < m; j++)

{

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

}

printf("\n\n");

}

 

//для визначення сер.арифм.

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

{

for (j = 0; j < m; j++)

{

sum = sum + A[i][j];

}

ser = sum / m;

if (ser < B)

q++;

sum = 0;

}

printf("Кiлькiсть стрiчок,де сер.арифм. МЕНШЕ за В: ""%d\n", q);

system("pause");

return 0;

}

_getch();

break;

 

} while (c!= '#');

system("pause");

return(0);

}

 

2.Тести для підтвердження правильності роботи програми показані на рисунках 1, 2, 3:

 

Рисунок 1

 

Рисунок 2

 

Рисунок 3

 

 

Висновок: виконуючи дану лабораторну роботу, я оволоділа навичками розробки С-програм для обробки двомірних масивів.


Дата добавления: 2015-09-29; просмотров: 21 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Національний технічний університет України | Розділ I. Особливості методики проведення дидактичних ігор

mybiblioteka.su - 2015-2024 год. (0.015 сек.)