Loading...
DimovIvan avatar DimovIvan 16 Точки

"Основи на програмирането със C++"/Глава 6.1 вложени цикли-последната задача: къщичка

Защо judge не ми дава точки, при положение че програмата ми работи?

Да се напише програма, която въвежда число n (2 ≤ n ≤ 100) и печата къщичка с размери N x N, точно като в примерите.

#include<iostream>
#include<string>
#include<cmath>
using namespace std;

int main(){
int n;
cin>>n;

int star=1;
if (n%2==0){
    star++;
}
int tire=(n-star)/2;
int roofLength=ceil(n/2.0);
for (int i=0; i<roofLength; i++){
    for (int j=0; j<tire; j++){
        cout<<"_";}
    for (int j=0; j<star; j++){
        cout<<"*";}
    for (int j=0; j<tire; j++){
        cout<<"_";}
cout<<endl;
star+=2;
tire-=1;
cout<<endl;
}
int baseLength=floor(n/2.0);
for (int i=0; i<baseLength; i++){
    cout<<"|";
    for (int j=0; j<n-2; j++){
        cout<<"*";}
    cout<<"|"<<endl;
    cout<<endl;
}
return 0;
}
 

Тагове:
0
C++ Programming
RaUndreundre avatar RaUndreundre 54 Точки

Judge не ти дава точки защото кода ти има гешки и резултата ти е грешен.
Грешка 1 е "козметична". Използвал си "_" вместо "-".
Грешка 2: В кода ти има два излишни endl.
Ето го твоя код корегиран и работещ вярно:
 

#include<iostream>
#include<string>
#include<cmath>
using namespace std;

int main(){
int n;
cin>>n;

int star=1;
if (n%2==0){
    star++;
}
int tire=(n-star)/2;
int roofLength=ceil(n/2.0);
for (int i=0; i<roofLength; i++){
    for (int j=0; j<tire; j++){
        cout<<"-";}
    for (int j=0; j<star; j++){
        cout<<"*";}
    for (int j=0; j<tire; j++){
        cout<<"-";}
cout<<endl;
star+=2;
tire-=1;
}
int baseLength=floor(n/2.0);
for (int i=0; i<baseLength; i++){
    cout<<"|";
    for (int j=0; j<n-2; j++){
        cout<<"*";}
    cout<<"|";
    cout<<endl;
}
return 0;
}

 

0
DimovIvan avatar DimovIvan 16 Точки

Благодаря!

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