Loading...
dimgog avatar dimgog 2 Точки

judge-ът не отчита правилно работеща според условието на задачата Car Number програма

Програмата за задачата Car Number (виж judge.softuni.bg/Contests/Practice/Index/978#14):
// 6 Car Number.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
       int low_limit, high_limit;
       cin >> low_limit >> high_limit;
       for (int n1 = low_limit+1; n1 <= high_limit; n1 = n1+1)
       {
             for (int n4 = low_limit; n4 < n1; n4 = n4 + 1)
             {
                    for (int n2 = low_limit; n2 <= high_limit; n2++)
                    {
                           for (int n3 = low_limit; n3 <= high_limit; n3++)
                           {
                                  if ((n3 + n2)%2 == 0 && (n1-n4)%2!=0)
                                  {
                                        cout << n1 <<n2 << n3<< n4 << " ";
                                  }
                           }
                    }
             }
       }
       cout << endl;
}
извежда правилните възможни комбинации на цифрите на регистрационния номер, обаче в друга последователност.
Може би трябва да се коригира условието на задачата така, че да се фиксира изрично коя поред цифра да се върти във външен цикъл, и коя в по-вътрешен.

0
Въпроси за SoftUni
ValenNEW avatar ValenNEW 51 Точки

#include "stdafx.h"
#include <iostream>
#include "stdio.h"
using namespace std;
int main()
{
    int low_limit, high_limit;
    cin >> low_limit >> high_limit;
    for (int n1 = low_limit; n1 <= high_limit; n1++)
    {
        for (int n2 = low_limit; n2 <= high_limit; n2++)
        {
            for (int n3 = low_limit; n3 <= high_limit; n3++)
            {
                for (int n4 = low_limit; n4 <= high_limit; n4++)
                {
                    if (n1 > n4)
                    {
                        if (n1 % 2 == 0)
                        {
                            if (n4 % 2 != 0)
                            {
                                if ((n3 + n2) % 2 == 0 && (n1 - n4) % 2 != 0)
                                {
                                    cout << n1 << n2 << n3 << n4 << " ";
                                }
                            }
                        }
                        else
                        {
                            if (n4 % 2 == 0)
                            {
                                if ((n3 + n2) % 2 == 0 && (n1 - n4) % 2 != 0)
                                {
                                    cout << n1 << n2 << n3 << n4 << " ";
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    cout << endl;
    return 0;
};

0
27/04/2018 22:26:45
ValenNEW avatar ValenNEW 51 Точки

Поправка.

Би ли пробвал по този начин.

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int low_limit, high_limit;
    cin >> low_limit >> high_limit;
        for (int n1 = low_limit; n1 <= high_limit; n1++)
        {
            for (int n2 = low_limit; n2 <= high_limit; n2++)
            {
                for (int n3 = low_limit; n3 <= high_limit; n3++)
                {
                    for (int n4 = low_limit; n4 <= high_limit; n4++)
                    {
                        if (n1 % 2 == 0)
                        {
                            if (n4 % 2 !=0)
                            {
                                if (n1 > n4)
                                {
                                    if ((n3 + n2) % 2 == 0 && (n1 - n4) % 2 != 0)
                                    {
                                        cout << "" << n1 << "" << n2 << "" << n3 << "" << n4 << " ";
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (n4 % 2 == 0)
                            {
                                if (n1 > n4)
                                {
                                    if ((n3 + n2) % 2 == 0 && (n1 - n4) % 2 != 0)
                                    {
                                        cout << "" << n1 << "" << n2 << "" << n3 << "" << n4 << " ";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    cout << endl;
}

0
ValenNEW avatar ValenNEW 51 Точки

На мен продължава да си ми дава "compile time error". Не мога да помогна. Сори.

0
ValenNEW avatar ValenNEW 51 Точки

На моето "Visual Studio" програмата изпълнява задачата коректно. Но в "judge"-а не минава.

И да, изходът е този който е очакван като резултат.

0
kolioi avatar kolioi 641 Точки

Махни първия ред

#include "stdafx.h"

Не ти трябва в Джадж.

0
KaloyanGangov avatar KaloyanGangov 15 Точки

Наскоро имах подобен проблем;

Дай да пробваме следното:

ето тази част int low_limit, high_limit; може ли да я направиш ей така: 

int low_limit = 0;

int high_limit = 0;

По някаква странна причина на мен не ми ги хващеше ако не инициализирах стойностите на променливите с 0.

Дано стане. Успех!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.