АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Кодування програми. #include <iostream>

Читайте также:
  1. Арифметичне кодування
  2. Визначення розміру страхового відшкодування по КАСКО
  3. Відшкодування збитків у сфері господарювання
  4. ВІДШКОДУВАННЯ ЗБИТКІВ У СФЕРІ ГОСПОДАРЮВАННЯ
  5. Відшкодування збитків у сфері господарювання.
  6. Відшкодування шкоди працівникам у разі ушкодження їх здоров’я.
  7. Вопрос Поняття відшкодування збитків.
  8. Двовимірне кодування довжин серій
  9. Державне регулювання зайнятості: сутність, крива Філіпса у короткостроковоому та довгостроковому періодах, деожавні програми регулювання зайнятості.
  10. Джерела комунікації та процес кодування
  11. для включення до програми комплексного іспиту
  12. Додаток 1. Лістинг програми

#include <iostream>

#include <conio.h>

using namespace std;

 

int const n = 2; // Незмінно, оскільки перша стрічка це дані Х-си, друга Y-ки

int const z = 4; // Кількість елементів і одній стрічці

 

// Перевіряє введені дані

int proverka() {

int p;

while (!(cin >> p)) {

cin.clear();

cin.ignore(4046, '\n');

cout << "Try again" << endl;

 

}

return p;

}

// Шукає найменший елемент у масиві (в нашому випадку окремо для кожної стрічки)

int fmin(int mas[z][n], int j) {

int min = mas[0][0]; // Спочатку надаємо найменшому значенню перший елемент

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

if (min > mas[i][j]) // Якщо знайдений менший за найменший, то менший стає найменшим

min = mas[i][j];

}

return min; // повертаємо це значення в функцію main

}

// Шукає найбільший елемент у масиві (в нашому випадку окремо для кожної стрічки)

int fmax(int mas[z][n], int j) {

int max = mas[0][0]; //Спочатку надаємо найбільшому значенню перший елемент

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

if (max < mas[i][j]) // Якщо знайдений більший за найбільший по умовчанню, то більший стає найбільший

max = mas[i][j];

}

return max; // повертаємо це значення в функцію main

}

 

int main() {

int o;

do {

 

int i, j; // лічильники для циклу

int arr[z][n]; // Головний масив

int arr1[z][n]; // Другий масив

// Введення елементів першого масиву

cout << "Enter the values of main array elements" << endl;

j = 0;

cout << "Enter X elements" << endl; // перша стрічка елементів Х

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

{

cout << "[" << i+1 << "][" << j+1 << "] = "; // виводимо на консоль, який елементи потрібен програмі

arr[i][j] = proverka(); // перевірка

}

j = 1;

cout << "Enter Y elements" << endl; // друга стрічка елементів Y

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

{

cout << "[" << i+1<< "][" << j+1<< "] = "; // виводимо на консоль, який елементи потрібні программі

arr[i][j] = proverka(); // перевірка

}

cout << "Enter the values of second array " << endl;

j = 0;

cout << "Enter X elements" << endl; // перша стічка елементів Х другого масиву

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

{

cout << "[" << i+1 << "][" << j+1 << "] = "; // виводимо на консоль, який елементи потрібні програмі

arr1[i][j] = proverka(); // перевірка

}

j = 1;

cout << "Enter Y elements" << endl; // друга стрічка елементів Y другого масиву

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

{

cout << "[" << i+1 << "][" << j+1 << "] = "; // виводимо на консоль, який елементи потрібні програмі

arr1[i][j] = proverka(); // перевірка

}

int minarrX, minarr1X; // 1-ша змінна - найменший Х у main масиві, 2-га змінна - найменший X у second масиві

int minarrY, minarr1Y; // 3-тя змінна - найменший Y у main масиві, 4-а змінна - найменший Y y second масиві

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

{

if (j == 0) // Тобто, цикл пробігає окремо по перший стрічці

{

minarrX = fmin(arr, j); // знаходимо найменший елемент з main (перша)

minarr1X = fmin(arr1, j); // знаходимо найменший елемент з second (перша)

}

 

if (j == 1) // Тобто, цикл пробігає окремо по першій стрічці

{

minarrY = fmin(arr, j); // знаходимо найменший елемент з main (друга)

minarr1Y = fmin(arr1, j); // знаходимо найменший елемент з second (друга)

 

}

}

// Так само шукаємо максимуми на двох стрічках першого масиву та другого

int maxarrX, maxarr1X;

int maxarrY, maxarr1Y;

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

{

if (j == 0)

{

maxarrX = fmax(arr, j);

maxarr1X = fmax(arr1, j);

}

if (j == 1)

{

maxarrY = fmax(arr, j);

maxarr1Y = fmax(arr1, j);

}

}

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

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

{

if (j == 0) {

if ((arr[i][j] > maxarr1X) && (arr[i][j] < maxarrX))

maxarrX = arr[i][j];

if ((arr[i][j] < minarr1X) && (arr[i][j] > minarrX))

minarrX = arr[i][j];

}

if (j == 1) {

if ((arr[i][j] > maxarr1Y) && (arr[i][j] < maxarrY))

maxarrY = arr[i][j];

if ((arr[i][j] < minarr1Y) && (arr[i][j] > minarrY))

minarrY = arr[i][j];

}

}

 

cout << "Program chose points for triangle:" << endl;

cout << "A(" << maxarrX << "," << maxarrY << ") " << endl;

cout << "B(" << minarrX << "," << minarrY << ") " << endl;

cout << "C(" << maxarrX << "," << minarrY << ") " << endl;

 

// Знайшовши усі точки, ми ще раз перевіряємо, щоб у результаті площа трикутника була мінімальна, а тобто сторони були найменшими

if ((maxarrX > maxarr1X) && (minarrX < minarr1X) && (maxarrY > maxarr1Y) && (minarrY < minarr1Y))

cout << "Triangle with vertices at these points covering all of second plurality" << endl;

else

// Якщо неможливо виконати умову, то

cout << "A second plurality of points more value. The figure is not built!" << endl;

cout << "Press ESC to exit" << endl;; // Щоб вийти або продовжити

o = _getch(); // Очікує введення символу, щоб вийти або продовжити

} while (o!= 27); // За таблицею ASCII 27 - це ESC

}

 

ТЕСТУВАННЯ


При n = 4;

100 50 -50 -100

20 5 -5 -20

 

1 0 2 -1

3 -3 4 0

 

Програма зробила все правильно і задали точки вірно. А отже результат:

A(50,5) +

B(-50,-5) +
C(50, -5) +

Трикутник побудовано побудовано рррр:

но. ноювильно ы очкам трикунтника!
При введенні помилкових даних ми бачимо: “Try again”

При n = 4;

7 6 5 4

9 5 1 0

 

0 10 15 20

9 17 6 33

 

Програма зробила все правильно і видала повідомлення про проблему в побудові!

+
При введенні помилкових даних ми бачимо: “Try again”

 


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)