Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Dizb0t
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 7
1

Ошибка сегментации gcc

28.05.2011, 12:12. Просмотров 1477. Ответов 3
Метки нет (Все метки)

Здравствуйте, уважаемы форумчане)

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

Попробовал вывести отдельно массив mas... таже история... видимо проблема в нем.
Что я делаю не так?
Подскажите пожалуйста.

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
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int i,j,k,l,m,n;
char mas[5][5] = {'N','I','K','O','L','A','Y','B','C','D','E','F','G','H','J','M','P','R','S','T','U','V','W','X','Z'};
char str[] = "BLABLABLABLABLABLA";
 
typedef struct {
    int i;
    int j;
} t_id;
 
t_id search(char z) {
t_id ret;
    for (i=0;i<5;i++){
        for (j=0;j<5;j++){
            if (z==mas[i][j]) break;
        }
    }
    ret.i=i;
    ret.j=j;
    return ret;
}
 
void pleyfer() {
t_id a,b;
    for(k=0;k<18;k++){
        a = search(str[k]);
        k++;
        b = search(str[k]);
        if (a.i==b.i){
            a.j=(a.j+1)%5;
            b.j=(b.j+1)%5;
        }
        if (a.j==b.j){
            a.i=(a.i+1)%5;
            b.i=(b.i+1)%5;
        }
        if (a.i!=b.i && a.i!=b.i){
            a.i = a.i^b.i;
            b.i = a.i^b.i;
            a.i = a.i^b.i;
        }
    printf("%s%s",mas[a.i][a.j],mas[b.i][b.j]);
    }
}
 
int main() {
    pleyfer();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 12:12
Ответы с готовыми решениями:

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

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

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

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

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

3
Kastaneda
Jesus loves me
Эксперт С++
5037 / 3056 / 349
Регистрация: 12.12.2009
Сообщений: 7,710
Записей в блоге: 2
Завершенные тесты: 1
28.05.2011, 12:34 2
Проблема в строке:
C
1
printf("%s%s",mas[a.i][a.j],mas[b.i][b.j]);
printf() пытается вывести 2 строки, т.е. печатать символы пока не встретит '\0' и очевидно долго не встречает)) Нужно вот так сделать:
C
1
printf("%c%c",mas[a.i][a.j],mas[b.i][b.j]);
Добавлено через 35 секунд
И да, отладчик - полезная вещь ))
1
Dizb0t
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 7
28.05.2011, 12:45  [ТС] 3
Да, вы полностью правы.
Спасибо!!!

А по поводу отладчиков... я с *никсовыми вообще не знаком
0
ForEveR
В астрале
Эксперт С++
8005 / 4762 / 654
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
28.05.2011, 12:50 4
Dizb0t, dbg, valgrind - интересные, советую познакомиться.
1
28.05.2011, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2011, 12:50

Непонятная ошибка сегментации
Собственно код #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;unistd.h&gt; #include &lt;stdlib.h&gt;...

GSL и Windows XP: ошибка сегментации
Доброго времени суток. Я пишу дипломную работу, в которой требуется создание приложения, причем...

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


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

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

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