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

Stack around the variable 'str' was corrupted - C++

Восстановить пароль Регистрация
 
tom-anjelo
Сообщений: n/a
19.05.2012, 16:38     Stack around the variable 'str' was corrupted #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
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h> 
 
typedef char stringtype [100];
 
int znach = 0;
int m=6;
stringtype s[6];   /*массив, который изначально считаем и заполним элементами-словами*/
int i[6];   /*массив для перебора циферок*/
stringtype a[6]; /*массив, который создали для рассмотрения промежуточных вариантов и проверки на нужные штуки*/
 
void prisvoim (stringtype &c, stringtype  d) 
{
    int r,u,j;
    r=strlen(c);
    u=strlen(d);
    for (j=0; j<u; j++)
    c[j]=d[j];
    for (j=u; j<r; j++)
    c[j]='\0'; 
    return;
}
bool y (void) 
{int t, j; 
for (t=0; t<m; t++) {for (j=0; j<t; j++) {if (i[t]==i[j]) return false;}} return true;
}
 
void g (void)
{
    int j, n;
 
stringtype str; 
    prisvoim (str,a[0]);
    for (j=1; j<m; j++)
    {
        prisvoim(str,strcat(str, a[j]));
    }
    n=strlen (str);
    znach=1;
    for (j=0; j<n/2; j++)
    {if ((str)[j]!=(str)[n-j-1]) znach=0;   }
    if (znach==1) 
     printf ("%s", str);
printf("A");
}
 
void perebor (int n, int l )
{int j;
if (znach==0)   
if (l>0) {for (i[n-l]=0; i[n-l]<m; i[n-l]++) perebor(n, l-1);}
    else {if (y()) 
                {for (j=0; j<n; j++) 
                                        prisvoim (a[j],s[i[j]]); 
                                        g();
                                        printf("Z");
}
    }
}
void main (void)
{
    int t;
    for (t=0; t<m; t++) scanf("%s",&s[t]);
    perebor(m,m);
    printf("%i\n",znach);
    if (znach==0) printf("net vosmojnosti sostavit' perevertish");
        
    getch();
}
После выполнения жалуется на стек (ошибка в названии темы). до конца функции g доходит (печатает A), но из неё нормально не выходит (Z уже не печатает). Есть идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 16:38     Stack around the variable 'str' was corrupted
Посмотрите здесь:

C++ Stack around the variable 'b' was corrupted
stack around the variable was corrupted C++
C++ Бинарные файлы и Stack around the variable was corrupted
Stack around the variable 's' was corrupted C++
C++ Stack around the variable was corrupted
C++ Stack around the variable 'cif' was corrupted
C++ Stack around the variable was corrupted
Stack around the variable 'stat_c1' was corrupted C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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