c++
jakubs: Jest ktoś chętny do pomocy ?
Mam funkcję:
void chunk(const char* test, char znak){
do{
if(*test==znak){
std::cout << "jest znak" << std::endl;
}
test++;
}while(*test != '\n');
}
Dla przykładowego : test = "Ala ma kota a kot ma mysz";
W odpowiedzi otrzymuję 11, a według mnie powinno byc 6.
Co robię źle ?
18 lut 02:07
jakubs: zle skopiowalem
int i = 0;
do{
if(*test1==znak){
i++;
}
test1++;
}while(*test1 != '\n');
std::cout << i << std::endl;
18 lut 02:11
KoOoX: Po pierwsze co ta funkcja ma robić? Bo wiesz założenia to jedno a wdrożenie to 2.
18 lut 02:26
jakubs: Kurde nie napisalem, funkcja ma zliczac wystapienia "znak". Probuje troszke inaczej, zobaczymy
co mi wyjdzie
18 lut 02:36
Qulka: dobrze napisane bo się domyśliłam o co chodzi
18 lut 02:43
XOXO: Spróbuj coś takiego
unsigned int get
char
numb(const char *string, const char character) {
unsigned int char
numb = 0;
unsigned int str
len = strlen(string);
unsigned int i = 0;
while(i < str
len) {
if(*string[i] == character)
char
numb++;
}
return char
numbl
}
18 lut 02:44
jakubs: Nie moge korzystac ze string−a i innych tego typu bajerow, ani dynamicznej alokacji pamieci.
Takie zadanko kiedys na jednych labroatoriach z c++ bylo i sobie cwicze
18 lut 02:47
jakubs: do{
std::cout << test1 << std::endl;
if(*(test1+i)==znak){
j++;
}
i++;
test1++;
}while(*(test1+i)!='\n');
hmm wywala duzo syfu z pamieci, kurde jak tu zrobic zeby petla konczyla sie na koncu "Ala ma
kota a kot ma mysz" ?
18 lut 02:52
Dziadek Mróz:
#include <iostream>
using namespace std;
int chunk(const char *tekst, char znak)
{
int i = 0;
int j = 0;
do
{
if (*(tekst + i) == znak)
{
cout << "Found '" << znak << "' at pos " << i << endl;
j++;
}
i++;
} while (*(tekst + i));
return j;
}
int main()
{
cout << chunk("Ala ma kota a kot ma mysz", 'a') << endl;
return 0;
}
18 lut 10:05
Dziadek Mróz:
Napis nie kończy się nową linią \n tylko znakiem \0 i wtedy zwraca 0, czyli fałsz.
18 lut 10:06
Dziadek Mróz:
To tak jakbyś chciał podać do funkcji treść książki, w której jest multum nowych linii
18 lut 10:16
jakubs: Na wiki później zobaczyłem właśnie, że \0, ale i tak mi coś dalej nie chciało wyjść.
Dzięki
18 lut 14:01