Witam czy byłby mi ktoś w stanie powiedzieć gdzie znajduje się błąd?
Wiem, że SIGSEGV oznacza że wyszedłem poza zarezerwowaną pamięć ale nie widzę gdzie.
Pozdrawiam
edit: dodam tylko, że w Dev-c++ wszystko działa
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
char poprawny(string pesel) {
char* cyfry;
int suma = 0;
for(int i=0;i<11;i++) {
cyfry[i] = pesel[i];
switch(i) {
case 0: case 4: case 8: case 10:
suma += (cyfry[i] - '0') * 1;
break;
case 1: case 5: case 9:
suma += (cyfry[i] - '0') * 3;
break;
case 2: case 6:
suma += (cyfry[i] - '0') * 7;
break;
case 3: case 7:
suma += (cyfry[i] - '0') * 9;
break;
}
}
if(suma > 0 && (suma % 10 == 0)) return 'D';
else return 'N';
}
int main() {
int ile;
string pesel;
cin >> ile;
for(int i=0;i<ile;i++) {
cin >> pesel;
cout << poprawny(pesel) << endl;
}
return 0;
}