Переписать код сортировки массива с Pascal - C (СИ)
Формулировка задачи:
Ребята-программисты друзья пожалуйста помогите человеку сдать лабу до нового года. Переведите этот код Паскаля в Си.
Листинг программы
- var
- a:array[1..200]of char;
- b:array[1..5]of char;
- i,n,j,k:integer;
- t:char;
- begin
- randomize;
- writeln('ishodnyj massiv a');
- for i:=1 to 200 do
- begin
- n:= random(161)+40;
- a[i]:=chr(n);
- write(a[i],' ');
- end;
- writeln('ishodnyj massiv b');
- for i:=1 to 5 do
- begin
- n:= random(161)+40;
- b[i]:=chr(n);
- write(b[i],' ');
- end;
- for i:=1 to 5 do
- for j:=1 to 200 do
- if b[i]=a[j]then
- begin
- inc(k);
- break;
- end;
- writeln;
- writeln('k=',k);
- if k=5 then
- for i:=1 to 200 do
- for j:=1 to 5 do
- if a[i]=b[j]then a[i]:=' ';
- for i:=1 to 200 do
- for j:=2 to 200 do
- if a[j]<a[j-1]then
- begin
- t:=a[j];
- a[j]:=a[j-1];
- a[j-1]:=t;
- end;
- writeln('novyj massiv a');
- for i:=1 to 200 do
- write(a[i],' ');
- for i:=1 to 5 do
- for j:=2 to 5 do
- if b[j]<b[j-1]then
- begin
- t:=b[j];
- b[j]:=b[j-1];
- b[j-1]:=t;
- end;
- writeln('novyj massiv b');
- for i:=1 to 5 do
- write(b[i],' ');
- readln;
- end.
Решение задачи: «Переписать код сортировки массива с Pascal»
textual
Листинг программы
- #include <stdlib.h>
- #include <stdio.h>
- char a[200],b[5];
- int i,n,j,k;
- char t;
- int main () {
- randomize();
- printf("\nishodnyj massiv a\n");
- for (i=0;i<200;i++) {
- a[i]=random(161)+40;;
- printf ("%c ",a[i]);
- }
- printf ("\nishodnyj massiv b\n");
- for (i=0;i<5;i++) {
- b[i]=random(161)+40;
- printf ("%c ",b[i]);
- }
- for (i=0;i<5;i++)
- for (j=0;j<200;j++)
- if (b[i]==a[j]) {
- k++;
- break;
- }
- printf ("\nk=%d",k);
- if (k==5)
- for (i=0;i<200;i++)
- for (j=0;j<5;j++)
- if (a[i]==b[j]) a[i]=' ';
- for (i=0;i<200;i++)
- for (j=1;j<200;j++)
- if (a[j]<a[j-1]) {
- t=a[j];
- a[j]=a[j-1];
- a[j-1]=t;
- }
- printf ("\nnovyj massiv a\n");
- for (i=0;i<200;i++) printf ("%c ",a[i]);
- for (i=0;i<5;i++)
- for (j=1;j<5;j++)
- if (b[j]<b[j-1]) {
- t=b[j]; b[j]=b[j-1]; b[j-1]=t;
- }
- printf ("\nnovyj massiv b\n");
- for (i=0;i<5;i++) printf ("%c ",b[i]);
- getchar ();
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdlib.h и printf.h
- Объявляются массивы a и b, а также переменные i, n, j, k и t
- В функции main() генерируются случайные значения для массивов a и b и выводятся на экран
- Для каждого элемента массива b ищется соответствующий элемент в массиве a. Если такой элемент найден, то счетчик k увеличивается на единицу
- Если k равно 5, то для каждого элемента массива a заменяются соответствующие элементы массива b на пробел
- Производится сортировка массива a по возрастанию с помощью алгоритма сортировки пузырьком
- Выводятся отсортированный массив a и массив b
- Программа ожидает нажатия клавиши для завершения работы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д