Переписать код сортировки массива с Pascal - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ребята-программисты друзья пожалуйста помогите человеку сдать лабу до нового года. Переведите этот код Паскаля в Си.
Листинг программы
  1. var
  2. a:array[1..200]of char;
  3. b:array[1..5]of char;
  4. i,n,j,k:integer;
  5. t:char;
  6. begin
  7. randomize;
  8. writeln('ishodnyj massiv a');
  9. for i:=1 to 200 do
  10. begin
  11. n:= random(161)+40;
  12. a[i]:=chr(n);
  13. write(a[i],' ');
  14. end;
  15. writeln('ishodnyj massiv b');
  16. for i:=1 to 5 do
  17. begin
  18. n:= random(161)+40;
  19. b[i]:=chr(n);
  20. write(b[i],' ');
  21. end;
  22. for i:=1 to 5 do
  23. for j:=1 to 200 do
  24. if b[i]=a[j]then
  25. begin
  26. inc(k);
  27. break;
  28. end;
  29. writeln;
  30. writeln('k=',k);
  31. if k=5 then
  32. for i:=1 to 200 do
  33. for j:=1 to 5 do
  34. if a[i]=b[j]then a[i]:=' ';
  35. for i:=1 to 200 do
  36. for j:=2 to 200 do
  37. if a[j]<a[j-1]then
  38. begin
  39. t:=a[j];
  40. a[j]:=a[j-1];
  41. a[j-1]:=t;
  42. end;
  43. writeln('novyj massiv a');
  44. for i:=1 to 200 do
  45. write(a[i],' ');
  46. for i:=1 to 5 do
  47. for j:=2 to 5 do
  48. if b[j]<b[j-1]then
  49. begin
  50. t:=b[j];
  51. b[j]:=b[j-1];
  52. b[j-1]:=t;
  53. end;
  54. writeln('novyj massiv b');
  55. for i:=1 to 5 do
  56. write(b[i],' ');
  57. readln;
  58. end.

Решение задачи: «Переписать код сортировки массива с Pascal»

textual
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. char a[200],b[5];
  5. int i,n,j,k;
  6. char t;
  7.  
  8. int main () {
  9.  randomize();
  10.  printf("\nishodnyj massiv a\n");
  11.  for (i=0;i<200;i++) {
  12.   a[i]=random(161)+40;;
  13.   printf ("%c ",a[i]);
  14.  }
  15.  printf ("\nishodnyj massiv b\n");
  16.  for (i=0;i<5;i++) {
  17.   b[i]=random(161)+40;
  18.   printf ("%c ",b[i]);
  19.  }
  20.  for (i=0;i<5;i++)
  21.  for (j=0;j<200;j++)
  22.   if (b[i]==a[j]) {
  23.   k++;
  24.   break;
  25.  }
  26.  printf ("\nk=%d",k);
  27.  if (k==5)
  28.  for (i=0;i<200;i++)
  29.  for (j=0;j<5;j++)
  30.  if (a[i]==b[j]) a[i]=' ';
  31.  for (i=0;i<200;i++)
  32.  for (j=1;j<200;j++)
  33.   if (a[j]<a[j-1]) {
  34.   t=a[j];
  35.   a[j]=a[j-1];
  36.   a[j-1]=t;
  37.  }
  38.  printf ("\nnovyj massiv a\n");
  39.  for (i=0;i<200;i++) printf ("%c ",a[i]);
  40.  for (i=0;i<5;i++)
  41.  for (j=1;j<5;j++)
  42.   if (b[j]<b[j-1]) {
  43.   t=b[j]; b[j]=b[j-1]; b[j-1]=t;
  44.  }
  45.  printf ("\nnovyj massiv b\n");
  46.  for (i=0;i<5;i++) printf ("%c ",b[i]);
  47.  getchar ();
  48.  return 0;
  49. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут