Форум программистов, компьютерный форум CyberForum.ru

сортировка строк - C++

Восстановить пароль Регистрация
 
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
18.12.2010, 13:01     сортировка строк #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
71
72
73
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
 char cool='o';
static size_t rows = 0;
static size_t cols = 0; //размеры матрицы
 
int cmpColumns(const void *a, const void *b){  //для qsort
        return *((int*)a) - *((int*)b);
}
 
int main(){
int n;
        int **matr;
        size_t i, j;
 
        printf("Kolichestvo strok matrix: ");//число строк
        scanf("%i", &rows);
        if ( !rows ){
                printf("Bad value for number of rows!\n");
                exit(1);
        }
        printf("Kolichestvo stolbcov matrix: ");//число столбцов
        scanf("%i", &cols);
        if ( !cols ){
                printf("Bad value for number of columns!\n");
                exit(1);
        }
        
        if ( (matr = (int**)calloc(rows, sizeof(int*))) == NULL ){
                printf("Memory error!\n");
                exit(1);
        }
        for ( i = 0; i < rows; i++ ){
                if ( (matr[i] = (int*)calloc(cols, sizeof(int))) == NULL ){
                        printf("Memory error!\n");
                        exit(1);
                }
        }
 
        for ( i = 0; i < rows; i++ ){
                for ( j = 0; j < cols; j++ ){
                        printf("Matrix[%i][%i] = ", i, j);
                        scanf("%i", &matr[i][j]);   //идет заполнение
                }
        }
 
        printf("\n Matrix do sortirovki :\n");
        for ( i = 0; i < rows; i++ )
                for ( j = 0; j < cols; j++ )
                        printf( ( j < cols - 1 ) ? "%02i " : "%02i\n", matr[i][j]);//вывод
 
        for ( i = 0; i < rows; i++ )
                qsort((void*)matr[i], cols, sizeof(int), cmpColumns); // сортировка строк
 
 
        printf("\n Matrix posle sortirovki:\n");
        for ( i = 0; i < rows; i++ )
                for ( j = 0; j < cols; j++ )
                        printf( ( j < cols - 1 ) ? "%02i " : "%02i\n", matr[i][j]); //вывод
 
        for ( i = 0; i < rows; i++ ){  //очистка памяти
                free(matr[i]);
                matr[i] = NULL;
        }
        free(matr);
        matr = NULL;
 
        scanf("%i", &n);
 
        return 0;
}
Добавлено через 2 минуты
каким методом происходит сортировка?????? метод вузырька, вставки????
C++
1
2
        for ( i = 0; i < rows; i++ )
                qsort((void*)matr[i], cols, sizeof(int), cmpColumns); // сортировка строк
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 13:01     сортировка строк
Посмотрите здесь:

сортировка строк C++
C++ Сортировка строк
C++ Сортировка строк
Сортировка строк C++
Сортировка строк C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
18.12.2010, 13:02     сортировка строк #2
А условие и чем помочь писать не учили??? телепаты в отпуске:-|

Добавлено через 48 секунд
молодец, быстро исправился
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
18.12.2010, 13:03  [ТС]     сортировка строк #3
И САМОЕ ГЛАВНОЕ!!!! ЧТО ПРОИСХОДИТ В ЭТОМ ФРАГМЕНТЕ???? ОБЪЯСНИТЕ ПОЖАЛУЙСТА!!!! СРОЧНО НУЖНО!!!
C++
1
2
int cmpColumns(const void *a, const void *b){  //для qsort
        return *((int*)a) - *((int*)b);
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
18.12.2010, 13:23     сортировка строк #4
qsort - это стандартная сортировка, функция одной из библиотек

Добавлено через 47 секунд
Цитата Сообщение от Igor Palienko Посмотреть сообщение
И САМОЕ ГЛАВНОЕ!!!! ЧТО ПРОИСХОДИТ В ЭТОМ ФРАГМЕНТЕ???? ОБЪЯСНИТЕ ПОЖАЛУЙСТА!!!! СРОЧНО НУЖНО!!!
C++
1
2
int cmpColumns(const void *a, const void *b){  //для qsort
        return *((int*)a) - *((int*)b);
функция, которая возвращает какие-то извращенные штуки.вот честно, логику писавшего познавать не хочется
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
18.12.2010, 13:28  [ТС]     сортировка строк #5
Darky ПОМОГИ ЕЩЕ В ОДНОМ СЕЙЧАС КОД И ЗАДАНИЕ НАПИШУ

Добавлено через 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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
 
#define LINE 3
#define COLUMNS 3
 
int main()
{
    int matr[LINE][COLUMNS], mas[LINE];
    srand(time(NULL));
 
    for(int i = 0; i < LINE; ++i)
    {
        for(int j = 0; j < COLUMNS; ++j)
        {
            matr[i][j] = rand() % 10;
            printf(" %d ", matr[i][j]);
        }
        printf("\n");
    }
 
    for(int i = 0; i < LINE; ++i)
    {
        int max = matr[i][0];
        for(int j = 0; j < COLUMNS; ++j)
        {
            if(matr[i][j] > max)
                max = matr[i][j];
        }
        mas[i] = max;
    }
 
    printf("\n\n");
    for(int i = 0; i < LINE - 1; ++i)
    {
        if(mas[i] > mas[i + 1])
        {
            for(int j = 0; j < COLUMNS; ++j)
            {
                int tmp = matr[i][j];
                matr[i][j] = matr[i + 1][j];
                matr[i + 1][j] =  tmp;
            }
        }
    }
 
    for(int i = 0; i < LINE; ++i)
    {
        for(int j = 0; j < COLUMNS; ++j)
            printf(" %d ", matr[i][j]);
 
        printf("\n");
    }
    return 0;
}
Я ВОТ НАПИСАЛ НО ОНА ЧЕТ НЕ РАБОТАЕТ
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
18.12.2010, 13:30     сортировка строк #6
говно значит написал
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
18.12.2010, 13:33  [ТС]     сортировка строк #7
НУ ОТРЕДОКТИРУЙ ЕСЛИ НЕ СЛОЖНО
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
18.12.2010, 13:38     сортировка строк #8
СЛОЖНО

помогать людям, которые разговаривают в повелительном наклонении
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
18.12.2010, 13:40  [ТС]     сортировка строк #9
помогите пожалуйста
silent_1991
18.12.2010, 14:05
  #10

Не по теме:

Darky, грубовато, но в целом верно)))

Цитата Сообщение от Darky Посмотреть сообщение
СЛОЖНО
помогать людям, которые разговаривают в повелительном наклонении
Да ещё и допускают кучу ошибок.

Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
18.12.2010, 14:20     сортировка строк #11
Igor Palienko, взятая тобой откуда-то программа не соответствует цели задачи абсолютно. ищи в другом месте, ибо времени, чтобы поправить твою, уйдет больше, чем писать с 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2010, 20:34     сортировка строк
Еще ссылки по теме:

Сортировка строк C++
C++ Сортировка строк
C++ Сортировка строк матрицы C++ (перестановка строк)

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

Или воспользуйтесь поиском по форуму:
Igor Palienko
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 22
19.12.2010, 20:34  [ТС]     сортировка строк #12
вам если впадлу так и скажите а то начинаете гнать фигню разную

Добавлено через 8 минут
люди кому не сложно помогите пожалуйста
Yandex
Объявления
19.12.2010, 20:34     сортировка строк
Ответ Создать тему
Опции темы

Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru