Witam,
Mam problem, a dokładniej, chodzi mi o to, iż mam jakies zadania, ktore daje wykladowca i kod, jednak nie za bardzo go rozumiem i chciałbym, by ktoś pomógł mi/nakierował mnie, co mam przeczytac, co sie pouczyć by to pojac i samodzielnie zrobić.
Głównie nie rozumiem tych pętli... Niby je ogarnąłem i pojmuje, ale ten kod jest na tyle dla mnie nie zrozumiały, że szukam tu pomocy. Liczę na jakieś wskazówki, co mam poczytać, co zrobić. :)
Dzięki
1 zadanie.
Funkcja fun otrzyma jako parametry char& i char* do dwóch ciągów znaków. Zadaniem
tej funkcji będzie znalezienie najdłuższego podciągu. Jako wynik wyświetlone
zostaną wskaźniki na początek i koniec najdłuższego podciągu.
Kod, który napisał owy Profesor:
#include<iostream>
using namespace std;
void longestSubStr(char* ciag, char& znak) {
char* globalStart = 0;
int globalLength = 0;
while (*ciag) {
if (*ciag == znak) {
char* localStart = ciag;
while (*ciag == znak)
ciag++;
if (ciag - localStart > globalLength) {
globalStart = localStart;
globalLength = ciag - localStart;
}
} else
ciag++;
}
if (globalLength)
cout << globalStart << '\n'
<< globalStart + globalLength << endl;
}
int main() {
{
char* str = "aaabaacaaaa";
longestSubStr( str, *str);
}
}
2 zadanie:
Utwórz trzy tablice o rozmiarze 3 elementów i wypełnij je dowolnymi wartościami.
Następnie przygotuj trzyelementową tablicę wskaźników, której elementy będą wskazywały
tablice z liczbami. Napisz funkcję show wyświetlającą na ekranie wartości
wszystkich tablic.
Kod:
#include<iostream>
using namespace std;
void show(int** ptr) {
int** end = ptr + 3;
while (ptr < end) {
int* lend = *ptr + 3;
while (*ptr < lend) {
cout << **ptr << endl;
(*ptr)++;
}
ptr++;
}
}
int main() {
int tab1[] = { 10, 20, 30 };
int tab2[] = { 40, 50, 60 };
int tab3[] = { 70, 80, 90 };
int* tab[] = { tab1, tab2, tab3 };
show(tab);
}