Программа в pascalabc.net: const digits=['0','1','2','3','4','5','6','7','8','9']; var s: string; n,i,err: integer; isdigit: boolean; begin write('введите натуральное число (1-9999): '); read(s); i: =1; isdigit: =true; n: =length(s); repeat isdigit: =isdigit and (s[i] in digits); inc(i) until (not isdigit) or (i> n); if isdigit then begin val(s,n,err); writeln('введено корректное число ',n) end else writeln('число содержит нецифровой символ') end. отметим, что в pascalabc.net в реальной жизни решение могло бы выглядеть так: var s: string; n,err: integer; begin write('введите натуральное число (1-9999): '); read(s); val(s,n,err); if err=0 then writeln('введено корректное число ',n) else writeln('число содержит нецифровой символ') end.
Viktoriya
17.07.2022
Const nn = 50; var a,b,nb: array[1..nn] of integer; i,n,j: integer; begin write('введите количество элементов в массиве (n< 51): '); read(n); writeln('вводите элементы массива'); j: =0; for i: =1 to n do begin read(a[i]); if a[i]< 0 then begin inc(j); b[j]: =a[i]; nb[j]: =i end end; if j> 0 then begin write('отрицательные элементы: '); for i: =1 to j do write(b[i],' '); writeln; write('индексы отрицательных элементов в массиве: '); for i: =1 to j do write(nb[i]: 3); writeln end end. результаты тестирования: введите количество элементов в массиве (n< 51): 9 вводите элементы массива 3 5 -2 3 -2 0 -6 -8 1 отрицательные элементы: -2 -2 -6 -8 индексы отрицательных элементов в массиве: 3 5 7 8 введите количество элементов в массиве (n< 51): 8 вводите элементы массива -1 -2 -3 -4 0 -1 2 3 отрицательные элементы: -1 -2 -3 -4 -1 индексы отрицательных элементов в массиве: 1 2 3 4 6
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Перевести число 35.65 в восьмеричную систему счисления с точность до 3х знаков