Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoże ktoś to napisać ?


Rekomendowane odpowiedzi

Opublikowano

Cześć, przerabiamy w szkole C++ lecz jak to w szkole gówno sie człowiek nauczy... I mam zadanie, mógł by ktoś pomóc ?
 
Co zrobić żeby gwiazdki zamiast 
 
****
****
****
****
 
Wyświetlały sie [na lewo]
 
****
***
**
*
 
 
oraz tutaj 2 [na prawo]
 
****
 ***
  **
   *
 
 
Tutaj mam to co robi pierwsze że 4 rzędy po 4 gwiazdki co zmienić ?



#include <iostream>

using namespace std;

int main()

{
for(int i=1;i<5;i++)
{
for(int j=1; j<5;j++)

cout<<"*";

cout<<endl;
}
return 0;
}

Tak mnie uczyli na lekcji że tak sie pisze :)

175001456602037225492.gif

Opublikowano

Popatrz jaki musisz do tego odpowiedni algorytm napisać i jakie warunki musisz dać w pętli. ZZnajomość samego języka programisty nie czyni, ważną rolę odgrywa logika i algorytmetyka. Jednym słowem: Pomyśl.

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

Ja bym to robił w forze zagnieżdżonym w while'a ala coś w ten deseń:

int a = 5;
do{
 for(int i = 0;i < a; i++)
   //kodzik
}while(--a > 0 )

bo tak wyświetla ci rząd gwiazdek 5 na 5 i nic sie nie zmienia, a sposobem moim zmniejszasz o jeden i jest git.

Nie sprawdzałem czy działa ale eksperymentuj z tym :).

 

PS. Takim forem zaprezentowanym przez ciebie fajnie robi się tabliczkę mnożenia, możesz spróbować :).

 

A i jeszcze jedno: kod zawsze dawaj w code - tak dla czytelności.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

@LeSSter dlaczego używasz pętli do while, gdzie aż się prosi o for?

 

 

Widocznie aż tak bardzo się nie prosiło, ale fora także można wykorzystać :). Anyway, ten sposób wcale nie jest gorszy. Niech już sam do tego dojdzie jak ma to wyglądać :).


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Ja bym to robił w forze zagnieżdżonym w while'a ala coś w ten deseń:

int a = 5;
do{
 for(int i = 0;i < a; i++)
   //kodzik
}while(--a > 0 )

bo tak wyświetla ci rząd gwiazdek 5 na 5 i nic sie nie zmienia, a sposobem moim zmniejszasz o jeden i jest git.

Nie sprawdzałem czy działa ale eksperymentuj z tym :).

 

PS. Takim forem zaprezentowanym przez ciebie fajnie robi się tabliczkę mnożenia, możesz spróbować :).

 

A i jeszcze jedno: kod zawsze dawaj w code - tak dla czytelności.

 

Niewiem ten typ tak nam to tłumaczył więc jeszcze nie ogarniam :/

 

Mistrzu a możesz tak to całe zrobić od początku do końca bo ja mam to na jutro przynieść. Później będe z tym kombinował xD

175001456602037225492.gif

Opublikowano

Ech... już i tak za dużą ściągawkę ci zrobiłem, nienawidzę dawać gotowców.

 

Przepisz ten program od początku do końca, zamiast forów daj mój kod, w miejscu tego komentarza kodzik daj te dwie linijki, jeden z wypisującą gwiazdką, drugi z tym endlem. Powinno śmigać.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Weteran
Opublikowano

 

Mysle ,ze zrozumisz z kodu (pozmieniaj , przeanalizuj i napewno rozkminisz jak dziala)

int n,i,j;

cin>>n;

for(j=0;j<n;j++,cout.width(j+1),cout<<'\n') //od prawej
for(i=0;i<n-j;i++)	cout<<"*";

for(j=0;j<n;j++,cout<<'\n',cout.width(j+1)) //od lewej
for(i=0;i<n-j;i++)	cout<<"*";

wtf?

Celowo piszesz tak nieczytelny kod i to w dodatku dla kogoś, kto nie ogarnia podstaw języka? Coś takiego wcale nie sprawi, że program będzie wydajniejszy. Dowiedz się czym są dobre maniery przy pisaniu kodu.

Opublikowano

Pisze dlatego ,ze tak sie nauczylem i taki mam styl (co do czytelnosci to normalne ,ze z zastosowaniem interlini jest bardziej estetyczne ,ale mi to nie przeszkadza) a tak w ogole to zamiast marnowac czas na pisanie tego posta mogles go poswiecic i wykorzystac swoje dobre maniery w celu wytlumaczenia koledze krok po kroku jak wykonac to zadanie
 

Czy ja napisalem ,ze dzieki mojemu zapisowi program jest wydajniejszy ? 

Jezeli mialbym napisac w tym wypadku wydajny program napisalbym cos mniej wiecej takiego :

ios_base::sync_with_stdio(0);

cout<<"****\n***\n**\n*";
cout<<"****\n ***\n  **\n   *";

@ Jeszcze jedno , przeczytaj post od  OczkoSX  , gdzy rowniez wydaje mi sie ,ze problem kolegi nie dotyczy znajomosci jezyka tak jak to napisales , tylko bardziej twki na wymysleniu pomyslu ,ktory pozwolilby poprawnie rozwiazac to zadanie.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...