звані потоками («stream»).
. Контрольний приклад
У даному пункті розглянуто поведінку програми при завданні тих чи інших вхідних даних.
На малюнку 5.1 показано, що ми вибрали заповнення матриці з клавіатури і далі нас запитує розмір матриці.
Малюнок 5.1 - вибір заповнення з клавіатури
Після введення розмірів, програма просить ввести матрицю (малюнок 5.2).
Малюнок 5.2 - введення матриці
Далі нас запитує з скількох цифр має бути кожне число в подматріцей (малюнок 5.3).
Малюнок 5.3 - запит з скількох цифр має бути кожне число в подматріцей
Після введення він виводить нам відповідь на екран (рисунок 5.4), а так само заповнює його в файл (малюнок 5.5).
Малюнок 5.4 - висновок результату на екран
Малюнок 5.5 - висновок результату в файл
Так само в програмі передбачені виняткові ситуації, такі як:
При виборі заповнення даних з файлу, програма не знаходить файл, видається повідомлення що файл не знайдений;
При пошуку підматриць, якщо такі не знаходяться, то видається повідомлення що матриці не знайдені.
При тестуванні програми результати збіглися з очікуваними.
. Керівництво користувача
Для першого способу запуску нашої програми, буде потрібно C ++ Builder 6, що б відкрити файл «Unit1» типу «C ++ Builder Source File (.cpp)», який знаходиться на нашому диску в папці «Для користувача ». Відкривши цей файл для компіляції, потрібно буде натиснути на клавіатурі клавішу F9.
Для другого способу, потрібно тільки відкрити наш диск, відкрити папку «Для користувача» і відкрити файл «Project1» типу «Додаток (.exe)».
В обох випадках з'являється початок програми, як показано на малюнку 6.1, де інтерфейс програми зрозумілий для будь-якого користувача.
Малюнок 6.1 - Початок програми
Висновок
У курсовій роботі вирішена задача виявляє в прямокутній матриці всі подматріци, що складаються тільки з m-значних цілих чисел. Складено і налагоджена програма, що реалізує раніше зазначений алгоритм. З її допомогою були знайдені вимагаються нам подматріци, проаналізовано отримані результати. Контрольний приклад, при тестуванні програми, показав, що поставлена ??задача успішно вирішена.
Список використаних джерел
Дінман М.І. С ++. Освой на прикладах [електронний ресурс]/М.І. Дінман. СПб .: БХВ-Петербург, 2010р. 384с.
Шілдт Г. Самовчитель С ++: Пер. з англ.- 3-е изд./Г. Шілдт. СПб .: БХВ-Петербург, 2009р. 688с.
Павловська Т. А. C/C ++. Програмування на мові високого рівня Т.А. Павловська. СПб .: Питер, 2008р. 461с.
Панасенко С.П. Алгоритми шифрування. Спеціальний довідник С.П. Панасенко. СПб .: БХВ-Петербург, 2012р. 576с.
Додаток А
Лістинг програми
# include lt; vcl.h gt;
# include lt; iostream gt;
# include lt; fstream gt; namespace std; n, m, x; t; int k=100; int array [k] [k]; in; out; vvod1 (array a)
{// vvod s klaviaturi lt; lt; vvedite razmeri matrici n raquo ;; gt; gt; n; gt; gt; m; lt; lt; vvedite matricu n raquo ;; (int i=0; i lt; n; i ++)
{(int j=0; j lt; m; j ++) gt; gt; a [i] [j];
}
} vvod2 (array a)
{// vvod iz faila.open ( vvodnie.txt ); gt; gt; n; gt; gt; m; (in)
{(int i=0; i lt; n; i ++) (int j=0; j lt; m; j ++) gt; gt; a [i] [j];
} cout lt; lt; netu faila n raquo ;;. close ();
} vvod3 (array a)
{// vvod random (); lt; lt; vvedite razmeri matrici n raquo ;; ((unsigned) time (NULL)); gt; gt; n; gt; gt; m ; a3; lt; lt; vvedite diapozon sluchainih chisel n raquo ;; gt; gt; a3; (int i=0; i lt; n; i ++) (int j=0; j lt; m; j ++) [i] [j]=rand ()% a3 + 1;
} main ()
{b, c, b1; proverka=true; p; loop=true; count=1, mznachnoe, potolok, dno; (loop)
{ lt; lt; vvedite sposob vvoda (1-s klaviaturi, 2-iz faila, 3-random) raquo ;; gt; gt; p; (p == 1 )
{(b);=false;