Переписать код сортировки массива с 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;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: stdlib.h и printf.h
  2. Объявляются массивы a и b, а также переменные i, n, j, k и t
  3. В функции main() генерируются случайные значения для массивов a и b и выводятся на экран
  4. Для каждого элемента массива b ищется соответствующий элемент в массиве a. Если такой элемент найден, то счетчик k увеличивается на единицу
  5. Если k равно 5, то для каждого элемента массива a заменяются соответствующие элементы массива b на пробел
  6. Производится сортировка массива a по возрастанию с помощью алгоритма сортировки пузырьком
  7. Выводятся отсортированный массив a и массив b
  8. Программа ожидает нажатия клавиши для завершения работы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5