Const n=10; var i,j,k,mx,ind: integer; a: array[1..n] of integer; begin writeln('исходный массив:'); randomize; mx:=0; for i:=1 to n do begin a[i]:=random(2*n)-n; write(a[i],' '); if a[i]>mx then begin mx:=a[i]; ind:=i; end; end; writeln; for i:=ind+1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin k:=a[i]; a[i]:=a[j]; a[j]:=k; end; writeln('новый массив:'); for i:=1 to n do write(a[i],' '); end.
Элемент - k . Он нужен для того чтобы поменять два элемента массива местами.
donertime8
19.02.2022
Вообщем так. 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 подряд т. к. теряется логика операции.
natalia-bokareva
19.02.2022
#include <iostream> #include <ctime> #include <cstdlib> using namespace std;
int main(){ srand(time(0)); int n,m; cin>>n; cin>>m; int **a=new int *[m]; for(int i=0;i<m;i++) a[i]=new int[n]; cout<<"Matrix A:"; for(int i=0;i<m;i++){ cout<<"\n"; for(int j=0;j<n;j++){ a[i][j]=rand()%17-7; cout<<a[i][j]<<" "; } } int *b = new int[m]; cout<<"\n Array B:"; for(int j=0;j<n;j++){ b[j]=0; for(int i=0;i<m;i++){ b[j]=b[j]+a[i][j]; }cout<<b[j]<<" "; } cin.get(); cin.get(); return 0; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Отсортировать элементы стоящие после первого максимального методом пузырька pascal abc
var i,j,k,mx,ind: integer;
a: array[1..n] of integer;
begin
writeln('исходный массив:');
randomize;
mx:=0;
for i:=1 to n do
begin
a[i]:=random(2*n)-n;
write(a[i],' ');
if a[i]>mx then
begin
mx:=a[i];
ind:=i;
end;
end;
writeln;
for i:=ind+1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
k:=a[i];
a[i]:=a[j];
a[j]:=k;
end;
writeln('новый массив:');
for i:=1 to n do write(a[i],' ');
end.
исходный массив:
3 7 7 5 5 -2 -8 -9 -8 6
новый массив:
3 7 -9 -8 -8 -2 5 5 6 7