0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 22
1

Сортировка динамического массива

09.12.2021, 19:57. Показов 317. Ответов 6

Author24 — интернет-сервис помощи студентам
Подскажите, пожалуйста, в чём ошибка в сортировке динамического одномерного массива?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#define _CRT_SECURE_NO_WARNINGS
#include <locale.h>
#include <iostream>
#include <conio.h>
 
int main()
{
    do {
        setlocale(LC_ALL, "Russian");
        int n, m, i, j, y, h, c;
        char x;
        char* mp; 
        int* list;
        printf("Введите число строк и столбцов матрицы: ");
        scanf("%d%d", &n, &m);
        mp = (char*)calloc(n * m, sizeof(char)); 
        if (mp == NULL)
        {
            puts("\nНет памяти.Конец работы.");
            return 1;
        } 
        while (getchar() != '\n');
        printf("\nВведите целую матрицу (%d*%d) построчно: \n", n, m);
        for (i = 0; i < n; i++)
            for (j = 0; j < m; j++){
                scanf("%c", mp + i * m + j);
                scanf("%c", &x);
            }
        printf("\nВаша исходная матрица: \n");
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
                printf("%c ", *(mp + i * m + j));
            printf("\n");
        }
        list = (int*)calloc(n, sizeof(int));
        for (i = 0; i < n; i++) {
            y = 0;
            for (j = 0; j < m; j++)
                if ((*(mp + i * m + j) >= 'a') && (*(mp + i * m + j) <= 'z'))
                    y++;
 
            *(list + i) = y;
        }
        printf("\nПолученный дин. одномерный массив: \n");
        for (i = 0; i < n; i++)
            printf("%d (%p)", *(list + i), list + i);
        for (h = 1; h < n; h++)
            for (i = 0; i < n - h; i++) // По-моему где-то здесь ошибка
                if (*list > *(list + i))
                {
                    c = *list;
                    *list = *(list + i);
                    *(list + i) = c;
                }
        printf("\nОтсортированный дин. одномерный массив: \n");
        for (i = 0; i < n; i++)
            printf("%d (%p)", *(list + i), list + i);
        printf("Нажмите любую клавишу чтобы продолжить и ESC чтобы выйти\n");
    } while (_getch() != 27);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2021, 19:57
Ответы с готовыми решениями:

Сортировка динамического массива
ошибки в программе не знаю как исправить. И проблемы с количеством памяти как это исправить? ...

Сортировка динамического массива
Добрый вечер, прошу помочь с одним заданием. Дана матрица размером NxM. Упорядочить ее столбцы по...

Сортировка динамического массива с++
Не понимаю почему после сортировки элементы массива выводятся в не отсортированном виде #include...

Сортировка динамического массива
for(int i=0;i&lt;size1;++i) { int *a=&amp;i; int *tmp=&amp;mas1; for(int j = i + 1; j &lt; size1; ++j)...

6
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
09.12.2021, 20:00 2
Алгоритмы сортировок
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 22
09.12.2021, 20:20  [ТС] 3
nmcf Я посмотрел, спасибо, но так и не понял где у меня ошибка в коде? Там вроде как всё так же написано
0
Yetty
09.12.2021, 20:31
  #4

Не по теме:

WhiteRabb1t, код нужен на языке С или на языке С++ ?

0
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
09.12.2021, 20:34 5
Цитата Сообщение от WhiteRabb1t Посмотреть сообщение
где у меня ошибка
Каким методом ты сортируешь? Вот соответствующий алгоритм смотри и сравнивай.
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 22
09.12.2021, 20:35  [ТС] 6
Yetty, c++
0
Yetty
09.12.2021, 21:05     Сортировка динамического массива
  #7

Не по теме:

WhiteRabb1t, напишите оригинал условия задачи

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2021, 21:05

Сортировка динамического массива
Разработать функцию, которая превращает заданный массив таким образом, что сначала массива...

Сортировка динамического массива
#include &lt;iostream&gt; using namespace std; #pragma warning (disable:4996) int main() { ...

Сортировка динамического массива
Доброе время суток!!! Очень надо Разработать программу сортировки матрицы размерности nxn так,...

Сортировка динамического массива
Необходимо объявить и заполнить одномерный динамический массив случайными числами от 20 до 40....

Сортировка динамического массива
Сортировка динамического массива методом вставки.

Сортировка динамического массива
Ребята, помогите отсортировать динамический массив по убыванию элементов, исключая из массива...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru