fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void zadanie8(void);
  5. char * znajdz(char *s, char c);
  6.  
  7. int main() {
  8. // your code goes here
  9. zadanie8();
  10. return 0;
  11. }
  12.  
  13. void zadanie8(void) {
  14.  
  15. //char inbuff[10];
  16. char inchar;
  17. char * wynik = NULL;
  18.  
  19. cout << "Podaj ciag znakowy do przeszukania: " << endl;
  20. //cin >> inbuff;
  21. char inbuff[] = "egeckecle";
  22. cout << "Podaj wyszukiwany znak: " << endl;
  23. //cin >> inchar;
  24. inchar = 'c';
  25. wynik = znajdz(inbuff, inchar);
  26. if (wynik != NULL) {
  27. cout << "Tekst wystepujacy po drugim wystapieniu wyszukiwanego znaku (pierwszy to szukany znak): " << endl;
  28. cout << wynik << endl;
  29. }
  30. else {
  31. cout << "Nie znaleziono drugieo wystpienia znaku!" << endl;
  32. }
  33. }
  34.  
  35. char * znajdz(char *s, char c) {
  36. char * wynik = NULL;
  37. int cnt = 0;
  38.  
  39. while (*s++ != '\0') {
  40. cout << "wartosc: " << *s
  41. << "; adres: " << (void*)s
  42. << "; napis: " << s
  43. << endl;
  44. if (*s == c) {
  45. cnt++;
  46. if (cnt == 2) {
  47. wynik = s;
  48. break;
  49. }
  50. }
  51. }
  52. return wynik;
  53. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Podaj ciag znakowy do przeszukania: 
Podaj wyszukiwany znak: 
wartosc: g; adres: 0x7ffcaf365b61; napis: geckecle
wartosc: e; adres: 0x7ffcaf365b62; napis: eckecle
wartosc: c; adres: 0x7ffcaf365b63; napis: ckecle
wartosc: k; adres: 0x7ffcaf365b64; napis: kecle
wartosc: e; adres: 0x7ffcaf365b65; napis: ecle
wartosc: c; adres: 0x7ffcaf365b66; napis: cle
Tekst wystepujacy po drugim wystapieniu wyszukiwanego znaku (pierwszy to szukany znak): 
cle