Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите - C (СИ)
Формулировка задачи:
#include "stdafx.h" #include "stdlib.h" #include "stdio.h" #include "conio.h" #include "math.h" #include "locale.h" #include "string.h" #include "time.h" #define pause system("pause") void printarr(int **, int ); void bubblesort(int *, int ); void printarr1(int *, int ); int main() { setlocale(LC_ALL, "RUS"); int n, i, j,q,w,e,c=0,r=0,h=0, **px,*pw; srand(time(NULL)); printf("Добро пожаловать в лабораторную работу №7!\n"); printf("Задание: На основе исходного двумерного массива С с рабочим размером n x n, сформировать одномерный массив А."); printf("Массив А должен содержать только те числа, которые встречаются в массиве С более одного раза. Упорядочить массив А по убыванию, используя метод "пузырька". Вывести Массивы С и А на экран."); printf("Массивы А и С должны состоять из целых чисел. Значение n вводится пользователем с клавиатуры. Значения элементов Массива С генерируются при помощи датчика случайных чисел\n"); printf("Введите значение n:"); scanf_s("%d", &n); printf("\n"); px = ((int**)malloc(n*n*sizeof(int))); if (!px) { printf("Память не выделена\n"); pause; exit(0); } for (j = 0; j < n; j++) { px[j] = (int*)malloc(n * sizeof(int)); if (!px[j]) { printf("Память не выделена\n"); pause; exit(0); } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) px[i][j] = (rand() % 10); } printarr(px, n); pw = (int*)malloc(n*n * sizeof(int)); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { for (q = 0; q < n; q++) { for (w = 0; w < n; w++) { if (px[i][j] == px[q][w]) h++; } } if (h > 1) { for (e = 0; e < c; e++) { if (px[i][j] == *(pw + e)) { r++; } } if (r == 0) { *(pw + c) = px[i][j]; c++; } } h = 0; r = 0; } } printf("\n"); printf("Массив А до сортировки:\n"); printarr1(pw,c); printf("\n"); bubblesort(pw, c); printf("Массив А после сортировки:\n"); printarr1(pw, c); free(px); free(pw); pause; return 0; } void printarr(int **arr, int a) { int i, j, x; printf("Массив C размером n x n\n"); for (i = 0; i < a; i++) { for (j = 0, x = 1; j < a; j++, x++) printf("%d ", arr[i][j]); printf("\n"); } } void printarr1(int *arr, int a) { int i; for (i = 0; i < a; i++) { printf("%d ", *(arr + i)); } printf("\n"); } void bubblesort(int *arr, int a) { int i, j=0,k; for (k = 0; k < a-1; k++) { for (i = 0; i < a-1; i++) { if ( arr[i] < arr[i+1]){ j = arr[i]; arr[i] = arr[i+1]; arr[i+ 1] = j; } } } }
Решение задачи: «Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите»
textual
Листинг программы
#include "stdafx.h" #include "stdlib.h" #include "stdio.h" #include "conio.h" #include "math.h" #include "locale.h" #include "string.h" #include "time.h" #define pause system("pause") void printarr(int **, int ); void bubblesort(int *, int ); void printarr1(int *, int ); int main() { setlocale(LC_ALL, "RUS"); int n, i, j,q,w,e,c=0,r=0,h=0, **px,*pw; srand(time(NULL)); printf("Добро пожаловать в лабораторную работу №7!\n"); printf("Задание: На основе исходного двумерного массива С с рабочим размером n x n, сформировать одномерный массив А."); printf("Массив А должен содержать только те числа, которые встречаются в массиве С более одного раза. Упорядочить массив А по убыванию, используя метод "пузырька". Вывести Массивы С и А на экран."); printf("Массивы А и С должны состоять из целых чисел. Значение n вводится пользователем с клавиатуры. Значения элементов Массива С генерируются при помощи датчика случайных чисел\n"); printf("Введите значение n:"); scanf_s("%d", &n); printf("\n"); px = ((int**)malloc(n*n*sizeof(int))); if (!px) { printf("Память не выделена\n"); pause; exit(0); } for (j = 0; j < n; j++) { px[j] = (int*)malloc(n * sizeof(int)); if (!px[j]) { printf("Память не выделена\n"); pause; exit(0); } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) px[i][j] = (rand() % 10); } printarr(px, n); pw = (int*)malloc(n*n * sizeof(int)); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { for (q = 0; q < n; q++) { for (w = 0; w < n; w++) { if (px[i][j] == px[q][w]) h++; } } if (h > 1) { for (e = 0; e < c; e++) { if (px[i][j] == *(pw + e)) { r++; } } if (r == 0) { *(pw + c) = px[i][j]; c++; } } h = 0; r = 0; } } printf("\n"); printf("Массив А до сортировки:\n"); printarr1(pw,c); printf("\n"); bubblesort(pw, c); printf("Массив А после сортировки:\n"); printarr1(pw, c); free(px); free(pw); pause; return 0; } void printarr(int **arr, int a) { int i, j, x; printf("Массив C размером n x n\n"); for (i = 0; i < a; i++) { for (j = 0, x = 1; j < a; j++, x++) printf("%d ", arr[i][j]); printf("\n"); } } void printarr1(int *arr, int a) { int i; for (i = 0; i < a; i++) { printf("%d ", *(arr + i)); } printf("\n"); } void bubblesort(int *arr, int a) { int i, j=0,k; for (k = 0; k < a-1; k++) { for (i = 0; i < a-1; i++) { if ( arr[i] < arr[i+1]){ j = arr[i]; arr[i] = arr[i+1]; arr[i+ 1] = j; } } } }
Объяснение кода листинга программы
Код представляет собой программу, которая генерирует двумерный массив случайных целых чисел, затем создает одномерный массив, который содержит только те числа, которые встречаются в двумерном массиве более одного раза. Затем этот одномерный массив сортируется по убыванию с помощью алгоритма пузырька
.
Список элементов кода:
- #include
stdafx.h
- включает файл с расширением .h, который, вероятно, содержит стандартные функции и объявления. - #include
stdlib.h
- включает файл stdlib.h, который содержит функции для работы с памятью и генерации случайных чисел. - #include
stdio.h
- включает файл stdio.h, который содержит функции для ввода и вывода данных. - #include
conio.h
- включает файл conio.h, который содержит функции для работы с консолью. - #include
math.h
- включает файл math.h, который содержит математические функции. - #include
locale.h
- включает файл locale.h, который содержит функции для работы с локалью. - #include
string.h
- включает файл string.h, который содержит функции для работы со строками. - #include
time.h
- включает файл time.h, который содержит функции для работы со временем. - #define pause system(
pause
) - определяет функцию pause, которая вызывает функцию system(pause
), чтобы приостановить выполнение программы до нажатия клавиши. - void printarr(int arr, int a)** - функция для печати двумерного массива.
- *void bubblesort(int arr, int a)** - функция для сортировки одномерного массива по убыванию с помощью алгоритма
пузырька
. - *void printarr1(int arr, int a)** - функция для печати одномерного массива.
- int main() - точка входа в программу. Элементы кода нумерованы для удобства описания.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д