Strona 1 z 1

[C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 10:51
autor: winuser
Mam takie zadanie :
Napisz funkcję, która pobiera dwa znaki z klawiatury i rysuje szlaczek składający się z pięćdziesięciu znaków, gdzie naprzemiennie się znaki przekazane funkcji jako argumenty. Np. *+*+*+*+*+*+*+*+*+*+
Napisałem program, ale nie potrafię poradzić sobie z faktem, że wyświetla on tylko jeden znak i za bardzo nie wiem jak "zakodować go" żeby robił to co jest w poleceniu. Pomoże mi ktoś w tym ? :(

Kod: Zaznacz cały

#include <iostream>
#include <cstdio>
using namespace std;


void szlaczek_dowolny(int i, char znak)
{
  for (int li=0; li<50; li++)
    cout << znak;
  cout << endl;
}

int main()
{

  int k;
  char zn;
  cout << "Jakie znaki? ( zmienna zn) ";
  cin >> zn;
  cout << endl;
  szlaczek_dowolny(k,zn);
  cin.ignore();
  getchar();
  return 0;
}

Re: [C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 11:08
autor: PisarzKsiazkowicz
Miałem bardzo podobny program na PSiO w tamtym roku. o.o

Ogólnie to mam wrażenie, że podajesz mu tylko jeden znak. Ja zrobiłem to po prostu tak:

Kod: Zaznacz cały

void szlaczek(char a,char b) {
     for (int i=0; i<10; i++) cout<<a<<b;
     cout<<endl<<endl;
     }

main()
{
 cout<<"Podaj znak pierwszy"<<endl;
 char a; cin>>a;
 cout<<"Podaj znak drugi"<<endl;
 char b; cin>>b;

 szlaczek(a,b);
 system("pause");
}

Re: [C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 11:16
autor: winuser
Dzięki, jesteś wielki :)

Pełny kod (może komuś się przyda):

Kod: Zaznacz cały

#include <iostream>
#include <cstdio>
using namespace std;


void szlaczek(char a,char b)
 {
     for (int i=0; i<50; i++) cout<<a<<b;
     cout<<endl<<endl;
     }

main()
{
 cout<<"Podaj znak pierwszy"<<endl;
 char a; cin>>a;
 cout<<"Podaj znak drugi"<<endl;
 char b; cin>>b;

 szlaczek(a,b);
 system("pause");

  return 0;
}

Re: [C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 11:22
autor: PisarzKsiazkowicz
Tylko nie może być "i<50" bo wtedy wyrysuje Ci 100 znaków.
W każdej pętli rysujesz dwa znaki. W takim razie, jeśli chcesz otrzymać 50, pętla powinna wykonać się 25 razy. Wysłać Ci ten cały folder z zadaniami na PSiO z tamtego roku w razie czego? Bo coś czuję, że możesz mieć podobne.

Re: [C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 11:25
autor: winuser
Jeśli będziesz tak miły, to wyślij :)

Re: [C++] Szlaczek, znaki przekazywane jako argument

: 13 paź 2013, 14:05
autor: Ult1me
PisarzKsiazkowicz pisze:Tylko nie może być "i<50" bo wtedy wyrysuje Ci 100 znaków.
W każdej pętli rysujesz dwa znaki. W takim razie, jeśli chcesz otrzymać 50, pętla powinna wykonać się 25 razy. Wysłać Ci ten cały folder z zadaniami na PSiO z tamtego roku w razie czego? Bo coś czuję, że możesz mieć podobne.
Chyba też swoje foldery z zadaniami będę wysyłał, bo jednak się przydają, a ludzie w gruncie rzeczy zadają czasem proste pytania.