![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 17
|
![]()
Написал программу вроде работает=). Подскажите плз, тут баги какие нибудь есть, и если можно объясните алгоритм действий выделенного фрагмента...
const n=10; type matr = array[0..n, 0..n] of integer; Напишите логическую функцию TEST(A ,k), принимающую значение True, если: 1. Все элементы k-го столбца нулевые. uses crt; const n=10; type matr = array[0..n, 0..n] of integer; var X:Matr; i,j,k:integer; function Test(A: matr; k:integer ): Boolean; var s:integer; begin s:=0; for i:=1 to n do begin if a[i,k]=0 then s:=s+1; end; if s=n then Test:=true else Test:=false; end; BEGIN randomize; For i:=1 to n do begin for j:=1 to n do begin X[i,j]:=Random(10-5); Write(X[i,j]:4) end; WriteLn; end; Repeat Write('Vvedite chislo k > ':2); ReadLn(k); If (k<=0) or (k>n) then WriteLn('Chislo nevernoe'); until (k>0) and (k<=n); If Test(X,k) then WriteLn('Test5 = TRUE') else WriteLn('Test5 = FALSE'); ReadLn END. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ошибка в том, что массивы Вы задаёте от нуля (кстати, там получается матрица 11x11 элементов...
т.е. везде, где у Вас циклы от 1 надо цикл от 0 2) функция Test написано правильно (ну, если только исправить цикл от 0 и сверять счётчик s надо с n+1), но "в лоб".. я бы написал немного по другому - если встретили ненулевой элемент, можно прерывать перебор остальных элементов, уже ответ ясен (false)... а объяснять там нечего. s - счётчик нулевых элементов. s := 0; иницилизируем счётчик (т.е. перед циклом ни одного элемента ещё не подсчитали) for i:=0 to n do перебираем все элементы if a[i,k]=0 then s:=s+1; если очередной (I-й) элемент К-го столбца нулевой - увеличиваем счётчик нулевых элементов. if s=(n+1) then ...True // если счётчик нулевых совпадает с количеством элементов, то тогда они все нулевые else // иначе функция False - есть ненулевые в столбце... |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 17
|
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
![]()
Выводится то 10х10, но матрица 11х11!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверьте, пожалуйста, программу!Не выводиться на экран! | J__S(Юляшка) | Общие вопросы C/C++ | 5 | 21.12.2009 03:14 |
Проверьте пожалуйста программу на Си | Konstantin2209 | Помощь студентам | 0 | 20.12.2009 19:31 |
Паскаль. Проверьте меня... | Кириллович | Помощь студентам | 5 | 22.05.2009 21:39 |
проверьте программу плиз и исправьте что там не так | Gronex | Помощь студентам | 3 | 21.05.2009 17:01 |
пожалуйста проверьте правильность проги на языке паскаль! | владимир/к. | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 21.01.2009 08:54 |