Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для tarik762
1 / 1 / 0
Регистрация: 06.04.2010
Сообщений: 37

Некорректно сортируется матрица.

27.04.2012, 09:58. Показов 769. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня такая проблема есть квадратная матрица. Когда ее выводишь 1 раз выводятся одни значения. После сортировки ее строк методом пузырька значения совсем другие. Что за єресь понять не могу. Знаю задачка банальная но все же. Подскажите что не так.
Код
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
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define false 0;
#define true 1;
typedef unsigned short bool;
int randInDiapazon();
void sortMatrix(int **, int);
 
int main() {
    int size;
    int ** matrix;
    int i;
    int j;
    srand(time(NULL));
    while (size < 1 || size > 20){
        printf("Enter size of matrix N = ");
        scanf("%d",&size);
        if (size < 1)
            printf ("Incorect size of vector. Please enter again\n");
    }
    //Генерація матриці
    matrix = (int **)malloc(size * sizeof(int*));
    for (i = 0; i < size; i ++){
        matrix[i] = (int *)malloc(sizeof(int));
    }
    printf ("Matrix:\n");
    for (i = 0; i < size; i ++){
        for (j = 0; j < size; j ++)
            matrix[i][j] = randInDiapazon();
    }
    for (i = 0; i < size; i ++){
        for (j = 0; j < size; j ++){
            printf ("%3d ",matrix[i][j]);
        }
        printf("\n");
    }
    sortMatrix(matrix,size);
    
    printf ("\nMatrix after sorting:\n");
    for (i = 0; i < size; i ++){
        for (j = 0; j < size; j ++){
            printf ("%3d ",matrix[i][j]);
        }
        printf("\n");
    }
    return (EXIT_SUCCESS);
}
 
int randInDiapazon(){
    return rand() % 21 - 10;
}
 
void sortMatrix(int **matrix, int size){
    int i;
    int j;
    int k;
    int temp;
    for (k = 0; k < size; k ++){
        for (i = 0; i < size; i ++){
            for (j = 0; j < size; j++){
                if(matrix[k][i] > matrix[k][j]){
                    temp = matrix[k][i];
                    matrix[k][i] = matrix[k][j];
                    matrix[k][j] = temp;
                }
            }
        }
    }
}
Результат работы

ЗИ. Если матрицу даже не сортировать, а просто пару елементов поменять местами всеравно выводит не то.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2012, 09:58
Ответы с готовыми решениями:

Матрица выводится некорректно
Задаю матрицу и ее элементы, но выводятся не мои элементы, а какие-то другие. Помогите пожалуйста! #include &lt;vcl.h&gt; #pragma...

Матрица char некорректно отображается
Здравствуйте. Проблема в том что если очень большая размерность массива то символы отображает криво. подскажите как исправить. Пишу в...

Упорядочить все строки матрицы по числу элементов, кратных 3 (матрица сортируется неправильно)
Упорядочить все строки матрицы по числу элементов, кратных 3, т.е. на первое место поставить строку с наименьшим числом таких элементов и...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2012, 09:58
Помогаю со студенческими работами здесь

Некорректно работает новая матрица для Sony Vaio
Всем доброго времени суток. Решил заменить свою старую матрицу с битыми пикселями на ноутбуке vpcca3s1r на новую. Стояла матрица от AU...

Не сортируется BindingSource
Есть BindingSource ConnectionsSource; В ходе работы программы свойству DataSource присваиваю определённый...

Неправильно сортируется
Обычная сортировка, находится максимум, сортируется остаток списка, максимум добавляется в конец полученного. Но почему-то сортирует она...

Массив не сортируется
Прошу, помогите кто чем может :) Вроде бы данный код должен в конце сортировать массив и выводить отсортированные данные на экран, но...

не сортируется массив
написал процедуру, которая сортирует массив: сначала четные элементы потом нечетные, и все записывается в новый массив. procedure...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru