Задание 13 Урок 15
Primary tabs
Задание 13 Урок 15
Напишите функцию, которая принимает на вход целое число N и возвращается строку, содержащую арифметическое выражение вида:
a1 # a2 # ..... # aN
Где:a1, a2,....., aN -- случайные числа из диапазона от 1 до 100
# - один из случайных знаков (*, +, -)
type arr = array of integer;
var n : integer;
random_sign : string;
function print_string(n_values: integer; r_sing: string): string;
var first_array : arr;
min,max,min_x,max_x,i,x : integer;
begin
min_x := 1;
max_x := 3;
min := 1;
max := 100;
randomize;
setlength(first_array,(n_values-1));//обозначаем длинну динамического массива
for i := low(first_array) to high(first_array) do
begin
first_array[i] := min + random(max - min + 1);
write(first_array[i]);
if i = high(first_array) then//выход воизбежании повторной печати знака
break;
x :=random(max_x-min_x+1)+min_x;
write(r_sing[x]);
end;
end;
begin
random_sign := '*+-';
write('Введите количество чисел и нажмите ENTER:');
readln(n);
print_string(n,random_sign);
readln();
end.- Log in to post comments
- 2622 reads
vedro-compota
Sun, 12/20/2020 - 16:53
Permalink
функция должна возвращать
_____________
матфак вгу и остальная классика =)
Dobrii_kot
Sun, 01/10/2021 - 16:18
Permalink
Исправлено
type arr = array of string; var n : integer; function init_string(n_values: integer): string; var min,max,value_integer,i : integer; f_array : arr; function string_result(): string; var m: integer; value_string : string; function string_character(): char; var min_sing,max_sing,x : integer; three_signs : string; begin three_signs := '*+-'; min_sing := 1; max_sing := 3; randomize; x := min_sing + random(max_sing - min_sing + 1); result := three_signs[x]; end; begin for m := low(f_array) to (high(f_array)-1) do value_string := value_string + f_array[m] + string_character(); result := value_string + f_array[low(f_array)]; end; begin min := 1; max := 100; randomize; setlength(f_array,n_values); for i := low(f_array) to high(f_array) do begin value_integer := min + random(max - min + 1); str(value_integer,f_array[i]); end; result := string_result(); end; begin write('Ввведите значение N: '); readln(n); write(init_string(n)); readln(); end.vedro-compota
Sun, 01/17/2021 - 15:24
Permalink
уйти от вложенных функций
_____________
матфак вгу и остальная классика =)