Урок 15. Задача №12. Решение.
Primary tabs
Дан массив длиной N (не более 100 элементов). Проверить, что в нем в встречаются все числа от 0 до k, где 0 < k < N
Program LessonPascal; {} type IntArr = array of integer; function FillArray(other_arr: IntArr; max: integer): IntArr; var i: integer; begin randomize(); for i := 0 to length(other_arr) - 1 do other_arr[i] := random(max + 1); result := other_arr; end; procedure ShowArray(show_arr: IntArr); var i: integer; begin write('arr = '); for i := 0 to length(show_arr) - 1 do write('|', show_arr[i], '|', ' '); writeln(); end; function checkHitinArray(check_arr: IntArr; value: integer): boolean; var arr_for_value: array of integer; i, j, hit_counter: integer; checkd: boolean; begin SetLength(arr_for_value, value); for i := 0 to value do arr_for_value[i] := i; for i := 0 to value do begin for j := 0 to length(check_arr) - 1 do begin if(arr_for_value[i] = check_arr[j])then begin hit_counter += 1; break; end; end; end; if(hit_counter > value)then checkd := true else checkd := false; result := checkd; end; var arr: IntArr; max_value, length_int_arr: integer; begin write('Enter maximum element value for an array = '); readln(max_value); write('Enter length of array = '); readln(length_int_arr); SetLength(arr, length_int_arr); arr := FillArray(arr, max_value); writeln(); ShowArray(arr); writeln(); if(checkHitinArray(arr, max_value))then writeln('Found all the numbers in array!') else writeln('Not found the numbers in array!'); readln(); // Удержание консоль end.// Завершение программы
- Log in to post comments
- 1396 reads
vedro-compota
Sun, 10/18/2020 - 21:45
Permalink
hit_counter += 1;
-- лишняя переменная.
Решение засчитано
_____________
матфак вгу и остальная классика =)
vedro-compota
Sun, 10/18/2020 - 21:55
Permalink
FillArray() не должна
FillArray() не должна принимать на вход массив
_____________
матфак вгу и остальная классика =)