Niezrozumienie błędu

0

To jest kod, w którym jest błąd o treści. Pewnie to jest jakieś banalne, ale totalnie nie znam tego języka, PLS HELP C :

"'count' was not declareted in this scope"

================================================

using namespace std;
int n=1;
int main()
{
   while(n<=5)
   for(n>1; n<=5; n++)
    count << "*"*n;
    return 0;
}
2

countcout

1

Po pierwsze: @kq podał przyczynę. cout to c - out a nie count z błędem. cout to standardowy strumień wyjścia. W wielu przypadkach jest to okno, w którym uruchomiony jest program, np. konsola.
Po drugie: poprawiłem kod tak, żeby się kompilował

#include <iostream>

using namespace std;

int n=1;

int main()
{
	while(n<=5)
	{
		for(n>1; n<=5; n++)
		{
			cout << "*";
		}
	}

	return 0;
}

Autor wątku pewnie jeszcze ma jakieś pytania, bo jakoś nie widzę, żeby ten kod robił coś konkretnego.

0

W tym kodzie miało chodzić o napisanie pętli która miałaby wyświetlać choinkę

1
   *
  ***
   *
  ***
 *****
   *
  ***
 *****
*******

Taka choinka?

1

Generalnie to pętle w pętlach. W C++ nie ma tak fajnie jak w Pythonie, że możesz sobie rozmnożyć stringa.

No i do stworzenia nowej linii będziesz potrzebował tego: cout << endl;

0

chodzi o zrobienie choinki małym nakładem pracy z "*"

#include <iostream>

using namespace std;

class PineTree
{
    string line( int width ) const
    {
        return string((2*size+1 - width)/2,' ') + string(width,'*') + string((2*size+1 - width)/2,' ') + '\n';
    }
    string segment( int idx ) const
    {
        string result;
        for( int k {0} ; k<idx+2 ; ++k ) result += line(2*k+1);
        return result;
    }

    friend ostream& operator<<( ostream& out , const PineTree& tree )
    {
        for( int i {0} ; i<tree.size ; ++i ) out << tree.segment(i);
        return out;
    }

public:
    int size {1};
};

int main()
{
    cout << PineTree{5};
    return 0;
}
3

Nawet w google nie chce ci się poszukać. Kod nie jest taki trudny. Masz

void drawTriangle(int triangleWidth, int indent = 0) {
	const int centre = triangleWidth >> 1;

	for (int a = 0; a <= centre; a++) {
		for (int b = 0; b < indent; b++) {
			cout << " ";
		}

		for (int b = 0; b < triangleWidth; b++) {
			if (b == centre - a || b == centre + a) {
				cout << "*";//Ten znaczek będzie po bokach
			} else {
				if (b > centre - a && b < centre + a) {
					cout << "*";//ten znaczek będzie w środku choinki
				} else {
					cout << " ";
				}
			}
		}

		cout << endl;
	}
}

void drawTree(int width = 5) {
	int indent = width >> 1;

	for (int a = 3; a <= width; a += 2) {
		drawTriangle(a, indent--);
	}
}

Możesz nawet mieć różne znaczki w środku i zmienić wyrównanie. Parametrem funkcji jest szerokość podstawy "trójkąta". Najlepiej, żeby była nieparzysta. Dalej się baw sam.

0

NIestety, kod @PerlMonk nie jest chyba poprawny (nie wiem) na screen shotcie jest napisana dokłądna przyczyna tj. "Undefined reference to 'WindMain'" i "1d returned 1 exit status"

5
tsz napisał(a):

Generalnie to pętle w pętlach. W C++ nie ma tak fajnie jak w Pythonie, że możesz sobie rozmnożyć stringa.

Pojedynczy znak można:

std::string( 5, '*' )

3
KomnatoMan napisał(a):

NIestety, kod @PerlMonk nie jest chyba poprawny (nie wiem) na screen shotcie jest napisana dokłądna przyczyna tj. "Undefined reference to 'WindMain'" i "1d returned 1 exit status"

Panowie w komentarzach dali ci podpowiedzi w czym problem. To może trochę jaśniej. Dałem ci prawie cały kod. Resztę dasz radę napisać sam. Dużo tego nie ma a widzę, że w pierwszym poście masz kilka linijek, które są potrzebne - posklejasz i zadziała. Tylko nie rób na odwal, bo to tak nie działa. Na tym forum rzadko wklejamy kod, bo chcemy pomagać a nie robić za kogoś proste zadania. Tak, to zadanie jest proste. Potem dostaniesz duuuużo trudniejsze. Wiem o czym mówię - wielu z nas zna ten ból :) .

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