Cześć, otóż mam problem z tym zadaniem, gdyź na spoju wyskakuje ciągle błąd. Użyłem sporo formuł, o których nie wiem, czy program na nie pozwala. Proszę o pomoc, gdyż nie mogę spać przez to. Z góry dziękuję
include < iostream>
include < string>
include "cstdlib"
using namespace std;
int main()
{
string pesel;
int ile;
int u = 0; //liczniki
int s = 0;
cin >> ile;
string *tablica1;
tablica1 = new string[ile]; //tablica przechowujaca pesel w stringu
int *tablica2;
tablica2 = new int[ile*11]; //tablica przechowujaca przekonwertowany pesel w int
int tab_zm[11] = {1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1}; //tablica zmiennych
int *sumy;
sumy = new int[ile]; //tablica przechowujaca sumy cyfr peselow
//ile zmiennych pesel podac (w zadaniu pesel to 11-cyfrowa liczba
for (int i = 0; i < ile; i++) //zapisanie pesel do tablica1 w formie string
{
cin >> pesel;
int dlugosc = pesel.length();
while (dlugosc != 11) //kontrola wpisania zbyt dlugiego, lub krotkiego peselu
{
cin >> pesel;
dlugosc = pesel.length();
}
tablica1[i] = pesel;
}
for (int j = 0; j < ile; j++) //pierwsza petla przechodzaca po kolejnych komorkach tablicy stringow tablica1
{
string bufor = tablica1[j]; //bufor zapisujacy string j-tej komorki tablicy tablica1
for (int k = 0; k < 11; k++)
{
char zmiennabuforowa = bufor[k]; //zmienna pomocnicza przechowujaca pojedynczy k-ty znak bufora
tablica2[u] = atoi(&zmiennabuforowa); //przekonwertowanie na int k-tego znaku z bufora do k-tej komorki tablica2
u++;
}
}
for (int f = 0; f < u; f++) //mnozenie przez stałą i grupowanie w sumy
{
sumy[s] = 0;
for (int t = 0; t < 11; t++)
{
sumy[s] += (tablica2[f] * tab_zm[t]);
f++;
}
s++;
}
for (int g = 0; g < ile; g++) //sprawdzenie, czy ostatnia cyfra liczby to 0
{
if ((sumy[g] % 10 == 0) && (sumy[g] != 0)) cout << endl << "D";
else cout << endl << "N";
}
system("pause");
return 0;
}