Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


Serega,Имеется программа1 в которую я ввожу исходные данные (х и у) и получаю результат (r и q.)
Эта программа записывает эти значения в файл1 вот в таком ввиде
Код: Выделить весь код
x(пробел) y(пробел) r(пробел) q(пробел)
Для лучшего понимания предоставлю таблицу наборов тестов
Код: Выделить весь код
Входные данные                         Результат
(x,y)                                   (r,q)
0,1                                      0,0 
0,9999999                                0,0
9999999,1                                9999999,1
0,50                                     0,0
50,1                                     50,0
0,0                                      error
1,99999991                               error
При данном наборе тестов в файл1 будет записано:


Код: Выделить весь код
0 1 0.0000000000000000E+0000 0.0000000000000000E+0000
0 9999999  0.0000000000000000E+0000 0.0000000000000000E+0000
9999999 1 9.9999900000000E+0007 0.0000000000000000E+0000    
0 50 0.0000000000000000E+0000 0.0000000000000000E+0000
50 1 5.0000000000E+0001 0.0000000000000000E+0000
0 0 error
1 99999991 error
Слово "error" означает что введен некорректный набор тестов(например при наборе 0,0 в программе происходит деление на 0) по этому результатом работы программы на таком наборе х,у будет слово "error"
Программа расчитана на работу с числами и если ввести вместо х или у какой-либо символ(пусть будет "А") то программа запишет в файл такую комбинацию:
Код: Выделить весь код
1 A error
Во второй файл я записываю тоже самое но не через программу а вручную.
Код: Выделить весь код
0 1 00 
0 9999999 0 0
9999999 1 9999999 1
0 50 0 0
50 1 50 0
0 0 error
1 99999991 error
А потом программа должна сравить х1 и x2 и у1 и у2(где,x1-значение x1 из файла1, x2-значение x2 из файла2 и т.д) .
Если они равны то:
Если Е(епсилан вводится с клавиатуры)<=|r1-r2| (где,r1-значение r1 из файла1, r2-значение r2 из файла2) тогда
Если Е(епсилан вводится с клавиатуры)<=|q1-q2| (где,q1-значение q1 из файла1, q2-значение q2 из файла2) тогда к SC (количеству совпавших комбинация):=SC+1
иначе SC (количеству совпавших комбинация):=SC и вывести на экран комбинацию х у r q на которых произошло несовпадение
Если r и q не равны то вывести на экран количество не совпавших комбинация r и q
Приведу пример:
В файле1 содержится информация вида
Код: Выделить весь код
0 1 0.0000000000000000E+0000 0.0000000000000000E+0000
0 9999999  0.0000000000000000E+0000 0.0000000000000000E+0000
9999999 1 9.9999900000000E+0007 0.0000000000000000E+0000    
0 50 0.0000000000000000E+0000 0.0000000000000000E+0000
50 1 5.0000000000E+0001 0.0000000000000000E+0000
0 0 error
1 99999991 error
В файле2 вида:
Код: Выделить весь код
0 2 0 0 
0 9999999 0 0
9999999 1 9999999 1
0 50 0 0
50 1 50 0
0 0 error
1 99999991 error
Программа сравнивает файл1 и файл2.
Код: Выделить весь код
x1=0 y1=1 r1=0.0000000000000000E+0000 q1=0.0000000000000000E+0000
x2=0 y2=2 r1=0 q1=0
Так как y1 и у2 не равны программа выводит на экран комбинацию
Код: Выделить весь код
0 2 0 0
И количество совпадений SC будет равно 6,так как всего наборов было 7 и один из них не совпал.
Я понятно объяснил что делает программа?

Отправлено: 01:41, 13-03-2010 | #3