[C++] Operacje na słowach
: 30 lis 2020, o 23:31
1. Napisać funkcję
która zwraca liczbę wyrazów w napisie s.
Program ten uzależnia liczbę wyrazów od liczby spacji, jednak jeżeli spacje pojawią się przed pierwszym wyrazem albo po ostatnim, albo po prostu po kolei będzie ich więcej niż jedna, to program nie działa prawidłowo, w sumie się tego spodziewałam, jednak nie mam innego pomysłu na to zadanie.
2. Napisać funkcję
która zwraca indeks pierwszego wystąpienia napisu t w s (lub -1 jeśli nie ma).
Dlaczego ta funkcja nie działa? Tutaj nie widzę żadnego powodu.
3. Napisać funkcję
która zwraca wartość liczbową napisu s.
Ta funkcja działa, gdyby było char s, natomiast z char* już nie.
Będę bardzo wdzięczna za pomoc, jeżeli ktoś będzie w stanie mi pomóc, dopiero zaczynam przygodę z programowaniem i często nie rozumiem najbardziej podstawowych rzeczy.
int ileWyrazow(char* s)która zwraca liczbę wyrazów w napisie s.
Kod: Zaznacz cały
int ileWyrazow(char* s)
{
int wyrazy=1
for (int i=0; s[i]; i++)
if (s[i]==' ') wyrazy++;
return wyrazy;
}
2. Napisać funkcję
int znajdz(char* s, char* t)która zwraca indeks pierwszego wystąpienia napisu t w s (lub -1 jeśli nie ma).
Kod: Zaznacz cały
int dlugosc(char* s) {
int i;
for(i=0; s[i]; i++);
return i;
}
int znajdz(char* s, char* t)
{
for (int i=0; i<dlugosc(s); i++)
{
if (s[i]==*t) return i;
else return -1;
}
}
3. Napisać funkcję
int liczba(char* s)która zwraca wartość liczbową napisu s.
Kod: Zaznacz cały
int liczba(char* s)
{
int n=*s-'0';
return n;
}
Będę bardzo wdzięczna za pomoc, jeżeli ktoś będzie w stanie mi pomóc, dopiero zaczynam przygodę z programowaniem i często nie rozumiem najbardziej podstawowych rzeczy.