var a,n,i,j,s:integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(a); for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 9 Введите 2 цифру из 5 2 Введите 3 цифру из 5 7 Введите 4 цифру из 5 3 Введите 5 цифру из 5 1 Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198) var a,n,i,j,s:integer; mas:array[1..10]of integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(mas[i]); a:=mas[i]; for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 5 Введите 2 цифру из 5 4 Введите 3 цифру из 5 3 Введите 4 цифру из 5 2 Введите 5 цифру из 5 2 Натуральное число: 54322
Вообщем так. 1. sin это арифметическое действие. Синус можно найти из 90 градусов например. А тут X>10. Из чего синус искать, из большего или может из меньшего? Правильной будет запись if x>10 then ... какое-то действие... sin(x) else ... sin (x); вообщем нельзя ставить оператор сравнения в арифметическое действие т.к. им задаются условия.
2. Попытка использовать арифметические операции с "false". 3. Выражение теряет смысл. And это логическая операция. Лог выражение должно быть вида A and B. Соответственно исправить можно так '(x=0) and (round(sqrt(x)) mod 2=0)' 4. Не пишут 2 or подряд т. к. теряется логика операции.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку