Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите - C (СИ)

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

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

Листинг программы
  1. #include "stdafx.h"
  2. #include "stdlib.h"
  3. #include "stdio.h"
  4. #include "conio.h"
  5. #include "math.h"
  6. #include "locale.h"
  7. #include "string.h"
  8. #include "time.h"
  9. #define pause system("pause")
  10. void printarr(int **, int );
  11. void bubblesort(int *, int );
  12. void printarr1(int *, int );
  13. int main()
  14. {
  15. setlocale(LC_ALL, "RUS");
  16. int n, i, j,q,w,e,c=0,r=0,h=0, **px,*pw;
  17. srand(time(NULL));
  18. printf("Добро пожаловать в лабораторную работу №7!\n");
  19. printf("Задание: На основе исходного двумерного массива С с рабочим размером n x n, сформировать одномерный массив А.");
  20. printf("Массив А должен содержать только те числа, которые встречаются в массиве С более одного раза. Упорядочить массив А по убыванию, используя метод "пузырька". Вывести Массивы С и А на экран.");
  21. printf("Массивы А и С должны состоять из целых чисел. Значение n вводится пользователем с клавиатуры. Значения элементов Массива С генерируются при помощи датчика случайных чисел\n");
  22. printf("Введите значение n:");
  23. scanf_s("%d", &n);
  24. printf("\n");
  25. px = ((int**)malloc(n*n*sizeof(int)));
  26. if (!px)
  27. {
  28. printf("Память не выделена\n");
  29. pause;
  30. exit(0);
  31. }
  32. for (j = 0; j < n; j++) {
  33. px[j] = (int*)malloc(n * sizeof(int));
  34. if (!px[j])
  35. {
  36. printf("Память не выделена\n");
  37. pause;
  38. exit(0);
  39. }
  40. }
  41. for (i = 0; i < n; i++) {
  42. for (j = 0; j < n; j++)
  43. px[i][j] = (rand() % 10);
  44. }
  45. printarr(px, n);
  46. pw = (int*)malloc(n*n * sizeof(int));
  47. for (i = 0; i < n; i++) {
  48. for (j = 0; j < n; j++) {
  49. for (q = 0; q < n; q++) {
  50. for (w = 0; w < n; w++) {
  51. if (px[i][j] == px[q][w])
  52. h++;
  53. }
  54. }
  55. if (h > 1) {
  56. for (e = 0; e < c; e++) {
  57. if (px[i][j] == *(pw + e))
  58. {
  59. r++;
  60. }
  61. }
  62. if (r == 0) {
  63. *(pw + c) = px[i][j];
  64. c++;
  65. }
  66. }
  67. h = 0;
  68. r = 0;
  69. }
  70. }
  71. printf("\n");
  72. printf("Массив А до сортировки:\n");
  73. printarr1(pw,c);
  74. printf("\n");
  75. bubblesort(pw, c);
  76. printf("Массив А после сортировки:\n");
  77. printarr1(pw, c);
  78. free(px);
  79. free(pw);
  80. pause;
  81. return 0;
  82. }
  83. void printarr(int **arr, int a)
  84. {
  85. int i, j, x;
  86. printf("Массив C размером n x n\n");
  87. for (i = 0; i < a; i++) {
  88. for (j = 0, x = 1; j < a; j++, x++)
  89. printf("%d ", arr[i][j]);
  90. printf("\n");
  91. }
  92. }
  93. void printarr1(int *arr, int a)
  94. {
  95. int i;
  96. for (i = 0; i < a; i++) {
  97. printf("%d ", *(arr + i));
  98. }
  99. printf("\n");
  100. }
  101. void bubblesort(int *arr, int a)
  102. {
  103. int i, j=0,k;
  104. for (k = 0; k < a-1; k++) {
  105. for (i = 0; i < a-1; i++) {
  106. if ( arr[i] < arr[i+1]){
  107. j = arr[i];
  108. arr[i] = arr[i+1];
  109. arr[i+ 1] = j;
  110. }
  111. }
  112. }
  113. }

Решение задачи: «Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите»

