Перевести с Паскаля на С - C (СИ) (73887)
Формулировка задачи:
uses crt;
var a:array[1..20] of integer;
temp,i:integer;
begin
clrscr;
randomize;
writeln;
for i:=1 to 20 do
begin
a[i]:=random(100);
write(a[i], ' ');
if i=10 then writeln;
end;
for i:=1 to 10 do
if a[i]<a[i+10] then {сравниваем числа}
begin
temp:=a[i]; {перепмсываем в переменную}
a[i]:=a[i+10];{меняем значаения}
a[i+10]:=temp;{меняем значения}
end;
writeln;
writeln('--------------------');
for i:=1 to 20 do
begin
write(a[i], ' ');
if i=10 then writeln;
end;
end.Решение задачи: «Перевести с Паскаля на С»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[20];
int temp,i;
srand(time(NULL));
for(i=0;i<20;i++)
{
a[i]=rand()%+100;
printf("%d, ",a[i]);
}
printf("\n");
for(i=0;i<10;i++)
{
if(a[i]<a[i+9])
{
temp=a[i];
a[i]=a[i+9];
a[i+9]=temp;
}
}
printf("\n----------------------\n");
for(i=0;i<20;i++)
printf("%d, ",a[i]);
return 0;
}
Объяснение кода листинга программы
- Объявлены массив
aразмером 20 и переменнаяiдля цикла. - Задана начальная и конечная итерация для первого цикла.
- В каждой итерации первого цикла в массив
aзаписывается случайное число от 0 до 99. - Каждое случайное число выводится на экран через запятую.
- Выполняется второй цикл, который сортирует массив
aметодомсдвига. - В каждой итерации второго цикла выполняется проверка на то, что текущий элемент меньше следующего.
- Если условие выполняется, то элементы меняются местами.
- Выполняется вывод отсортированного массива на экран через запятую.
- Возвращается 0, что означает успешное завершение программы.