Strona 1 z 1
[C++] Wypisywanie n wykrzykników
: 17 gru 2011, o 22:03
autor: frrodo
Bardzo proszę o pomoc w rozwiązaniu tego zadania! Muszę go oddać w przyszłym tygodniu!
Na ćwiczeniach proste programy jakoś mi szły, a z tym jakoś nie potrafię sobie poradzić.
Treść : wyprowadzić na ekran \(\displaystyle{ n}\) wykrzykników tak, aby zaczynając od \(\displaystyle{ n}\) wykrzykników w pierwszym rzędzie, w \(\displaystyle{ n}\)-tym rzędzie uzyskać jeden wykrzyknik.
Zacząłem pisać ten program ale nie do końca działał poprawnie więc wszystko skasowałem z nerwów.
Mam nadzieję,ze ktoś pomoże.Z góry dziękuję!
[C++] Wypisywanie n wykrzykników
: 17 gru 2011, o 22:28
autor: norwimaj
Jak przeczytałem treść, to od razu sobie zamarzyłem, żeby taki program mieć. A skoro napisałem, to mogę wkleić, coby inni też mieli uciechę z oglądania tego imponującego skupiska wykrzykników.
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
char bufor[n+2];
for (int i=0; i<n; i++) bufor[i]='!';
bufor[n]='\n';
bufor[n+1]=0;
for (int i=0; i<n; i++) cout << (bufor+i);
return 0;
}
Być może da się to napisać lepiej. Tego nie wiem, bo nie jestem informatykiem. U mnie działa zadowalająco.
[C++] Wypisywanie n wykrzykników
: 17 gru 2011, o 23:35
autor: Xitami
Kod: Zaznacz cały
main(O41,O4l){if(O4l
){scanf("%d", &O41);
while(O41--)main(O41
+'/'/'/',!O4l);}else
{while(O41--)putchar
(041);puts(" ");}}
[C++] Wypisywanie n wykrzykników
: 18 gru 2011, o 12:42
autor: Afish
Xitami, to nie jest C++.
[C++] Wypisywanie n wykrzykników
: 18 gru 2011, o 14:46
autor: Xitami
to teraz wykrzyknik w C++
jedna zmienna, jedna pętelka
Kod: Zaznacz cały
#include
<iostream>
#include
<iomanip>
using
namespace
std; int
main( ) {
int O41 ;
cin>>O41;
while(O41
) cout <<
setfill (
char(041)
)<< setw(
O41--) <<
char(041)
<<char(
012);
return
0;}
[C++] Wypisywanie n wykrzykników
: 19 gru 2011, o 22:37
autor: soku11
@up:
1. U mnie nie da się łamać include na dwie linie :/
2. W C++ używa się rzutowania w stylu C++, a nie C (czyt. static_cast)
3. W normalnych aplikacjach nie używa się magicznych liczb w stylu 041. Nie wspominając już o kodzie ASCII. Takie zastępowanie liczby znakiem jest zależne od platformy.
4. Dlaczego używasz samego kodu CR (ponownie - ASCII)? Pod systemami windows znak nowej linii to CR LF. Ponownie uzależniasz się od platformy.
5. Nie wiem co ma na celu używanie takiego fikuśnego kodu...
Ludzka wersja poprzedniego:
Kod: Zaznacz cały
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main()
{
static const char FILL = '!';
int n;
cin >> n;
while(n > 0)
{
cout << setfill(FILL) << setw(n) << FILL << '\n';
--n;
}
return EXIT_SUCCESS;
}
[C++] Wypisywanie n wykrzykników
: 19 gru 2011, o 22:58
autor: Xitami
'\n' czy to jest jeden znak czy wiele?
-- 20 grudnia 2011, 09:53 --
jeszcze jedna wersja C++
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main() {
int O1, Ol;
cin >> O1;
for( Ol = O1 * (O1 + 01) / (01+01); Ol > !O1; ) {
cout << '!';
if( --Ol==O1 * (O1 - 01) / (O1/O1+01) ) {
O1--; cout << endl; }
}
return O1;
}
[C++] Wypisywanie n wykrzykników
: 3 sty 2012, o 10:11
autor: frrodo
pięknie wszystkim dziękuję za pomoc! Program działa:)
dopisałem jedynie komunikat "proszę podać ilość wykrzykników w pierwszym wierszu" w celach estetycznych. Jeszcze raz wielkie dzięki!
Kod: Zaznacz cały
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{int n;
cout<<"podaj ilosc wykrzyknikow w pierwszym wierszu:"<< endl;
cin >> n;
char bufor[n+2];
for (int i=0; i<n; i++) bufor[i]='!';
bufor[n]='\n';
bufor[n+1]=0;
for (int i=0; i<n; i++) cout << (bufor+i);
system("pause");
return 0;
}