textual
Листинг программы
  1. #include "stdafx.h"
  2. #include "stdlib.h"
  3. #include "stdio.h"
  4. #include "conio.h"
  5. #include "math.h"
  6. #include "locale.h"
  7. #include "string.h"
  8. #include "time.h"
  9. #define pause system("pause")
  10.  
  11. void printarr(int **, int );
  12. void bubblesort(int *, int );
  13. void printarr1(int *, int );
  14.  
  15. int main()
  16. {
  17. setlocale(LC_ALL, "RUS");
  18. int n, i, j,q,w,e,c=0,r=0,h=0, **px,*pw;
  19. srand(time(NULL));
  20. printf("Добро пожаловать в лабораторную работу №7!\n");
  21. printf("Задание: На основе исходного двумерного массива С с рабочим размером n x n, сформировать одномерный массив А.");
  22. printf("Массив А должен содержать только те числа, которые встречаются в массиве С более одного раза. Упорядочить массив А по убыванию, используя метод "пузырька". Вывести Массивы С и А на экран.");
  23. printf("Массивы А и С должны состоять из целых чисел. Значение n вводится пользователем с клавиатуры. Значения элементов Массива С генерируются при помощи датчика случайных чисел\n");
  24. printf("Введите значение n:");
  25. scanf_s("%d", &n);
  26. printf("\n");
  27. px = ((int**)malloc(n*n*sizeof(int)));
  28. if (!px)
  29. {
  30. printf("Память не выделена\n");
  31. pause;
  32. exit(0);
  33. }
  34. for (j = 0; j < n; j++) {
  35. px[j] = (int*)malloc(n * sizeof(int));
  36. if (!px[j])
  37. {
  38. printf("Память не выделена\n");
  39. pause;
  40. exit(0);
  41. }
  42. }
  43. for (i = 0; i < n; i++) {  
  44. for (j = 0; j < n; j++)
  45. px[i][j] = (rand() % 10);
  46. }
  47. printarr(px, n);
  48. pw = (int*)malloc(n*n * sizeof(int));
  49. for (i = 0; i < n; i++) {
  50. for (j = 0; j < n; j++) {
  51. for (q = 0; q < n; q++) {
  52. for (w = 0; w < n; w++) {
  53. if (px[i][j] == px[q][w])
  54. h++;
  55. }  
  56. }
  57. if (h > 1) {
  58. for (e = 0; e < c; e++) {
  59. if (px[i][j] == *(pw + e))
  60. {
  61. r++;
  62. }
  63. }
  64. if (r == 0) {
  65. *(pw + c) = px[i][j];
  66. c++;
  67. }
  68. }
  69. h = 0;
  70. r = 0;
  71. }
  72. }
  73. printf("\n");
  74. printf("Массив А до сортировки:\n");
  75. printarr1(pw,c);
  76. printf("\n");
  77. bubblesort(pw, c);
  78. printf("Массив А после сортировки:\n");
  79. printarr1(pw, c);
  80. free(px);
  81. free(pw);
  82. pause;
  83. return 0;
  84. }
  85.  
  86. void printarr(int **arr, int a)
  87. {
  88. int i, j, x;
  89. printf("Массив C размером n x n\n");
  90. for (i = 0; i < a; i++) {
  91. for (j = 0, x = 1; j < a; j++, x++)
  92. printf("%d ", arr[i][j]);
  93. printf("\n");
  94. }
  95. }
  96.  
  97. void printarr1(int *arr, int a)
  98. {
  99. int i;
  100. for (i = 0; i < a; i++) {
  101. printf("%d ", *(arr + i));
  102. }
  103. printf("\n");
  104. }
  105.  
  106. void bubblesort(int *arr, int a)
  107. {
  108. int i, j=0,k;
  109. for (k = 0; k < a-1; k++) {
  110. for (i = 0; i < a-1; i++) {
  111. if ( arr[i] < arr[i+1]){
  112. j = arr[i];
  113. arr[i] = arr[i+1];
  114. arr[i+ 1] = j;
  115. }  
  116. }
  117. }
  118. }

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

Код представляет собой программу, которая генерирует двумерный массив случайных целых чисел, затем создает одномерный массив, который содержит только те числа, которые встречаются в двумерном массиве более одного раза. Затем этот одномерный массив сортируется по убыванию с помощью алгоритма пузырька. Список элементов кода:

  1. #include stdafx.h - включает файл с расширением .h, который, вероятно, содержит стандартные функции и объявления.
  2. #include stdlib.h - включает файл stdlib.h, который содержит функции для работы с памятью и генерации случайных чисел.
  3. #include stdio.h - включает файл stdio.h, который содержит функции для ввода и вывода данных.
  4. #include conio.h - включает файл conio.h, который содержит функции для работы с консолью.
  5. #include math.h - включает файл math.h, который содержит математические функции.
  6. #include locale.h - включает файл locale.h, который содержит функции для работы с локалью.
  7. #include string.h - включает файл string.h, который содержит функции для работы со строками.
  8. #include time.h - включает файл time.h, который содержит функции для работы со временем.
  9. #define pause system(pause) - определяет функцию pause, которая вызывает функцию system(pause), чтобы приостановить выполнение программы до нажатия клавиши.
  10. void printarr(int arr, int a)** - функция для печати двумерного массива.
  11. *void bubblesort(int arr, int a)** - функция для сортировки одномерного массива по убыванию с помощью алгоритма пузырька.
  12. *void printarr1(int arr, int a)** - функция для печати одномерного массива.
  13. int main() - точка входа в программу. Элементы кода нумерованы для удобства описания.

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


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

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

9   голосов , оценка 4.222 из 5

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

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

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