#include <stdio.h>
void sort(int in[], int a, int b) {
int i,j,mode;
if (a >= b) return;
for (i=a, j=b, mode=1; i < j; mode >0 ? j-- : i++)
if (in[i] > in[j]) {
int c = in[i];
in[i] = in[j];
in[j] = c;
mode = -mode;
}
sort(in, a, i-1);
sort(in, i+1, b);
}
int main(void) {
int m = 0; int x = 0;
int a[10] = {-8,-10,5,6,-10,-3,9,-7,-7,-8};
printf("\nИзначальный массив: ");
for (int i = 0; i < 10; i++) {
printf("%i ", a[i]);
}
printf("\nМетод обменом (пузырьком): ");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9-i; j++) {
if (a[j] < a[j + 1]) {
m = a[j];
a[j] = a[j + 1];
a[j + 1] = m;
}
}
}
for (int i = 0; i < 10; i++) {
printf("%i ", a[i]);
}
printf("\nМетод вставкой: ");
for (int i = 0; i < 10; i++) {
x = a[i];
m = i;
while (m > 0 && a[m - 1] > x) {
a[m] = a[m - 1];
m = m - 1;
}
a[m] = x; }
for (int i = 0; i < 10; i++) {
printf("%i ", a[i]);
}
printf("\nМетод выбором: ");
for (int i = 0; i < 10; i++) {
m = i;
for (int j = i + 1; j < 10; j++) {
if (a[j] > a[m]) {
m = j;
}
}
x = a[i];
a[i] = a[m];
a[m] = x;
}
for (int i = 0; i < 10; i++) {
printf("%i ", a[i]);
}
printf("\nМетод разделением (qsort): ");
sort(a, 0, 9);
for (int i = 0; i < 10; i++) {
printf("%i ", a[i]);
}
return 0;
}
Ответ во вложении. Каждая колонка с двумя парами двоичных тетрад (т.е. набор из восьми нулей и единичек) - это и есть ответ.
Д
Поскольку это не операция, не Сохранение.
Const z = 50;
var A:Array[1..z,1..z] of integer;
n,i,j:integer;
begin
write('Введите размер массива ');
readln(n);
for i:=1 to n do
beginfor j:=1 to n do
begin
A[i,j]:= random(100)-50;
write(A[i,j]:4);
end;
writeln;
end;
writeln;writeln;
for i:=1 to n do
beginfor j:=1 to n do
begin
if i=j then
A[i,j]:=0;
write(A[i,j]:4);
end;
writeln;
end;end.<span>
</span>
Шта??????????????????????