Var a: array [1 .. 10] of integer; i, Count, C, tmpLast, tmpFirst: integer; begin write('Введите число C: '); readln(C); writeln; for i := 1 to 10 do begin write('a[', i, '] = '); readln(a[i]); if a[i] = C then begin Count := Count + 1; tmpLast := i; end; end; writeln; if (Count = 0) then writeln('В массиве нет числа равное С') else begin writeln('В массиве нашлось число, равное С'); if (Count = 1) then writeln('Первое и единственное число в позиции a[', tmpLast, ']') else begin i := 0; repeat i := i + 1; tmpFirst := i; until (a[i] = C); writeln('Первое такое число a[', tmpFirst, ']'); writeln('Последнее такое число a[', tmpLast, ']'); end; end; readln; end.
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для вычитания в нечётном элементе begin; a:=a-b; end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для сложения в чётном элементе begin; a:=a+b; end;
begin randomize; readln(a); //ввод a readln(b); //ввод b writeln('Array:'); for i:=1 to 10 do //весь массив begin; ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно write(ar[i]:4); //вывод if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a); {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода} end; writeln; writeln('Final array:'); //вывод получившегося массива for i:=1 to 10 do write(ar[i]:4); end.
Пример ввода: 20 10 Пример вывода: Array: 10 16 0 60 23 4 22 -20 4 55 Final array: 0 36 -10 80 13 24 12 0 -6 75
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку