Sprawdzanie czy dane słowo jest palindromem – "błąd wykonania"

0

Witam zadanie polega na sprawdzaniu czy dane słowo jest palindromem. Na stronie która sprawdza mi rozwiązanie wyskakuje mi błąd wykonania i nie wiem co mogę z tym zrobić. Proszę o pomoc

#include<bits/stdc++.h>
using namespace std;

bool czy=true;

void solve(string slowo)
{
	int j=slowo.size()-1;
	for(int i=0;i<=(slowo.size()/2)-1;i++)
	{
		if(slowo[i]!=slowo[j])czy=false;

		j--;
	}
	
}

int main()
{
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	
	int n;
	cin>>n; 
	string wyraz;
	for(int i=1;i<=n;i++)
	{
		cin>>wyraz;
		solve(wyraz);
		if(czy==false)cout<<"NIE\n";
		else cout<<"TAK\n";
		czy=true;
	}

	return 0;
}
0

Pozbądź się cin.tie(0);cout.tie(0); i sprawdź jeszcze raz.

PS.
W jaki sposób wywołujesz program?

2
bool czy=true;

void solve(string slowo)
{
    int j=slowo.size()-1;
    for(int i=0;i<=(slowo.size()/2)-1;i++)
    {
        if(slowo[i]!=slowo[j])czy=false;

        j--;
    }

}

Wtf, wiesz, że funkcje mogą zwracać wartości?

W samej funkcji błędu nie widzę, ale to może być przez to, że kod jest bardzo dobrze zobfuskowany.

0

nalik usunąłem to i jest to samo
błąd wyskakuje na stronie która sprawdza te zadania:
solve.edu.pl
kq nie pomyślałem o tym zaraz to poprawię

3

Haha i nie zapomnij sprawdzić jak zachowuje się Twój program (i dlaczego tak) dla stringa z jednym znakiem.

0

Dziękuję bardzo nalik poprawiłem to i już teraz działa

1 użytkowników online, w tym zalogowanych: 0, gości: 1