А ты не пробовала написать этот кусок алгаритма в Pascal?
если х=-3, а у=-2; Х=-2,У=-1.
если х=-1, а у=4; Х=0 ,У=2
Флеш-накопитель<span> </span><span>компакт-диск </span>жесткий диск
Ответ:
Исходник ниже. В задаче говорится, что чисел ровно 12, поэтому сделал статический массив на константное количество элементов. Если предполагается, что программа должна работать и на других размерах массива, то можно сделать динамический массив или использовать контейнер vector.
Объяснение:
#include <iostream>
int main(){
const int n = 12;
int a[n];
for(int i = 0; i < n; i++){
std::cin >> a[i];
}
bool ascending= true;
for(int i = 1; i < n; i++){
if (a[i-1] > a[i]){
ascending = false;
break;
}
}
if (ascending){
std::cout << "Yes" << std::endl;
}
else{
std::cout << "No" << std::endl;
}
return 0;
}
Для того, чтобы составить трассировочную таблицу, нужно иметь сам алгоритм. Позволю предположить, что там было нечто вроде такого (запись на языке кумир):
алг бинвдес
нач
цел N2, k, N10
ввод N2
k := 1
N10 := 0
нц пока N2<>0
N10 := N10 + mod(N2, 10) * k
k := k * 2
N2 := div(N2, 10)
кц
вывод N10
<span>кон
</span>
Таблица во вложении
Const
N = 4;
Var
A:array[1..N,1..N] of integer;
i,j,k:integer;
Begin
Randomize;
WriteLn('1)');
k:=0;
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ');
if A[i,j] < 0 then k:=k+1;
End;
WriteLn
End;
WriteLn('k = ',k);
WriteLn('2)');
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
if j > i then A[i,j]:=100;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
WriteLn('3)');
For i:= 1 to N div 2 do
Begin
For j:= 1 to N do
Begin
k:=A[i+N div 2,j];
A[i+N div 2,j]:=A[i,j];
A[i,j]:=k;
End
End;
For i:= 1 to N do
Begin
For j:= 1 to N do
Write(A[i,j]:3,' ');
WriteLn
End;
End.
1)
10 2 -9 4
-10 5 -5 -10
4 9 4 10
3 -9 10 -6
k = 6
2)
10 100 100 100
-10 5 100 100
4 9 4 100
3 -9 10 -6
3)
4 9 4 100
3 -9 10 -6
10 100 100 100
-10 5 100 100