Prawdziwe oblicze Informatyki. Tysiące linijek kodu i kompilatory które nigdy nie wybaczają.
Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 949
Rejestracja: 29 sie 2013, 12:15
    Windows 8.1 Internet Explorer

Post13 paź 2013, 9:51

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;
}
Mój PC:
Intel Core i3-4170 @3.70GHz + SilentiumPC SpartanPro | MSI B85M-G43 | Zotac GeForce GTX 750 Ti 1GB | 8 GB RAM Crucial Ballistix Sport 1600Mhz 9-9-9-24| Patriot Blaze SSD 120 GB | Windows 7 x64
Apple iPhone 5s | Apple A7 @1.3 GHz | PowerVR SGX543MP3 | 1GB RAM | 16GB PAMIĘCI | iOS 10.2
Inne telefony:

Spoiler: pokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.2
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

PisarzKsiazkowicz

Moderator
Posty: 2191
Rejestracja: 27 sty 2010, 7:53
    Windows 8 Opera

Post13 paź 2013, 10:08

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");
}
ObrazekObrazek

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 949
Rejestracja: 29 sie 2013, 12:15
    Windows 8.1 Internet Explorer

Post13 paź 2013, 10:16

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;
}
Mój PC:
Intel Core i3-4170 @3.70GHz + SilentiumPC SpartanPro | MSI B85M-G43 | Zotac GeForce GTX 750 Ti 1GB | 8 GB RAM Crucial Ballistix Sport 1600Mhz 9-9-9-24| Patriot Blaze SSD 120 GB | Windows 7 x64
Apple iPhone 5s | Apple A7 @1.3 GHz | PowerVR SGX543MP3 | 1GB RAM | 16GB PAMIĘCI | iOS 10.2
Inne telefony:

Spoiler: pokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.2
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

PisarzKsiazkowicz

Moderator
Posty: 2191
Rejestracja: 27 sty 2010, 7:53
    Windows 8 Opera

Post13 paź 2013, 10:22

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.
ObrazekObrazek

Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 949
Rejestracja: 29 sie 2013, 12:15
    Windows 8.1 Internet Explorer

Post13 paź 2013, 10:25

Jeśli będziesz tak miły, to wyślij :)
Mój PC:
Intel Core i3-4170 @3.70GHz + SilentiumPC SpartanPro | MSI B85M-G43 | Zotac GeForce GTX 750 Ti 1GB | 8 GB RAM Crucial Ballistix Sport 1600Mhz 9-9-9-24| Patriot Blaze SSD 120 GB | Windows 7 x64
Apple iPhone 5s | Apple A7 @1.3 GHz | PowerVR SGX543MP3 | 1GB RAM | 16GB PAMIĘCI | iOS 10.2
Inne telefony:

Spoiler: pokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.2
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

Ult1me

Administrator
Posty: 2425
Rejestracja: 05 sie 2008, 14:48
Lokalizacja: Wrocław
Kontaktowanie:
    Windows 8.1 Opera

Post13 paź 2013, 13:05

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.
Komputery:
Spoiler: pokaż
Laptop (mój główny komputer): Acer Aspire 5750G | Intel Core i3 2330M (Sandy Bridge) 0.8-2.2GHz | Intel HM65 | 6GB RAM DDR3 | Intel HD Graphics 3000 + nVidia GeForce GT540M (nVidia Optimus) | Crucial MX100 256GB SSD | Broadcom 802.11n Network Adapter | Broadcom NetLink Gigabit Ethernet | Realtek ALC269 (+Dolby Advanced Audio)

Laptop służbowy: HP ProBook

Komputer brata (mój stary): Intel Pentium DualCore E6300 (2x 2.8@1.6-3.25 GHz EIST, 64bit, Intel-VT) | Gigabyte EP43T-UD3L (P43, ICH10) | 2x2 GB RAM DDR3 1066MHz GoodRAM | Palit GeForce GT220 | 2x500 GB (Seagate + SpinPoint F3)

Stacja do napraw: Intel Pentium 4 630 (3.00@2.43 GHz, 64bit, HT, Prescott) | ASUS P5GPL (Intel i915, ICH6) | 2x512 MB RAM DDR1 Kingston (PC-3200) | Gainward GeForce 7300 GT 256 MB DDR2 | jakiś dysk :)

Komputer na części: Intel Pentium III 600 MHz Slot 1 | ASUS P3B-F | 128 MB SDR SDRAM | GeForce 2 MX400 (?) | Seagate 8.4GB PATA

Lumia 625


Dowódca Grupy Odwetowej Mafii C-QUAM, łączącej fanów fal długich, średnich i krótkich, nak***iania kabli j**anych, France Bleu Alsace, The Mighty KBC, Voice of Korea, Warszawskiej Radiostacji Centralnej z najwyższym masztem świata Konstantynowie koło Gąbina, oraz Radiowego Centrum Nadawczego z prawie najwyższymi masztami w Solcu Kujawskim

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość