Mar 30, 2013 at 4:18pm UTC
Hi.
Anyone can help me with this error Message?
Thx
The program raises a runtime error
*** glibc detected *** ./prog: invalid fastbin entry (free): 0x085bb048 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6e3f1)[0xb74ca3f1]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6fc58)[0xb74cbc58]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(cfree+0x6d)[0xb74ced0d]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb764a4bf]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7472e46]
./prog[0x8048e61]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:03 6301981 /home/w51clB/prog
0804a000-0804b000 rw-p 00001000 08:03 6301981 /home/w51clB/prog
085bb000-085dc000 rw-p 00000000 00:00 0 [heap]
b7300000-b7321000 rw-p 00000000 00:00 0
b7321000-b7400000 ---p 00000000 00:00 0
b745a000-b745c000 rw-p 00000000 00:00 0
b745c000-b75b2000 r-xp 00000000 08:03 7014801 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b75b2000-b75b3000 ---p 00156000 08:03 7014801 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b75b3000-b75b5000 r--p 00156000 08:03 7014801 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b75b5000-b75b6000 rw-p 00158000 08:03 7014801 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b75b6000-b75b9000 rw-p 00000000 00:00 0
b75b9000-b75d5000 r-xp 00000000 08:03 6998923 /lib/i386-linux-gnu/libgcc_s.so.1
b75d5000-b75d6000 rw-p 0001b000 08:03 6998923 /lib/i386-linux-gnu/libgcc_s.so.1
b75d6000-b75d7000 rw-p 00000000 00:00 0
b75d7000-b75fb000 r-xp 00000000 08:03 7014829 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b75fb000-b75fc000 r--p 00023000 08:03 7014829 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b75fc000-b75fd000 rw-p 00024000 08:03 7014829 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b75fd000-b76dd000 r-xp 00000000 08:03 7537416 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b76dd000-b76e1000 r--p 000e0000 08:03 7537416 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b76e1000-b76e2000 rw-p 000e4000 08:03 7537416 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b76e2000-b76e9000 rw-p 00000000 00:00 0
b76eb000-b76ef000 rw-p 00000000 00:00 0
b76ef000-b76f0000 r-xp 00000000 00:00 0 [vdso]
b76f0000-b770c000 r-xp 00000000 08:03 6998900 /lib/i386-linux-gnu/ld-2.13.so
b770c000-b770d000 r--p 0001b000 08:03 6998900 /lib/i386-linux-gnu/ld-2.13.so
b770d000-b770e000 rw-p 0001c000 08:03 6998900 /lib/i386-linux-gnu/ld-2.13.so
bfc0e000-bfc23000 rw-p 00000000 00:00 0 [stack]
Mar 30, 2013 at 6:47pm UTC
your program has crashed. You would be better if you try to debug the code.
or you can post your code and we can help.
Mar 30, 2013 at 11:40pm UTC
Yes, of course. I try to do an exercise proposed by the book, which I'm learning C + +, as an autodidact. I thank you for your cooperation
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
int main() {
string const vocali="aeiou";
string const consonanti="bcdfghjklmnpqrstvwxyz";
string cognome;
cout << "inserisci il cognome " <<'\n';
getline(cin,cognome);
int s=cognome.length();
int z=0;
int t=0;
string cons_cogn;
string voc_cogn;
string cod_fisc_cogn;
for (int i=0;i<s+1;i++)
{
string k="0";
k[i]=consonanti.find(cognome[i],0);
if (k[i]>0)
{
z=i-t;
cons_cogn[z]=cognome[i];
}
else
{
t=i-z;
voc_cogn[t]=cognome[i];
}
if (cons_cogn.length()>2)
{
cod_fisc_cogn=cons_cogn[0]+cons_cogn[1]+cons_cogn[2];
cout << cod_fisc_cogn <<'\n';
}
}
return(0);
}
Mar 31, 2013 at 4:24am UTC
I see some issues as you are trying to put a number in string. you are trying to put things at invalid index in string.
What exactly you are trying to do in this code ?
Last edited on Mar 31, 2013 at 4:41am UTC
Mar 31, 2013 at 9:24am UTC
I try to perform an automatic calculation of the tax code. Cognome = Surname. but the program is regularly compiled. Do you think it is appropriate to use an array instead of strings?
I try to do a check of the individual characters within the string through a loop. in practice if in the control cycle, the character is a consonant, assigns the character string to "cod_fisc_cogn." I do the exercise with the only tools available to this point in the book.
(Google translate)
Bye
Last edited on Mar 31, 2013 at 9:44am UTC
Mar 31, 2013 at 8:10pm UTC
hello. I understood what you wanted to tell me and I noticed that I had put k [i], which did not help. I have improved things and now it is ok. thank you again. P.S. I count on your help. not disappear :)
Cu
Mar 31, 2013 at 8:23pm UTC
This is off-topic, but I don't get it. How come some issues get answered immediately and others like mine don't get one reply? O_o
Apr 1, 2013 at 4:43pm UTC
hmmm... when your string is empty you cannot access some index >=0. For the kind of thing, you can use string::reserve. This will keep space reserved for you and you can use index in the string even if its empty.
Rest I think you must have found the issues. good luck.
@Patriot524 - I replied to your other post.