Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите - 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;
}   
}
}
}

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

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

  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
Похожие ответы