Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
CarbonBased
7 / 4 / 4
Регистрация: 27.03.2017
Сообщений: 131
1

Сортировка строк (ошибка сегментации)

03.06.2017, 20:28. Просмотров 274. Ответов 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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
void string_sort(char **a, int lim, int char_lim);
 
int main(void)
{
 
    int i, LIM, CHAR_LIM;
    scanf("%d%d", &LIM, &CHAR_LIM);
    char **massive_of_strings = (char **)malloc(LIM * sizeof(char*));
    
    for(i = 0; i < LIM; ++i)
    {
        massive_of_strings[i] = (char*)malloc(CHAR_LIM * sizeof(char));
    }
    for(i = 0; i < LIM; ++i)
    {
        printf("Введите %d-ую строку\n", i+1);
        fgets(massive_of_strings[i], CHAR_LIM, stdin);
    }
    for(i = 0; i < LIM; ++i)
    {
        printf("Вы ввели %d-ую строку - %s\n", i+1, massive_of_strings[i]);
    }
    string_sort(massive_of_strings, LIM, CHAR_LIM);
 
    printf("Строки после сортировки\n");
    for(i = 0; i < LIM; ++i)
    {
        printf("%d-ая строка - %s\n", i+1, massive_of_strings[i]);
    }
return 0;
}
void string_sort(char **a, int lim, int char_lim)
{
    int i, j;
    char * temp = (char*)malloc(char_lim * sizeof(char));
 
    for(i = 0; i < lim; ++i)
    {
        for(j = lim; j >= i; --j)
        {
            if(strcmp(a[j],a[j-1]) < 0)
            {
                strcpy(temp, a[j]);
                strcpy(a[j],a[j-1]);
                strcpy(a[j-1], temp);
            }
        }
    }
}
после начала сортировки возникает ошибка сегментации.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2017, 20:28
Ответы с готовыми решениями:

Ошибка сегментации при поиске уникальных строк в файле
Здравствуйте.Есть программа, которая находит уникальные айпи адреса в файле, колличество их...

Ошибка сегментации
# include &lt;sys/types.h&gt; # include &lt;sys/times.h&gt; # include &lt;sys/socket.h&gt; # include &lt;stdio.h&gt; #...

Ошибка сегментации
Есть вот такой код: #include &lt;stdio.h&gt; typedef struct{ char *temp; }strman;...

Ошибка сегментации
всем здраствуйте. double power(double n, int p) //определение функции 22 { 23 if (n...

Ошибка сегментации
Задача: В двух файлах дано 2 массива. Вывести эти 2 массива в третий файл в отсортированном виде....

1
sidor_01
80 / 80 / 72
Регистрация: 25.02.2017
Сообщений: 175
04.06.2017, 00:54 2
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
void string_sort(char **a, int lim, int char_lim);
 
int main(void)
{
 
    int i, LIM, CHAR_LIM;
    scanf("%d%d", &LIM, &CHAR_LIM);
    getchar();
    char **massive_of_strings = (char **)malloc(LIM * sizeof(char*));
    
    for(i = 0; i < LIM; ++i)
    {
        massive_of_strings[i] = (char*)malloc(CHAR_LIM * sizeof(char));
    }
    for(i = 0; i < LIM; ++i)
    {
        printf("Введите %d-ую строку\n", i+1);
        fgets(massive_of_strings[i], CHAR_LIM, stdin);
    }
    for(i = 0; i < LIM; ++i)
    {
        printf("Вы ввели %d-ую строку - %s\n", i+1, massive_of_strings[i]);
    }
    string_sort(massive_of_strings, LIM, CHAR_LIM);
 
    printf("Строки после сортировки\n");
    for(i = 0; i < LIM; ++i)
    {
        printf("%d-ая строка - %s\n", i+1, massive_of_strings[i]);
    }
return 0;
}
void string_sort(char **a, int lim, int char_lim)
{
    int i, j;
    char * temp = (char*)malloc(char_lim * sizeof(char));
 
    for(i = 0; i < lim; ++i)
    {
        for(j = lim-1; j > i; --j)
        {
            if(strcmp(a[j],a[j-1]) < 0)
            {
                strcpy(temp, a[j]);
                strcpy(a[j],a[j-1]);
                strcpy(a[j-1], temp);
            }
        }
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2017, 00:54

Ошибка сегментации
собственно прикрепляю проект (code::blocks). при запуске вылетает ошибка. почему - хз.

Ошибка сегментации
Написал программу, которая по схеме Горнера преобразует многочлен до квадратного уравнения. По...

Ошибка сегментации gcc
Здравствуйте, уважаемы форумчане) Пытаюсь реализовать шифр Плейфера. Компилируется нормально,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru