• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Proszę o korektę kodu w zadaniu. Prawdopodobnie chodzi o umieszczenie "endl".

0 głosów
401 wizyt
pytanie zadane 21 września 2015 w C i C++ przez maciekh11 Nowicjusz (240 p.)

Każdy z poniższych punktów zrealizuj używając pętli for.
Napisz program, który wypisze na ekranie:

  • w pierwszej linii 15 gwiazdek (*)
  • w drugiej linii liczbę będącą sumą liczb od 21 do 40
  • w trzeciej linii wypisze na ekranie liczby od 30 do 20 (od największej do najmniejszej) oddzielone spacją.
#include <iostream>
using namespace std;
int suma;

int main()
{
	for (int i=1; i<=15; i++)
	{
		cout<<"*";
		
	}
	for(int i=21; i<=40; i++)
	{	suma+=i;
		cout<<" "<<suma;
	}
	for (int i=30; i>=20; i--)
	{
		cout<<" "<<i;
	}
return 0;
}

 

4 odpowiedzi

+1 głos
odpowiedź 1 stycznia 2016 przez 0rb_12 Bywalec (2,440 p.)

#include <iostream>
using namespace std;
int suma = 0;                   // z kategori dobrych zwyczajów: ustawienie wartości początkowych

int main()
{
    for (int i=1; i<=15; i++)
        {
            cout<<"*";
        }
        cout << endl;          // endl czyli "end of line" w strumieniu wyjścia

    for(int i=21; i<=40; i++)
        {   suma+=i;

        }
    cout <<suma << endl;  //  o ile ten problem zostal wyjaśniony, o tyle widze chyba jeszcze jeden, w lini nr 2 ma zostac wypisana tylko suma a nie każda liczba z której ta suma sie składa

    for (int i=30; i>=20; i--)
        {
            cout<<i<<" ";   //  Odstęp dałbym po zmiennej, pierwsza spacja w lini jest raczej nie potrzebna
        }
return 0;
}

 

0 głosów
odpowiedź 21 września 2015 przez NoName Mądrala (5,640 p.)

endl pomiędzy forami

 

for (int i=1; i<=15; i++)
    {
        cout<<"*";
         
    }

cout<<endl;

    for(int i=21; i<=40; i++)
    {   suma+=i;
        cout<<" "<<suma;
    }
cout<<endl;
    for (int i=30; i>=20; i--)
    {
        cout<<" "<<i;
    }

 

dlaczego tak?
wypisuejsz co masz wypisać dajmy na to gwiazdki ***************************, dopiero teraz przechodzisz linie w dół
i wypisujesz reszte itd

0 głosów
odpowiedź 21 września 2015 przez olsześ Gaduła (3,080 p.)

Pomiędzy pętlą musisz umieścić cout<<endl;
W ten sposób:
 

for (int i=1; i<=15; i++)
    {
        cout<<"*";
          
    }
 
cout<<endl;
 
    for(int i=21; i<=40; i++)
    {   suma+=i;
        cout<<" "<<suma;
    }

cout<<endl;

    for (int i=30; i>=20; i--)
    {
        cout<<" "<<i;
    }

 

0 głosów
odpowiedź 21 września 2015 przez DiZZie Gaduła (3,170 p.)

przed tą linią kodu

suma+=i;

musisz nadać zmiennej suma wartość 0.

komentarz 21 września 2015 przez 0e85dc6eaf Dyskutant (8,840 p.)
Nie musi, zmienne globalne są inicjalizowane zerem, poza tym on miał problem tylko z endl

Podobne pytania

0 głosów
1 odpowiedź 326 wizyt
0 głosów
3 odpowiedzi 340 wizyt
0 głosów
3 odpowiedzi 743 wizyt

93,599 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,082 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...