potrzebuje pomocy w znalezieniu blędu

0

mam napisany taki program gdy testuje go w codeblocksie wyniki sa poprawne ale gdy wrzucam do testera na putty są złe. nie wiem o co chodzi? ktoś może wie co zrobić?
polecenie:

Test wyboru limit czasu 1s; limit pamięci 32 MB

Franek pisze egzamin z Informatyki. Egzamin jest w formie testu wyboru z czterema odpowiedziami do każdego
pytania – trzeba wybrać jedną prawidłową odpowiedź. Niestety Franek nie jest przygotowany do egzaminu,
więc postanowił, że będzie udzielał odpowiedzi według jakiegoś schematu, nie wnikając w treść zadań. Wymyślił następujący schemat:

  • Jesli któraś odpowiedź jest przynajmniej dwukrotnie dłuższa lub przynajmniej dwukrotnie krótsza od wszystkich pozostałych, wtedy powinno się ją wybrać (o ile jest tylko jedna taka odpowiedź).
  • Jeśli nie ma takiej odpowiedzi, jak powyżej (dokładnie jednej), wtedy wybiera się zawsze odpowiedz A.

Napisz program, który generuje odpowiedzi do testu według powyższego schematu.

Wejście:

Dane wejściowe to cztery wiersze tekstu – każdy z nich zawiera przedrostek ”A.”, ”B.”, ”C.” lub ”D.” (w
tej własnie kolejności) oraz odpowiedź o długości do 100 znaków, zawierajacą litery alfabetu łacinskiego i znaki
podkreślenia ” ” (nie ma tam spacji). Długosci przedrostka nie wlicza się do długości odpowiedzi.

Wyjście:

Program powinien wypisać literę A, B, C lub D oznaczajacą wybraną odpowiedź.

Przykład 1.

Wejście

A.Stolica Wenezueli to Caracas
B.Caracas jest stolica Wenezueli
C.Wenezuela ma stolice i jest nia Caracas
D.Carramba

Wyjście

D

Przykład 2.

Wejście

A.Merlin
B.Morgana
C.Baba Jaga
D.Gandalf

Wyjście

A

moj program:

#include <iostream>
#include<cstdlib>
#include <cmath>
#include <cstdio>
#include<sstream>
#include <string>


using namespace std;

int main()
{

   string a,b,c,d;
   int tab[4];

   getline(cin,a);
   getline(cin,b);
   getline(cin,c);
   getline(cin,d);

   tab[0]=a.length()-2;
   tab[1]=b.length()-2;
   tab[2]=c.length()-2;
   tab[3]=d.length()-2;


    if(tab[0]<=(tab[1]/2)&&tab[0]<=(tab[2]/2)&&tab[0]<=(tab[3]/2)) cout<<"A";

    else
        if(tab[3]>=2*tab[1]&&tab[3]>=2*tab[2]&&tab[3]>=2*tab[0]) cout<<"D";

    else
        if(tab[3]<=(tab[1]/2)&&tab[3]<=(tab[2]/2)&&tab[3]<=(tab[0]/2)) cout<<"D";

    else
        if(tab[0]>=2*tab[1]&&tab[0]>=2*tab[2]&&tab[0]>=2*tab[3]) cout<<"A";
    else
        if(tab[1]<=(tab[0]/2)&&tab[1]<=(tab[2]/2)&&tab[1]<=(tab[3]/2)) cout<<"B";

    else
        if(tab[1]>=2*tab[3]&&tab[1]>=2*tab[2]&&tab[1]>=2*tab[0]) cout<<"B";
    else
        if(tab[2]<=(tab[1]/2)&&tab[2]<=(tab[0]/2)&&tab[2]<=(tab[3]/2)) cout<<"C";

    else
        if(tab[2]>=2*tab[1]&&tab[2]>=2*tab[3]&&tab[2]>=2*tab[0]) cout<<"C";
    else
        cout<<"A";



    return 0;
}

0

Przykład 3.
Wejście

A.Stefan
B.Hermenegilda
C.Ala
D.Aldona

Wyjście ?

0

dobra juz nie wazne, ogarnelam to

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