<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Przyszły Programista - Najnowsze pytania i odpowiedzi w C++</title>
<link>http://forum.przyszlyprogramista.pl/?qa=qa/c-plus-plus</link>
<description>Powered by Question2Answer</description>
<item>
<title>Odpowiedź: Aplikacja Budżetowa obiektowo</title>
<link>http://forum.przyszlyprogramista.pl/?qa=2068/aplikacja-bud%C5%BCetowa-obiektowo&amp;show=2072#a2072</link>
<description>Jeśli chodzi o zapisywanie do xml to u mnie było podobnie z tego co pamiętam (nie zapisywało liczb po przecinku).&lt;br /&gt;
&lt;br /&gt;
Pomogła zamiana double w str, ustawienie precyzji wyświetlania do 2 miejsc po przecinku i zapisanie stringa do xml (nie double bezpośrednio).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringstream ss;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ss &amp;lt;&amp;lt; fixed &amp;lt;&amp;lt; setprecision(2) &amp;lt;&amp;lt; newOperation.amount;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string str = ss.str();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xml.AddElem(&amp;quot;Amount&amp;quot;, str);</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=2068/aplikacja-bud%C5%BCetowa-obiektowo&amp;show=2072#a2072</guid>
<pubDate>Tue, 14 Jan 2025 13:55:25 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Książka adresowa obiektowo -error: expected class-name before</title>
<link>http://forum.przyszlyprogramista.pl/?qa=2006/ksi%C4%85%C5%BCka-adresowa-obiektowo-error-expected-class-name-before&amp;show=2007#a2007</link>
<description>&lt;p&gt;Cześć,&lt;/p&gt;

&lt;p&gt;Może brakuje odpowiednich nagłówków na początku w plikach PlikTekstowy albo są błędnie zapisane. Czyli w pliku .h powinnaś mieć:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#ifndef PLIKTEKSTOWY_H
#define PLIKTEKSTOWY_H&lt;/pre&gt;

&lt;p&gt;A w .cpp:&lt;/p&gt;

&lt;p&gt;#include &quot;PlikTekstowy.h&quot;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=2006/ksi%C4%85%C5%BCka-adresowa-obiektowo-error-expected-class-name-before&amp;show=2007#a2007</guid>
<pubDate>Mon, 08 Jul 2024 20:48:48 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: SPOJ - Lamacz GG</title>
<link>http://forum.przyszlyprogramista.pl/?qa=2001/spoj-lamacz-gg&amp;show=2002#a2002</link>
<description>&lt;p&gt;Jeżeli program działa i zwraca co trzeba to where problem ? Wyglada na fajnie, przemyślanie napisany a jednocześnie kod jest czytelny i prosty - świetna robota.&lt;/p&gt;

&lt;p&gt;Zostawiam jako ciekawostkę:&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;unordered_map&amp;gt;
#include &amp;lt;string_view&amp;gt;
#include &amp;lt;stdexcept&amp;gt;

void validateLength(const std::string_view input) {
    if (input.size() != 20) {
        throw std::invalid_argument(&quot;Password must contain exactly 20 characters.&quot;);
    }
}

void validateCharacters(const std::string_view input, const std::unordered_map&amp;lt;char, size_t&amp;gt;&amp;amp; alphabetMap) {
    for (char c : input) {
        if (alphabetMap.find(c) == alphabetMap.end()) {
            throw std::invalid_argument(&quot;Password contains invalid characters. Only 'A' to 'P' are allowed.&quot;);
        }
    }
}

void decodeGG(const std::string_view input) {
    constexpr std::string_view alphabet = &quot;ABCDEFGHIJKLMNOP&quot;;
    
    std::unordered_map&amp;lt;char, size_t&amp;gt; alphabetMap;
    for (size_t index = 0; index &amp;lt; alphabet.size(); ++index) {
        alphabetMap[alphabet[index]] = index;
    }

    validateLength(input);
    validateCharacters(input, alphabetMap);

    for (size_t index = 0; index &amp;lt; input.size(); index += 2) {
        size_t firstCharValue = alphabetMap[input[index]];
        size_t secondCharValue = alphabetMap[input[index + 1]] * 16;
        size_t result = firstCharValue + secondCharValue;
        
        std::cout &amp;lt;&amp;lt; static_cast&amp;lt;char&amp;gt;(result);
    }
    std::cout &amp;lt;&amp;lt; '\n';
}

int main() {
    std::string password{};
    while (std::cin &amp;gt;&amp;gt; password) {
        try {
            decodeGG(password);
        } catch (const std::invalid_argument&amp;amp; e) {
            std::cerr &amp;lt;&amp;lt; &quot;Error: &quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; '\n';
        }
    }
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;EDIT - Twój program dla przypadku nr 3 na SPOJ zwraca `obozoxisko` - zobacz, czy poprawnie mapujesz literki.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=2001/spoj-lamacz-gg&amp;show=2002#a2002</guid>
<pubDate>Mon, 01 Jul 2024 20:20:18 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: SPOJ PTROL-ROL</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1993/spoj-ptrol-rol&amp;show=1994#a1994</link>
<description>&lt;p&gt;Cześć,&lt;/p&gt;

&lt;p&gt;Mi się zdaje, że problem leży w funkcji przesunElementyTablicy . Bo zauważ, że najpierw przesuwasz wartości tablicy - tablica[i], a potem ostatni element zamieniasz na pierwszy, ale to jest pierwszy po tym przesunięciu, dlatego zamiast 1 masz 2. Więc może najpierw przed przesunięciem zadeklaruj pierwszą wartość.&lt;/p&gt;

&lt;p&gt;Można to np. tak zapisać:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
int pierwszyElement = tablica[0]; 
    for (int i = 0; i &amp;lt; rozmiar - 1; i++)
    {
        tablica[i] = tablica[i + 1]; 
    }
    tablica[rozmiar - 1] = pierwszyElement;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Na marginesie, tutaj po usunięciu tablicy, przypisuje się jej wartość NULL.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1993/spoj-ptrol-rol&amp;show=1994#a1994</guid>
<pubDate>Wed, 05 Jun 2024 13:10:20 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: id użytkowników w pliku xml</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1987/id-u%C5%BCytkownik%C3%B3w-w-pliku-xml&amp;show=1988#a1988</link>
<description>Spróbuj użyć debuggera - on najlepiej pokaże Ci jak działa program i gdzie leży błąd.</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1987/id-u%C5%BCytkownik%C3%B3w-w-pliku-xml&amp;show=1988#a1988</guid>
<pubDate>Sat, 01 Jun 2024 20:54:54 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: C++ SPOJ Glutton - Obżartuchy</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1984/c-spoj-glutton-ob%C5%BCartuchy&amp;show=1985#a1985</link>
<description>&lt;p&gt;W ostaniej linijce powinno być:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
 cout &amp;lt;&amp;lt; result &amp;lt;&amp;lt; endl;&lt;/pre&gt;

&lt;p&gt;Hope will help.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1984/c-spoj-glutton-ob%C5%BCartuchy&amp;show=1985#a1985</guid>
<pubDate>Mon, 27 May 2024 12:48:45 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Książka adresowa obiektowo - brak zapisanych zmian w pliku</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1972/ksi%C4%85%C5%BCka-adresowa-obiektowo-brak-zapisanych-zmian-w-pliku&amp;show=1973#a1973</link>
<description>Problem leży w tym, jak otwierasz plik - zdaje się, że oprócz ios::out powinno być również ios::in.&lt;br /&gt;
&lt;br /&gt;
Hope will help.</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1972/ksi%C4%85%C5%BCka-adresowa-obiektowo-brak-zapisanych-zmian-w-pliku&amp;show=1973#a1973</guid>
<pubDate>Mon, 13 May 2024 16:39:12 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Przeliczanie kursu walut - wyświetla wiele miejsc po przecinku</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1964/przeliczanie-kursu-walut-wy%C5%9Bwietla-wiele-miejsc-przecinku&amp;show=1965#a1965</link>
<description>&lt;p&gt;Nie bardzo rozumiem, co chcesz osiągnąć, ale może trafiłem:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;sstream&amp;gt;
#include &amp;lt;iomanip&amp;gt;

std::string konwersjaDoubleNaString(double liczba) {
    std::ostringstream ss;
    ss &amp;lt;&amp;lt; std::fixed &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; liczba;
    return ss.str();
}

std::string konwertujKwoteNaEuro(std::string &amp;amp;zdanie, size_t pozycjaPocz, size_t pozycjaKon) {
    const double EUR = 4.12;
    double kwotaPLN = std::stod(zdanie.substr(pozycjaPocz, pozycjaKon - pozycjaPocz + 1));
    double kwotaEUR = kwotaPLN / EUR;
    zdanie.replace(pozycjaPocz, pozycjaKon - pozycjaPocz + 1, konwersjaDoubleNaString(kwotaEUR));
    return zdanie;
}

std::string zamienPLNnaEUR(std::string &amp;amp;zdanie) {
    size_t found = zdanie.find(&quot;PLN&quot;);
    while (found != std::string::npos) {
        zdanie.replace(found, 3, &quot;EUR&quot;);
        found = zdanie.find(&quot;PLN&quot;, found + 3);
    }
    return zdanie;
}

std::string przeliczNaEuroPoKursie(std::string &amp;amp;zdanie) {
    size_t pozycjaPocz = 0, pozycjaKon = 0;
    for (size_t i = 0; i &amp;lt; zdanie.length(); i++) {
        if (isdigit(zdanie[i]) != 0 &amp;amp;&amp;amp; !isdigit(zdanie[i - 1]) &amp;amp;&amp;amp; !isdigit(zdanie[i - 2])) {
            pozycjaPocz = i;
        }
        if (isdigit(zdanie[i]) != 0 &amp;amp;&amp;amp; !isdigit(zdanie[i + 1]) &amp;amp;&amp;amp; !isdigit(zdanie[i + 2])) {
            pozycjaKon = i;
            konwertujKwoteNaEuro(zdanie, pozycjaPocz, pozycjaKon);
            i = pozycjaKon + 10;
            pozycjaPocz = 0;
            pozycjaKon = 0;
        }
    }
    return zamienPLNnaEUR(zdanie);
}

int main() {
    std::string zdanie;
    std::getline(std::cin, zdanie);
    std::cout &amp;lt;&amp;lt; std::endl &amp;lt;&amp;lt; przeliczNaEuroPoKursie(zdanie);
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Jednocześnie podobny efekt można uzyskać znacznie skracając logikę Twojego kodu:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;regex&amp;gt;
#include &amp;lt;sstream&amp;gt;
#include &amp;lt;iomanip&amp;gt;
#include &amp;lt;stdexcept&amp;gt;

constexpr double EXCHANGE_RATE = 4.12;

double convertPLNtoEUR(double amountPLN) {
    if (amountPLN &amp;lt; 0) {
        throw std::invalid_argument(&quot;PLN amount cannot be negative.&quot;);
    }
    return amountPLN / EXCHANGE_RATE;
}

std::string convertPLNtoEURString(const std::string&amp;amp; input) {
    static const std::regex regexPLN(R&quot;((\d+(\.\d+)?)PLN)&quot;);
    std::smatch match;
    if (std::regex_search(input, match, regexPLN)) {
        try {
            double amountPLN = std::stod(match[1]);
            double amountEUR = convertPLNtoEUR(amountPLN);
            std::ostringstream ss;
            ss &amp;lt;&amp;lt; std::fixed &amp;lt;&amp;lt; std::setprecision(2) &amp;lt;&amp;lt; amountEUR &amp;lt;&amp;lt; &quot;EUR&quot;;
            return ss.str();
        } catch (const std::invalid_argument&amp;amp; e) {
            return e.what();
        }
    }
    return &quot;Invalid input.&quot;;
}

int main() {
    std::string input{};
    std::getline(std::cin, input);
    try {
        std::cout &amp;lt;&amp;lt; convertPLNtoEURString(input) &amp;lt;&amp;lt; std::endl;
    } catch (const std::exception&amp;amp; e) {
        std::cerr &amp;lt;&amp;lt; &quot;Error: &quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; std::endl;
    }
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Zostawiam jako ciekawostkę.&lt;br&gt;
Hope will help.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1964/przeliczanie-kursu-walut-wy%C5%9Bwietla-wiele-miejsc-przecinku&amp;show=1965#a1965</guid>
<pubDate>Tue, 07 May 2024 20:36:41 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: 'PlikZAdresatami' does not name a type</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1933/plikzadresatami-does-not-name-a-type&amp;show=1955#a1955</link>
<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Jako że udało mi się uporać z tym problemem, chciałabym podzielić się moimi spostrzeżeniami co do tego (może komuś się to przyda w przypadku podobnego problemu): otóż problem całkowicie zniknął, gdy jeszcze raz utworzyłam go zupełnie na nowo w nowym folderze i tutaj uwaga - to w jakim folderze znajdują się pliki z rozszerzeniem .h ma znaczenie, ponieważ, jak plik główny utworzyłam właśnie w tym folderze, a pozostałe pliki cpp i h były w pewnym innym folderze i wtedy przy próbie kompilacji programu pojawiał się błąd przy nagłówkach plików z rozszerzeniami .h - program nie znajdował tych plików. Po przeniesieniu ich do tego folderu z plikiem main, program się skompilował. Sama do końca nie rozumiem, dlaczego dopiero utworzenie tego projektu na nowo pozwoliło pozbyć się błędu opisanego w tytule, pomimo że zawartość plików była identyczna, ale na pewno wniosek z tego taki, że musiałam zrobić coś nie tak podczas usuwania plików z repozytorium serwera zdalnego, a potem próby pobrania go do lokalnego, przez co jakoś ten plikZAdresatami.cpp/h się popsuł.. :)&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1933/plikzadresatami-does-not-name-a-type&amp;show=1955#a1955</guid>
<pubDate>Sat, 06 Apr 2024 10:07:30 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Zadanie FLAMASTER - wersja odwrócona</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1944/zadanie-flamaster-wersja-odwr%C3%B3cona&amp;show=1950#a1950</link>
<description>&lt;p&gt;Natomiast, Twoja poprawiona wersja może wyglądać tak:&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;cctype&amp;gt;

using namespace std;

int konwersjaStringNaInt(string liczbaWyraz)
{
    if (liczbaWyraz.empty())
        return 0; 
    return stoi(liczbaWyraz);
}

string odtworzWyraz(string skroconyWyraz)
{
    string odtworzonyWyraz{};
    int dlugosc = skroconyWyraz.length();

    for (int i = 0; i &amp;lt; dlugosc; ++i)
    {
        if (isalpha(skroconyWyraz[i]))
        {
            char litera = skroconyWyraz[i];
            int iloscPowtorzenZnaku = 1;

            while (i + 1 &amp;lt; dlugosc &amp;amp;&amp;amp; isdigit(skroconyWyraz[i + 1]))
            {
                iloscPowtorzenZnaku = skroconyWyraz[i + 1] - '0';
                i++;
            }

            for (int j = 0; j &amp;lt; iloscPowtorzenZnaku; ++j)
            {
                odtworzonyWyraz += litera;
            }
        }
    }

    return odtworzonyWyraz;
}


int main()
{
    string skroconyWyraz{};

    cout &amp;lt;&amp;lt; &quot;Podaj skrocony wyraz: &quot;;
    cin &amp;gt;&amp;gt; skroconyWyraz;

    cout &amp;lt;&amp;lt; &quot;Odtworzony wyraz: &quot; &amp;lt;&amp;lt; odtworzWyraz(skroconyWyraz) &amp;lt;&amp;lt; endl;

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Lub w wersji upgrade:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;cctype&amp;gt;
#include &amp;lt;stdexcept&amp;gt;

int convertStringToInt(const std::string&amp;amp; str) {
    try {
        return std::stoi(str);
    } catch (const std::invalid_argument&amp;amp; e) {
        std::cerr &amp;lt;&amp;lt; &quot;Invalid argument: &quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; '\n';
        return 0;
    } catch (const std::out_of_range&amp;amp; e) {
        std::cerr &amp;lt;&amp;lt; &quot;Out of range: &quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; '\n';
        return 0;
    }
}

std::string reconstructWord(const std::string&amp;amp; abbreviatedWord) {
    std::string reconstructedWord{};
    for (std::size_t i{0}; i &amp;lt; abbreviatedWord.length(); ++i) {
        if (std::isalpha(abbreviatedWord[i])) {
            char letter{abbreviatedWord[i]};
            int repetitions{1};

            while (i + 1 &amp;lt; abbreviatedWord.length() &amp;amp;&amp;amp; std::isdigit(abbreviatedWord[i + 1])) {
                repetitions = convertStringToInt(abbreviatedWord.substr(i + 1, 1));
                ++i;
            }

            reconstructedWord.append(repetitions, letter);
        }
    }
    return reconstructedWord;
}

int main() {
    std::string abbreviatedWord{};

    std::cout &amp;lt;&amp;lt; &quot;Enter the abbreviated word: &quot;;
    std::cin &amp;gt;&amp;gt; abbreviatedWord;

    std::string reconstructedWord = reconstructWord(abbreviatedWord);
    if (!reconstructedWord.empty()) {
        std::cout &amp;lt;&amp;lt; &quot;Reconstructed word: &quot; &amp;lt;&amp;lt; reconstructedWord &amp;lt;&amp;lt; '\n';
    } else {
        std::cerr &amp;lt;&amp;lt; &quot;Failed to reconstruct the word.\n&quot;;
    }

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Kolejny raz zachęcam do korzystania z wbudowanych funkcji C++, bardzo ułatwia to kodowanie - unikamy wymyślania koła na nowo.Wierzę, że kod będzie dla Cb zrozumiały. Hope will help again.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1944/zadanie-flamaster-wersja-odwr%C3%B3cona&amp;show=1950#a1950</guid>
<pubDate>Thu, 04 Apr 2024 08:38:41 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: pobieranie id zalogowanego użytkownika</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1910/pobieranie-id-zalogowanego-u%C5%BCytkownika&amp;show=1911#a1911</link>
<description>&lt;p&gt;Popraw na:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void logowanieUzytkownika() {
        std::cout &amp;lt;&amp;lt; &quot;Podaj login: &quot;;
        std::string login = metodyPomocnicze.wczytajLinie();
 
        for (const auto&amp;amp; uzytkownik : uzytkownicy) {
            if (uzytkownik.pobierzLogin() == login) {
                for (int iloscProb = 3; iloscProb &amp;gt; 0; iloscProb--) {
                    std::cout &amp;lt;&amp;lt; &quot;Podaj haslo. Pozostalo prob: &quot; &amp;lt;&amp;lt; iloscProb &amp;lt;&amp;lt; &quot;: &quot;;
                    std::string haslo = metodyPomocnicze.wczytajLinie();
 
                    if (uzytkownik.pobierzHaslo() == haslo) {
                        std::cout &amp;lt;&amp;lt; &quot;Zalogowales sie.&quot; &amp;lt;&amp;lt; std::endl;
                        idZalogowanegoUzytkownika = uzytkownik.pobierzId();
                        return;
                    }
                }
                throw std::runtime_error(&quot;Wprowadzono 3 razy bledne haslo.&quot;);
            }
        }
        throw std::runtime_error(&quot;Nie ma uzytkownika z takim loginem.&quot;);
    }
};
&lt;/pre&gt;

&lt;p&gt;I powinno śmigać. U Cb brakuje obiektu przed metodami pobierzLogin() oraz pobierzHaslo().&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1910/pobieranie-id-zalogowanego-u%C5%BCytkownika&amp;show=1911#a1911</guid>
<pubDate>Thu, 21 Mar 2024 20:50:48 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: tworzenie obiektu klasy w funkcji main</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1900/tworzenie-obiektu-klasy-w-funkcji-main&amp;show=1901#a1901</link>
<description>Pokaż plik Użytkownik menedżer.h oraz cpp</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1900/tworzenie-obiektu-klasy-w-funkcji-main&amp;show=1901#a1901</guid>
<pubDate>Sat, 16 Mar 2024 17:43:46 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Aplikacja budżetowa - błąd w konstruktorze</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1893/aplikacja-bud%C5%BCetowa-b%C5%82%C4%85d-w-konstruktorze&amp;show=1894#a1894</link>
<description>Cześć Kamil,&lt;br /&gt;
&lt;br /&gt;
Z tego co widzę, to konstruktor klasy ResourcesFile przyjmuje 2 argumenty, a w ServiceManagerze podajesz po jednym argumencie, dlatego kompilator wywala Ci, że nie znalazł takiej funkcji.</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1893/aplikacja-bud%C5%BCetowa-b%C5%82%C4%85d-w-konstruktorze&amp;show=1894#a1894</guid>
<pubDate>Thu, 14 Mar 2024 14:05:00 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Zadanie SPOJ MWP2_1E - Szpieg - nie przyjęto rozwiązania</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1888/zadanie-spoj-mwp2_1e-szpieg-nie-przyj%C4%99to-rozwi%C4%85zania&amp;show=1889#a1889</link>
<description>&lt;p&gt;Hej, popraw na :&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;stdexcept&amp;gt;

void displaySortedWords(const std::vector&amp;lt;std::string&amp;gt;&amp;amp; words) {
    for (const auto&amp;amp; word : words)
        std::cout &amp;lt;&amp;lt; word &amp;lt;&amp;lt; std::endl;
}

void readInput(std::vector&amp;lt;std::string&amp;gt;&amp;amp; words) {
    std::string singleWord{};
    while (std::getline(std::cin, singleWord)) {
        if (singleWord.empty()) {
            break;
        }
        words.push_back(singleWord);
    }
}

bool compareWords(const std::string&amp;amp; a, const std::string&amp;amp; b) {
    return a &amp;lt; b;
}

void sortWords(std::vector&amp;lt;std::string&amp;gt;&amp;amp; words) {
    std::sort(words.begin(), words.end(), compareWords);
}

int main() {
    try {
        std::vector&amp;lt;std::string&amp;gt; words{};
        readInput(words);

        if (words.empty()) {
            std::cerr &amp;lt;&amp;lt; &quot;No words entered!&quot; &amp;lt;&amp;lt; std::endl;
            return 1;
        }
        sortWords(words);

        displaySortedWords(words);
    } catch (const std::exception&amp;amp; e) {
        std::cerr &amp;lt;&amp;lt; &quot;Error: &quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; std::endl;
        return 1;
    }

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Hope will help. Jedna kosmetyczna zmiana w Twoim kodzie również by wystarczyła:&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
bool porownajWyrazy(const string &amp;amp;a, const string &amp;amp;b)
{
    return a &amp;lt; b;
}&lt;/pre&gt;

&lt;p&gt;&lt;img alt=&quot;wink&quot; src=&quot;https://forum.przyszlyprogramista.pl/qa-plugin/ckeditor4/plugins/smiley/images/wink_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;wink&quot;&gt;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1888/zadanie-spoj-mwp2_1e-szpieg-nie-przyj%C4%99to-rozwi%C4%85zania&amp;show=1889#a1889</guid>
<pubDate>Tue, 12 Mar 2024 08:47:52 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: seminarium Książka adresowa obiektowo - plik .gitignore</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1880/seminarium-ksi%C4%85%C5%BCka-adresowa-obiektowo-plik-gitignore&amp;show=1881#a1881</link>
<description>Cześć, jeśli już te pliki znalazły się w jakimś commicie i później dodałaś je do .gitignore, to one nadal będą widoczne w repozytorium, tylko nie będą śledzone zmiany, które w nich dokonasz.&lt;br /&gt;
&lt;br /&gt;
Wygląda na to, że ta odpowiedź ze Stack Overflow może Ci pomóc: &lt;a href=&quot;https://stackoverflow.com/a/2047477&quot; rel=&quot;nofollow&quot;&gt;https://stackoverflow.com/a/2047477&lt;/a&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1880/seminarium-ksi%C4%85%C5%BCka-adresowa-obiektowo-plik-gitignore&amp;show=1881#a1881</guid>
<pubDate>Wed, 06 Mar 2024 09:45:28 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Aplikacja budżetowa - problem z załadowaniem wektora</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1863/aplikacja-bud%C5%BCetowa-problem-z-za%C5%82adowaniem-wektora&amp;show=1876#a1876</link>
<description>W lini 43 masz zbędną spację w cudzysłowie po &amp;quot;userId &amp;quot;. Być może przez to nie znajduje, elementu i&lt;br /&gt;
&lt;br /&gt;
strXML = workingFile.GetData();&lt;br /&gt;
&lt;br /&gt;
operation.userId = stoi(strXML); &lt;br /&gt;
&lt;br /&gt;
przyjmują wartości elementu znalezionego wyżej? (linia 37)</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1863/aplikacja-bud%C5%BCetowa-problem-z-za%C5%82adowaniem-wektora&amp;show=1876#a1876</guid>
<pubDate>Mon, 04 Mar 2024 14:49:23 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Autouzupełnianie w Code Blocks</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1856/autouzupe%C5%82nianie-w-code-blocks&amp;show=1864#a1864</link>
<description>Dzięki serdeczne za wszystkie rady! - na razie ściągnąłem po prostu najnowszego nightly builda i tam widzę, że nie mam tych problemów, ale z czasem chyba przerzucę się na Visual Studio, jak polecił Artur :)&lt;br /&gt;
&lt;br /&gt;
Pozdrawiam,</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1856/autouzupe%C5%82nianie-w-code-blocks&amp;show=1864#a1864</guid>
<pubDate>Mon, 04 Mar 2024 11:26:06 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Błąd bad_alloc przy logowaniu</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1829/b%C5%82%C4%85d-bad_alloc-przy-logowaniu&amp;show=1830#a1830</link>
<description>&lt;p&gt;Bad alloc sugeruje, że dłubiesz po pamięci do której nie masz dostępu - pewnie jakiś infinite loop. Popraw na:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void logowanieUzytkownika() {
        std::cout &amp;lt;&amp;lt; &quot;Podaj login: &quot;;
        std::string login = metodyPomocnicze.wczytajLinie();

        for (const auto&amp;amp; uzytkownik : uzytkownicy) {
            if (uzytkownik.pobierzLogin() == login) {
                for (int iloscProb = 3; iloscProb &amp;gt; 0; iloscProb--) {
                    std::cout &amp;lt;&amp;lt; &quot;Podaj haslo. Pozostalo prob: &quot; &amp;lt;&amp;lt; iloscProb &amp;lt;&amp;lt; &quot;: &quot;;
                    std::string haslo = metodyPomocnicze.wczytajLinie();

                    if (uzytkownik.pobierzHaslo() == haslo) {
                        std::cout &amp;lt;&amp;lt; &quot;Zalogowales sie.&quot; &amp;lt;&amp;lt; std::endl;
                        idZalogowanegoUzytkownika = uzytkownik.pobierzId();
                        return;
                    }
                }
                throw std::runtime_error(&quot;Wprowadzono 3 razy bledne haslo.&quot;);
            }
        }
        throw std::runtime_error(&quot;Nie ma uzytkownika z takim loginem.&quot;);
    }
};&lt;/pre&gt;

&lt;p&gt;I powinno śmigać. Możesz zamienić zwracany&amp;nbsp;&amp;nbsp;typ metody void na np int i zwracać idZalogowanegoUzytkownika z tej metody - na pewno będzie to bardziej eleganckie rozwiązanie.&amp;nbsp;Hope will help.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1829/b%C5%82%C4%85d-bad_alloc-przy-logowaniu&amp;show=1830#a1830</guid>
<pubDate>Wed, 14 Feb 2024 20:05:44 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: brak edycji danych</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1815/brak-edycji-danych&amp;show=1816#a1816</link>
<description>&lt;p&gt;Przepisałbym na:&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void przepiszDaneAdresataPoEdycjiLubUsunieciuDoPliku(const vector&amp;lt;Adresat&amp;gt;&amp;amp; adresaci) {
    ofstream tymczasowyPlik(&quot;Adresaci_tymczasowy.txt&quot;, ios::out | ios::app);
    if (!tymczasowyPlik.is_open()) {
        throw runtime_error(&quot;Problem z otwarciem pliku tymczasowego.&quot;);
    }

    for (const auto&amp;amp; itr : adresaci) {
        tymczasowyPlik &amp;lt;&amp;lt; itr.idAdresata &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.idZalogowanegoUzytkownika &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.imie &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.nazwisko &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.mail &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.numerTelefonu &amp;lt;&amp;lt; &quot;|&quot;
                       &amp;lt;&amp;lt; itr.adresZamieszkania &amp;lt;&amp;lt; &quot;|\n&quot;;
    }

    tymczasowyPlik.close();
    if (remove(&quot;ksiazkaAdresowa.txt&quot;) != 0 || rename(&quot;Adresaci_tymczasowy.txt&quot;, &quot;ksiazkaAdresowa.txt&quot;) != 0) {
        throw runtime_error(&quot;Problem podczas aktualizacji pliku.&quot;);
    }
}

void edytujDaneAdresata(int idAktualnieZalogowanegoUzytkownika) {
    vector&amp;lt;Adresat&amp;gt; adresaci = wczytajDaneKazdegoAdresataZPliku(idAktualnieZalogowanegoUzytkownika);
    int idWybranegoAdresata = 0;
    bool adresatZnaleziony = false;

    if (!adresaci.empty()) {
        cout &amp;lt;&amp;lt; &quot;Prosze podac numer ID adresata, ktorego chcesz edytowac:&quot; &amp;lt;&amp;lt; endl;
        idWybranegoAdresata = wczytajLiczbeCalkowita();

        for (auto&amp;amp; itr : adresaci) {
            if (itr.idZalogowanegoUzytkownika == idAktualnieZalogowanegoUzytkownika &amp;amp;&amp;amp; itr.idAdresata == idWybranegoAdresata) {
                adresatZnaleziony = true;
                cout &amp;lt;&amp;lt; &quot;Wybierz, ktora informacje chcesz edytowac:&quot; &amp;lt;&amp;lt; endl;
                cout &amp;lt;&amp;lt; &quot;1. Imie&quot; &amp;lt;&amp;lt; endl;
                cout &amp;lt;&amp;lt; &quot;2. Nazwisko&quot; &amp;lt;&amp;lt; endl;
                cout &amp;lt;&amp;lt; &quot;3. E-mail&quot; &amp;lt;&amp;lt; endl;
                cout &amp;lt;&amp;lt; &quot;4. Adres zamieszkania&quot; &amp;lt;&amp;lt; endl;
                cout &amp;lt;&amp;lt; &quot;5. Numer telefonu&quot; &amp;lt;&amp;lt; endl;

                char wybor = wczytajZnak();
                switch (wybor) {
                    case '1':
                        cout &amp;lt;&amp;lt; &quot;Podaj nowe imie: &quot;;
                        itr.imie = pobierzLinie();
                        itr.imie = zamianaPierwszejLiteryNaDuzaResztyNaMala(itr.imie);
                        cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Imie zostalo zmienione&quot; &amp;lt;&amp;lt; endl;
                        break;
                    case '2':
                        cout &amp;lt;&amp;lt; &quot;Podaj nowe nazwisko: &quot;;
                        itr.nazwisko = pobierzLinie();
                        itr.nazwisko = zamianaPierwszejLiteryNaDuzaResztyNaMala(itr.nazwisko);
                        cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Nazwisko zostalo zmienione&quot; &amp;lt;&amp;lt; endl;
                        break;
                    case '3':
                        cout &amp;lt;&amp;lt; &quot;Podaj nowy e-mail: &quot;;
                        itr.mail = pobierzLinie();
                        cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Adres e-mail zostal zmieniony&quot; &amp;lt;&amp;lt; endl;
                        break;
                    case '4':
                        cout &amp;lt;&amp;lt; &quot;Podaj nowy adres zamieszkania: &quot;;
                        itr.adresZamieszkania = pobierzLinie();
                        cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Adres zamieszkania zostal zmieniony&quot; &amp;lt;&amp;lt; endl;
                        break;
                    case '5':
                        cout &amp;lt;&amp;lt; &quot;Podaj nowy numer telefonu: &quot;;
                        itr.numerTelefonu = pobierzLinie();
                        cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Numer telefonu zostal zmieniony&quot; &amp;lt;&amp;lt; endl;
                        break;
                    default:
                        cout &amp;lt;&amp;lt; &quot;Niepoprawny wybor. Sprobuj wybrac jeszcze raz&quot; &amp;lt;&amp;lt; endl;
                        break;
                }

                przepiszDaneAdresataPoEdycjiLubUsunieciuDoPliku(adresaci);
            }
        }

        if (!adresatZnaleziony) {
            cout &amp;lt;&amp;lt; &quot;Nie ma adresata z takim numerem ID.&quot; &amp;lt;&amp;lt; endl;
            Sleep(1000);
        }
    } else {
        cout &amp;lt;&amp;lt; &quot;Pusta ksiazka adresowa.&quot; &amp;lt;&amp;lt; endl;
        Sleep(1500);
    }
}

&lt;/pre&gt;

&lt;ul&gt;
	&lt;li&gt;Przeniosłem funkcję przepiszDaneAdresataPoEdycjiLubUsunieciuDoPliku poza pętlę edycji adresata, aby uniknąć wielokrotnego zapisywania danych,&lt;/li&gt;
	&lt;li&gt;Uzupełniłem kod o obsługę błędów - teraz łatwiej namierzysz problem,&lt;/li&gt;
	&lt;li&gt;Usunąłem również duplikacje kodu przy otwieraniu/zamykaniu pliku&lt;br&gt;
	&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1815/brak-edycji-danych&amp;show=1816#a1816</guid>
<pubDate>Sun, 21 Jan 2024 16:28:15 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Seminarium 15, wyzwanie 5 - dekompresor tekstu</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1786/seminarium-15-wyzwanie-5-dekompresor-tekstu&amp;show=1787#a1787</link>
<description>Czy możesz przypomnieć treść zadania oraz wkleić co już masz zakodowane ?</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1786/seminarium-15-wyzwanie-5-dekompresor-tekstu&amp;show=1787#a1787</guid>
<pubDate>Fri, 27 Oct 2023 12:10:51 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: SPOJ FR_02_06 - BMI (seminarium 15)</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1752/spoj-fr_02_06-bmi-seminarium-15&amp;show=1754#a1754</link>
<description>&lt;p&gt;Ja mam może nie pomysł ale taką myśl, że straaaaasznie kombinujesz. Jak dla mnie kod jest mega nieczytelny, over-engineering...itp. Niech kod robi kilka rzeczy:&lt;br&gt;
&lt;br&gt;
1. Wczytanie danych&lt;br&gt;
&lt;br&gt;
2. Obliczenie BMI na podstawie wczytanych danych&lt;br&gt;
&lt;br&gt;
3.Podział do odpowiedniego koszyka ze względu na BMI&lt;br&gt;
&lt;br&gt;
4.Wyświetlenie podsumowania&lt;br&gt;
&lt;br&gt;
I Voila !&lt;/p&gt;

&lt;p&gt;Coś takiego;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;vector&amp;gt;
 
using namespace std;
 
struct Person
{
    string forename{};
    size_t weight{};
    size_t height{};
    double BMI{};
};
 
double calculateBMI_Index(const Person&amp;amp; person) {
    return person.weight / ((person.height / 100.0) * (person.height / 100.0));
}
 
void addNewPerson(vector&amp;lt;Person&amp;gt;&amp;amp; singlePerson)
{
    Person individualPerson;
    cout &amp;lt;&amp;lt; &quot;Podaj imie/wage[kg]/wzrost[cm]&quot; &amp;lt;&amp;lt; '\n';
    cin &amp;gt;&amp;gt; individualPerson.forename &amp;gt;&amp;gt; individualPerson.weight &amp;gt;&amp;gt; individualPerson.height;
    individualPerson.BMI = calculateBMI_Index(individualPerson);
    singlePerson.push_back(individualPerson);
}
 
void rateLevelOfObesityBasedOnBmi (vector &amp;lt;Person&amp;gt;&amp;amp; singlePerson, vector &amp;lt;string&amp;gt;&amp;amp; peopleWithUnderweight, vector &amp;lt;string&amp;gt;&amp;amp; peopleWithCorrectWeight,vector &amp;lt;string&amp;gt;&amp;amp; peopleWtihOverweight)
{
    for (const auto&amp;amp; person : singlePerson)
    {
        person.BMI &amp;lt; 18.5 ? peopleWithUnderweight.push_back(person.forename): void() ;
        (person.BMI &amp;gt;= 18.5) &amp;amp;&amp;amp; (person.BMI &amp;lt; 25) ? peopleWithCorrectWeight.push_back(person.forename) : void();
        person.BMI &amp;gt;= 25 ? peopleWtihOverweight.push_back(person.forename) : void();
    }
}
 
void displayPeople(const vector&amp;lt;string&amp;gt;&amp;amp; people, const string&amp;amp; label) {
    cout &amp;lt;&amp;lt; label &amp;lt;&amp;lt; '\n';
    for (const auto&amp;amp; person : people) {
        cout &amp;lt;&amp;lt; person &amp;lt;&amp;lt; endl;
    }
    cout &amp;lt;&amp;lt; '\n';
}
 
int main()
{
    size_t numberOfPeople{};
    vector &amp;lt;Person&amp;gt; singlePerson;
    vector&amp;lt;string&amp;gt; underweight;
    vector&amp;lt;string&amp;gt; correctWeight;
    vector&amp;lt;string&amp;gt; overweight;

    cout &amp;lt;&amp;lt; &quot;Ile badanych osob: &quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; numberOfPeople;
    for(size_t index{}; index &amp;lt; numberOfPeople; ++index)
    {
        addNewPerson(singlePerson);
    }
    rateLevelOfObesityBasedOnBmi (singlePerson, peopleWithUnderweight, peopleWithCorrectWeight, peopleWtihOverweight);
    if (!numberOfPeople) return 0;
    cout &amp;lt;&amp;lt; '\n';
    displayPeople(underweight, &quot;niedowaga&quot;);
    displayPeople(correctWeight, &quot;wartosc prawidlowa&quot;);
    displayPeople(overweight, &quot;nadwaga&quot;);
 
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1752/spoj-fr_02_06-bmi-seminarium-15&amp;show=1754#a1754</guid>
<pubDate>Tue, 22 Aug 2023 10:10:05 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: SPOJ - PRIME_T - Liczby Pierwsze</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1751/spoj-prime_t-liczby-pierwsze&amp;show=1753#a1753</link>
<description>&lt;p&gt;Popraw na :&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
using namespace std;

bool checkIfPrime(int number) {
    if (number &amp;lt;= 1)
        return false;
    for (int i = 2; i * i &amp;lt;= number; i++) {
        if (number % i == 0)
            return false;
    }
    return true;
}

int main() {
    int tests;
    cin &amp;gt;&amp;gt; tests;
    for (int i = 0; i &amp;lt; tests; i++) {
        int numberToCheck;
        cin &amp;gt;&amp;gt; numberToCheck;
        cout &amp;lt;&amp;lt; (checkIfPrime(numberToCheck) ? &quot;TAK&quot; : &quot;NIE&quot;) &amp;lt;&amp;lt; endl;
    }
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;I powinno być git. Hope will help. Refactor in your own.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1751/spoj-prime_t-liczby-pierwsze&amp;show=1753#a1753</guid>
<pubDate>Tue, 22 Aug 2023 10:02:50 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: spoj Wieża - tylko u mnie działa :(</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1747/spoj-wie%C5%BCa-tylko-u-mnie-dzia%C5%82a&amp;show=1750#a1750</link>
<description>Zmienne h, r, n - są z tekstu spoja wzięte. Sorki, że jednoliterkowce, ale chyba nie tak trudno się odnaleźć, patrząc na zadanie.</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1747/spoj-wie%C5%BCa-tylko-u-mnie-dzia%C5%82a&amp;show=1750#a1750</guid>
<pubDate>Tue, 22 Aug 2023 09:38:00 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: CALC_Kalkulator</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1696/calc_kalkulator&amp;show=1708#a1708</link>
<description>&lt;p&gt;Program poprawiłem i ten który zamieszczam poniżej działa prawidłowo. Niepotrzebna jest wprowadzona liczba testów. Na początku zadania&amp;nbsp;jest określone: &quot;Na wejście programu podana zostanie pewna &lt;strong&gt;nieokreślona liczba zestawów danych&lt;/strong&gt;.&quot;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

using namespace std;

int wykonajObliczenie(char symbolOperacji, int pierwszaLiczba, int drugaLiczba)
{
  int wynikDzialania;
  switch(symbolOperacji)
        {
            case '+': wynikDzialania = pierwszaLiczba + drugaLiczba ; break;
            case '-': wynikDzialania = pierwszaLiczba - drugaLiczba ; break;
            case '*': wynikDzialania = pierwszaLiczba * drugaLiczba ; break;
            case '/': wynikDzialania = pierwszaLiczba / drugaLiczba ; break;
            case '%': wynikDzialania = pierwszaLiczba % drugaLiczba ; break;
        };
  return wynikDzialania;
}

int main()
{
  char symbol;
  int pierwsza, druga;
  while (cin &amp;gt;&amp;gt; symbol)
  {
    cin &amp;gt;&amp;gt; pierwsza &amp;gt;&amp;gt; druga;
    cout &amp;lt;&amp;lt; wykonajObliczenie(symbol, pierwsza, druga) &amp;lt;&amp;lt; endl;
  }    
  return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;lt;&amp;gt;&amp;lt;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1696/calc_kalkulator&amp;show=1708#a1708</guid>
<pubDate>Wed, 28 Jun 2023 18:44:33 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: zmodyfikowany program flamaster</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1680/zmodyfikowany-program-flamaster&amp;show=1683#a1683</link>
<description>&lt;p&gt;A ja podpowiem tak:&lt;/p&gt;

&lt;p&gt;To zadanie wbrew pozorom nie jest wcale trudne. Jowita, polecam Ci przepisać zadanie z seminarium Artura (wersja podstawowa) i dobrze się mu przyjrzeć. Zobaczysz tam, że Artur oblicza ile liter się powtarza,&amp;nbsp;przypisuje to do zmiennej, a potem wykonuje skracanie.&lt;/p&gt;

&lt;p&gt;Jeśli wstawimy sobie tam dodatkową zmienną, która określi od ilu liter skracamy, to jeśli w prostej instrukcji warunkowej&amp;nbsp;&lt;strong&gt;if&lt;/strong&gt;&amp;nbsp;wstawimy polecenie, by kod sprawdził czy ilość powtarzających się liter jest większa od ilości liter, kod której mamy skracać, zadanie będzie tak naprawdę skończone&amp;nbsp;&lt;img alt=&quot;smiley&quot; src=&quot;https://forum.przyszlyprogramista.pl/qa-plugin/ckeditor4/plugins/smiley/images/regular_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;smiley&quot;&gt;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1680/zmodyfikowany-program-flamaster&amp;show=1683#a1683</guid>
<pubDate>Fri, 16 Jun 2023 12:25:55 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Aplikacja budżetowa - zamiana przecinka na kropkę</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1614/aplikacja-bud%C5%BCetowa-zamiana-przecinka-na-kropk%C4%99&amp;show=1638#a1638</link>
<description>&lt;p&gt;One liner:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void replaceCommaByPoint(string &amp;amp;str) {
    replace(str.begin(), str.end(), ',', '.');
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1614/aplikacja-bud%C5%BCetowa-zamiana-przecinka-na-kropk%C4%99&amp;show=1638#a1638</guid>
<pubDate>Fri, 02 Jun 2023 06:11:17 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: funkcje własne - tablice</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1617/funkcje-w%C5%82asne-tablice&amp;show=1620#a1620</link>
<description>&lt;p&gt;Echhhh… człowiek chce pomóc to mu dadzą kciuk w dół&amp;nbsp;&lt;img alt=&quot;sad&quot; src=&quot;https://forum.przyszlyprogramista.pl/qa-plugin/ckeditor4/plugins/smiley/images/sad_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;sad&quot;&gt;&amp;nbsp;Może drugi sposób z użyciem std::array zaplusuje ?&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include&amp;lt;array&amp;gt;
using namespace std;

std::array&amp;lt;int,5&amp;gt; functionToReturnArray() 
{
    std::array&amp;lt;int,5&amp;gt; arrayToReturn;
    
	for(size_t index{}; index&amp;lt;5; ++index)
	{
		arrayToReturn[index] = index;
	}

    return arrayToReturn;
}

int main() 
{
	std::array&amp;lt;int,5&amp;gt; defaultArray;
	
	defaultArray=functionToReturnArray(); 
	
	cout&amp;lt;&amp;lt;&quot;The Array is : &quot;;
	for(size_t index{}; index&amp;lt;5; ++index)
	{
		cout&amp;lt;&amp;lt;defaultArray[index]&amp;lt;&amp;lt;&quot;\t&quot;;
	}
	
	return 0;
}&lt;/pre&gt;

&lt;p&gt;Prawda, że łatwiej niż kombinowanie ze wskaźnikami ? Pozdrawiam Pawła.&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1617/funkcje-w%C5%82asne-tablice&amp;show=1620#a1620</guid>
<pubDate>Fri, 26 May 2023 19:14:25 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: Aplikacja do prowadzenia budżetu osobistego - pobranie daty</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1602/aplikacja-do-prowadzenia-bud%C5%BCetu-osobistego-pobranie-daty&amp;show=1605#a1605</link>
<description>Czas systemowy chciałem pobrać.&lt;br /&gt;
Dzięki za podpowiedź.</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1602/aplikacja-do-prowadzenia-bud%C5%BCetu-osobistego-pobranie-daty&amp;show=1605#a1605</guid>
<pubDate>Wed, 03 May 2023 17:21:44 +0000</pubDate>
</item>
<item>
<title>Odpowiedź: książka adresowa po raz kolejny :/</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1588/ksi%C4%85%C5%BCka-adresowa-po-raz-kolejny&amp;show=1595#a1595</link>
<description>&lt;p&gt;Wczytywanie z pliku z jednoczesnym dodaniem do vectora możesz rozwiązać np tak:&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;sstream&amp;gt;

using namespace std;

struct Person {
    int id{};
    string firstName{};
    string lastName{};
    string phoneNumber{};
    string email{};
    string city{};
};

vector&amp;lt;Person&amp;gt; readDataFromFile(const string&amp;amp; filename) {
    vector&amp;lt;Person&amp;gt; people;

    ifstream file(filename);
    if (!file.is_open()) {
        cerr &amp;lt;&amp;lt; &quot;Failed to open file: &quot; &amp;lt;&amp;lt; filename &amp;lt;&amp;lt; endl;
        return people;
    }

    string line{};
    while (getline(file, line)) {
        Person person;
        stringstream ss(line);

        string idStr{};
        getline(ss, idStr, '|');
        person.id = stoi(idStr);

        getline(ss, person.firstName, '|');
        getline(ss, person.lastName, '|');

        getline(ss, person.phoneNumber, '|');

        getline(ss, person.email, '|');
        getline(ss, person.city, '|');

        people.push_back(person);
    }
    file.close();
    return people;
}

int main() {
    vector&amp;lt;Person&amp;gt; people = readDataFromFile(&quot;data.txt&quot;);

    for (const auto&amp;amp; person : people) {
        cout &amp;lt;&amp;lt; person.id &amp;lt;&amp;lt; &quot;, &quot; &amp;lt;&amp;lt; person.firstName &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; person.lastName &amp;lt;&amp;lt; &quot;, &quot;
             &amp;lt;&amp;lt; person.phoneNumber &amp;lt;&amp;lt; &quot;, &quot; &amp;lt;&amp;lt; person.email &amp;lt;&amp;lt; &quot;, &quot; &amp;lt;&amp;lt; person.city &amp;lt;&amp;lt; endl;
    }

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1588/ksi%C4%85%C5%BCka-adresowa-po-raz-kolejny&amp;show=1595#a1595</guid>
<pubDate>Mon, 24 Apr 2023 13:41:51 +0000</pubDate>
</item>
<item>
<title>Seminarium 11 - merge sort - error 0xC0000374</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1582/seminarium-11-merge-sort-error-0xc0000374</link>
<description>&lt;p&gt;Witam&lt;/p&gt;

&lt;p&gt;Uruchamiam kod algorytmu Merge sort udostępniony w seminarium. Program działa poprawnie i sortuje tablicę, jednak na końcu programu wyskakuję błąd &quot;Process returned -1073740940 (0xC0000374)&quot;. W seminarium wszystko działało poprawnie ( Process returned 0 (0x0)).&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Rozumiem, że problem powstaję przez operator delete [] tablica,&amp;nbsp;który kasuje tablicę utworzoną na początku programu, ponieważ błąd nie pojawia się gdy usunę tą linijkę.&lt;/p&gt;

&lt;p&gt;Nie mogę dojść jak skasować tablicę na końcu programu i&amp;nbsp;jak naprawić wyskakujący błąd.&lt;/p&gt;

&lt;p&gt;Poniżej kod:&lt;/p&gt;

&lt;pre class=&quot;brush:plain;&quot;&gt;
#include&amp;lt;iostream&amp;gt;
#include&amp;lt;windows.h&amp;gt;
using namespace std;

void scalanie(int tablica[], int start, int srodek, int koniec)
{
    cout &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;SCALANIE: &quot; &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; start &amp;lt;&amp;lt; &quot;]=&quot; &amp;lt;&amp;lt; tablica[start] &amp;lt;&amp;lt;&quot; &quot;;
    cout &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; srodek &amp;lt;&amp;lt; &quot;]=&quot; &amp;lt;&amp;lt; tablica[srodek] &amp;lt;&amp;lt;&quot; &quot;;
    cout &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; koniec &amp;lt;&amp;lt; &quot;]=&quot; &amp;lt;&amp;lt; tablica[koniec] &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
    system(&quot;pause&quot;);

    int *tab_pom = new int[(koniec-start+1)]; // utworzenie tablicy pomocniczej
    int i = start, j = srodek+1, k = 0; // zmienne pomocnicze

    while (i &amp;lt;= srodek &amp;amp;&amp;amp; j &amp;lt;= koniec)
    {
        if (tablica[j] &amp;lt; tablica[i])
        {
            tab_pom[k] = tablica[j];
            j++;
        }
        else
        {
            tab_pom[k] = tablica[i];
            i++;
        }
        k++;
    }

    if (i &amp;lt;= srodek)
    {
        while (i &amp;lt;= srodek)
        {
            tab_pom[k] = tablica[i];
            i++;
            k++;
        }
    }
    else
    {
        while (j &amp;lt;= koniec)
        {
            tab_pom[k] = tablica[j];
            j++;
            k++;
        }
    }

    for (i = 0; i &amp;lt;= koniec-start; i++)
        tablica[start+i] = tab_pom[i];

    delete [] tab_pom;
}

void SortowaniePrzezScalanie(int tablica[], int start, int koniec)
{
    cout &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;DZIELENIE: &quot; &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; start &amp;lt;&amp;lt; &quot;]=&quot; &amp;lt;&amp;lt; tablica[start] &amp;lt;&amp;lt;&quot; &quot;;
    cout &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; koniec &amp;lt;&amp;lt; &quot;]=&quot; &amp;lt;&amp;lt; tablica[koniec] &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
    system(&quot;pause&quot;);

    int srodek;

    if (start != koniec)
    {
        srodek = (start + koniec)/2;
        SortowaniePrzezScalanie(tablica, start, srodek);
        SortowaniePrzezScalanie(tablica, srodek+1, koniec);
        scalanie(tablica, start, srodek, koniec);
    }
}

bool czyTablicaJestPosortowana(int tablica[], int iloscLiczb)
{
    bool posortowana = true;
    for (int i = 0; i &amp;lt; iloscLiczb-1; i++) { if (tablica[i] &amp;gt; tablica[i+1])
            posortowana = false;
    }
    return posortowana;
}

void wypiszElementyTablicy(int tablica[], int iloscElementow)
{
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;Wypisuje tablice: &quot;;
    for (int i = 0; i &amp;lt; iloscElementow; i++)
        cout &amp;lt;&amp;lt; tablica[i] &amp;lt;&amp;lt; &quot; &quot;;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
    system(&quot;pause&quot;);
}

int main()
{
    int i;
    int iloscLiczb = 7;
    int tablica[iloscLiczb]= {38,27,43,3,9,82,10}; // tablica zawierajaca ciag wejsciowy


    SortowaniePrzezScalanie(tablica, 0, iloscLiczb-1);

    if (czyTablicaJestPosortowana(tablica,iloscLiczb) == true)
        cout &amp;lt;&amp;lt; &quot;TAK. Tablica jest posortowana.&quot; &amp;lt;&amp;lt; endl;
    else
        cout &amp;lt;&amp;lt; &quot;NIE. Tablica nie jest posortowana.&quot; &amp;lt;&amp;lt; endl;



    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &quot;wynik:&quot; &amp;lt;&amp;lt; endl;
    for (i = 0; i &amp;lt; iloscLiczb; i++) // wypisanie posortowanej tablicy
        cout &amp;lt;&amp;lt; &quot;tablica[&quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot;] = &quot; &amp;lt;&amp;lt; tablica[i] &amp;lt;&amp;lt; endl;

    // zwolnienie tablicy zaalokowanej dynamicznie
    delete [] tablica;

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1582/seminarium-11-merge-sort-error-0xc0000374</guid>
<pubDate>Thu, 20 Apr 2023 12:01:53 +0000</pubDate>
</item>
<item>
<title>Zadanie SPOJ - CALC</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1572/zadanie-spoj-calc</link>
<description>&lt;p&gt;Cześć :))&lt;br&gt;
SPOJ przyjął moje rozwiązanie zadania CALC (&lt;a href=&quot;https://pl.spoj.com/problems/CALC/),&quot; rel=&quot;nofollow&quot;&gt;https://pl.spoj.com/problems/CALC/),&lt;/a&gt; ale niejasny jest dla mnie trochę warunek kiedy pętla DO WHILE ma się zakończyć.&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;

using namespace std;

int main()
{
    string operationType;
    int num1, num2;

    do
    {
        cin &amp;gt;&amp;gt; operationType;
        cin &amp;gt;&amp;gt; num1;
        cin &amp;gt;&amp;gt; num2;

        if (operationType == &quot;+&quot;)
            cout &amp;lt;&amp;lt; num1 + num2 &amp;lt;&amp;lt; endl;
        else if (operationType == &quot;-&quot;)
            cout &amp;lt;&amp;lt; num1 - num2 &amp;lt;&amp;lt; endl;
        else if (operationType == &quot;*&quot;)
            cout &amp;lt;&amp;lt; num1 * num2 &amp;lt;&amp;lt; endl;
        else if (operationType == &quot;/&quot;)
            cout &amp;lt;&amp;lt; num1 / num2 &amp;lt;&amp;lt; endl;
        else if (operationType == &quot;%&quot;)
            cout &amp;lt;&amp;lt; num1 % num2 &amp;lt;&amp;lt; endl;

    } while (getline(cin, operationType));

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;Testowałem 3 różne warunki:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) while (getline(cin, operationType)) -&amp;nbsp;&lt;/strong&gt;jedyny warunek, który mi działa poprawnie. Tylko czy to nie jest tak, że ten warunek oznacza, że cały wprowadzony wiersz (np. + 7 9) jest wpisany do jednej zmiennej operationType?&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) while (cin &amp;gt;&amp;gt; operationType) -&amp;nbsp;&lt;/strong&gt;po pierwszym&amp;nbsp;zestawie danych program się kończy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) while (cin &amp;gt;&amp;gt; operationType &amp;gt;&amp;gt; num1 &amp;gt;&amp;gt; num2)&lt;/strong&gt; - Poprawnie działa tylko co drugi zestaw danych, a wydaje mi się ten zapis poprawniejszy od 1)&lt;/p&gt;

&lt;p&gt;Będę wdzięczny za wyjaśnienie tych 3 warunków lub podpowiedź w jaki sposób zapisać to lepiej.&lt;/p&gt;

&lt;p&gt;Dzięki!&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1572/zadanie-spoj-calc</guid>
<pubDate>Fri, 14 Apr 2023 11:37:36 +0000</pubDate>
</item>
<item>
<title>SPOJ PRIME_T - Liczby Pierwsze</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1532/spoj-prime_t-liczby-pierwsze</link>
<description>&lt;p&gt;Siemka,&lt;br&gt;
&lt;br&gt;
Nie uwierzycie, siedzę nad tym prawie całe popołudnie.&lt;br&gt;
&lt;br&gt;
Zaczęłam bardzo hardkorowo, ale ostatecznie okazało się, że nie jest to skomplikowane zadanie do momentu konieczności zapętlenia na samym początku (podanie liczby testów). W moim programie poprzez exit(0) kończę pętlę gdy liczba nie jest pierwszą (ResztaDzielenia = 0). Ale to się gryzie z koniecznością sprawdzenia kolejnej liczby z zadanej puli testów.&lt;br&gt;
&lt;br&gt;
Dajcie podpowiedzi bo zniechęca mnie to zadanie jak dawno nic :p&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;math.h&amp;gt;

using namespace std;

int WyznaczanieMaxDzielnikaPrzedzialu(int a)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float b = sqrt(a);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int c = int(b);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return c;
}

int main()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int n;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cin &amp;gt;&amp;gt; n;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int j=1; j&amp;lt;=n; j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int ResztaDzielenia;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cin &amp;gt;&amp;gt; x;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int z = WyznaczanieMaxDzielnikaPrzedzialu(x);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (x == 1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; &quot;NIE&quot; &amp;lt;&amp;lt; endl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i = 2; i &amp;lt;= z; i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResztaDzielenia = x%i;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ResztaDzielenia == 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; &quot;NIE&quot; &amp;lt;&amp;lt; endl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; &quot;TAK&quot; &amp;lt;&amp;lt; endl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1532/spoj-prime_t-liczby-pierwsze</guid>
<pubDate>Sun, 12 Mar 2023 19:06:30 +0000</pubDate>
</item>
<item>
<title>Apka finansowa, (nie)widoczna wartość wektora</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1526/apka-finansowa-nie-widoczna-warto%C5%9B%C4%87-wektora</link>
<description>&lt;p&gt;Witajcie,&lt;/p&gt;

&lt;p&gt;szybkie streszczenie problemu i szybkie pytanie.&lt;br&gt;
&lt;br&gt;
Od wczoraj tłukę się z odpowiednim przeliczeniem przychodów/wydatków. Poprosiłem o pomoc ChatGPT, przez chwilę myślałem że pomogło, jednak okazało się że iterowałem po całym wektorze, a nie po posortowanym. W czym jest szkopuł:&lt;br&gt;
obecnie kiedy zaloguje się, wyświetla prawidłowo bilans obecnego miesiąca. W momencie kiedy dodam przychód, mój program świruje i &quot;nie widzi&quot; nowych danych wprowadzonych do wektora, pomimo tego, że jak wy'cout'uje wszystkie przychody, to ostatni przychód widzi, ale go nie dodaje do pozostałych. Jak tylko zrobie reloga, wszystko działa jak należy spowrotem.&lt;br&gt;
Tak jakbym nie aktualizował vectora za każdym razem jak dodam przychod/wydatek, ale jednak on tam jest i widnieje :V.&lt;/p&gt;

&lt;p&gt;Czy nie powinienem dodać w konstruktorze klasy Balance jakiegoś aktualizatora?&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
float Balance::current_month_income(Income income) {

    float income_float = 0;

    if (income.get_date_in_int() &amp;gt;= Helpful_Methods::date_without_dashes_in_int(Date::get_fuly_beginning_date_of_current_month()) &amp;amp;&amp;amp; income.get_date_in_int() &amp;lt;= Helpful_Methods::date_without_dashes_in_int(Date::get_current_data_from_PC())) {

        income_float = Helpful_Methods::string_to_float_conversion(income.get_incomes_amount());

        return income_float;

    } else return 0;
}

&lt;/pre&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void Balance::display_current_months_balance(vector &amp;lt;Income&amp;gt; incomes, vector &amp;lt;Expense&amp;gt; expenses) {
    
    SYSTEMTIME st;
    GetSystemTime(&amp;amp;st);
    
    float incomes_amount = 0;
    float income_sum = 0;
    float druga_suma = 0;
    float drugi_income = 0;

    char choice;

    if (incomes.empty() == false) {

        Helpful_Methods::displaying_current_month_and_year_income();

        cout &amp;lt;&amp;lt; &quot;Do you wish to display all incomes? Answer (y/n)&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; choice;

        if ( answer(choice) == true) {
            display_info_about_incomes(incomes);
        }
        else{
            cout &amp;lt;&amp;lt; &quot;You chose not to display all incomes. Moving forward.&quot; &amp;lt;&amp;lt; endl;
        }
         sort_income(income);
         for (vector &amp;lt;Income&amp;gt; :: iterator itr = incomes.begin(); itr != incomes.end(); itr++){

            //sort_income(*itr);
            incomes_amount = current_month_income(*itr);
            income_sum = income_sum + incomes_amount;

        }
        cout &amp;lt;&amp;lt; &quot;suma iteratoa: &quot; &amp;lt;&amp;lt; income_sum &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; endl;
/*
        for (int i = 0; i &amp;lt; incomes.size(); i++){

           
             drugi_income = Helpful_Methods::string_to_float_conversion(incomes[i].get_incomes_amount());
             druga_suma += drugi_income;

        }
        cout &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;druga suma wynosi: &quot; &amp;lt;&amp;lt; druga_suma &amp;lt;&amp;lt; endl;
        system(&quot;pause&quot;);
        */

    } else {
        cout &amp;lt;&amp;lt; &quot;No incomes in &quot;;
        Date::display_months_name(st.wMonth);
        Date::display_current_year(st.wYear);
        cout &amp;lt;&amp;lt; &quot;sorry.&quot; &amp;lt;&amp;lt; endl;
    }
    system(&quot;pause&quot;);
    system(&quot;cls&quot;);

    float expense_sum = 0;
    float expense_amount = 0;

    if (expenses.empty() == false) {

        Helpful_Methods::displaying_current_month_and_year_expense();

        cout &amp;lt;&amp;lt; &quot;Do you wish to display all expenses? Answer (y/n)&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; choice;

        if ( answer(choice) == true) {
            display_info_about_expenses(expenses);
        }
        else{
            cout &amp;lt;&amp;lt; &quot;You chose not to display all expenses. Moving forward.&quot; &amp;lt;&amp;lt; endl;
        }
        system(&quot;pause&quot;);
        system(&quot;cls&quot;);

       for (vector &amp;lt;Expense&amp;gt; :: iterator itr = expenses.begin(); itr != expenses.end(); itr++){

            sort_expense(*itr);
            expense_amount = current_month_expense(*itr);
            expense_sum = expense_sum + expense_amount;

        }
    } else {
        cout &amp;lt;&amp;lt; &quot;No expenses in: &quot;;
        Date::display_months_name(st.wMonth);
        Date::display_current_year(st.wYear);
    }

    Helpful_Methods::display_summary_income_expense_current_month();

    cout &amp;lt;&amp;lt; &quot;Income sum is equal:  &quot; &amp;lt;&amp;lt; setprecision(20) &amp;lt;&amp;lt; income_sum &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;Expense sum is equal:  &quot; &amp;lt;&amp;lt; setprecision(20) &amp;lt;&amp;lt; expense_sum &amp;lt;&amp;lt; endl;

    system(&quot;pause&quot;);
    system(&quot;cls&quot;);

    Helpful_Methods::display_summary_income_expense_current_month();
    cout &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; endl;

    cout &amp;lt;&amp;lt; &quot;Do you wish to display difference between incomes and expenses? (y/n)&quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; choice;

    if(answer(choice) == true) {

        float income_expense_difference = druga_suma - expense_sum;
        cout &amp;lt;&amp;lt; &quot;Calculating process. Please wait.&quot; &amp;lt;&amp;lt; endl;
        Sleep(3000);

        cout &amp;lt;&amp;lt; &quot;--------------- Difference is equal --------------- &quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;--------------- &quot; &amp;lt;&amp;lt; setprecision(20) &amp;lt;&amp;lt; income_expense_difference &amp;lt;&amp;lt; &quot; --------------- &quot;&amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
        system(&quot;pause&quot;);

    }

    if(answer(choice) == false){

        cout &amp;lt;&amp;lt; &quot;Difference has not been calculated. Goodbye.&quot; &amp;lt;&amp;lt; endl;

    }
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1526/apka-finansowa-nie-widoczna-warto%C5%9B%C4%87-wektora</guid>
<pubDate>Sat, 11 Mar 2023 21:28:49 +0000</pubDate>
</item>
<item>
<title>Funkcja cin.sync()</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1508/funkcja-cin-sync</link>
<description>Cześć, &lt;br /&gt;
&lt;br /&gt;
jestem na etapie seminarium nr 13, gdzie tworzy się książkę adresową po raz pierwszy. Wczytując dane kontaktowe (imię, nazwisko, nr tel, adres, email) nowej osoby korzystam z funkcji loadData() :&lt;br /&gt;
&lt;br /&gt;
[cpp]&lt;br /&gt;
&lt;br /&gt;
string loadData() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string data = &amp;quot;&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getline(cin, data);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return data;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[/cpp]&lt;br /&gt;
&lt;br /&gt;
Powiedzcie proszę czy powinnam przed getline wstawić funkcję czyszczącą bufor ? I jeśli tak to dlaczego?</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1508/funkcja-cin-sync</guid>
<pubDate>Fri, 24 Feb 2023 15:06:29 +0000</pubDate>
</item>
<item>
<title>zadanie spoj pesel</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1501/zadanie-spoj-pesel</link>
<description>&lt;p&gt;Hej&lt;/p&gt;

&lt;p&gt;Mam pytanie, co z tym kodem jest nie tak? Na pewno coś pomieszałam w tworzeniu zmiennych, bo jak sprawdzam kod tylko ze zmienną int main() to wydaje mi się, że jest on poprawny, jednak jak chcę już go &quot;rozbudować to niestety klops i nie działa poprawnie, a nie potrafię zlokalizować gdzie jest błąd.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;zadanie SPOJ PESEL (link:&amp;nbsp;&lt;a href=&quot;https://pl.spoj.com/problems/JPESEL/&quot; rel=&quot;nofollow&quot;&gt;https://pl.spoj.com/problems/JPESEL/&lt;/a&gt;) konieczność wykorzystania operacji modulo.&lt;/p&gt;

&lt;p&gt;czy mógłby mnie ktoś nakierować gdzie go szukać lub jak go szukać?&lt;/p&gt;

&lt;p&gt;poniżej 2 kody&amp;nbsp;&lt;/p&gt;

&lt;p&gt;1. testowy&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
using namespace std;

int main()
{
    long long pesel;
    cin &amp;gt;&amp;gt; pesel;

    int szyfr[] = {1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1};
    int suma = 0;

    for(int i = 0; i &amp;lt; 11; i++)
    {
        suma += (pesel % 10) * szyfr[i];
        pesel /= 10;
    }

    if(suma % 10 == 0)
        cout &amp;lt;&amp;lt; &quot;D&quot; &amp;lt;&amp;lt; endl;
    else
        cout &amp;lt;&amp;lt; &quot;N&quot; &amp;lt;&amp;lt; endl;

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;2. teoretycznie docelowy&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;windows.h&amp;gt;

using namespace std;

string sprawdzPesel(string pesel)

{
    long long nrPesel;
    int szyfr[] = {1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1};
    int suma = 0;
    string wynik;

    for (int i=0; i&amp;lt;11; i++)
    {
       suma += (nrPesel % 10 ) * szyfr[i];
       nrPesel /= 10;
    }

    if (suma % 10 == 0)
        wynik = &quot;D&quot;;
    else
        wynik = &quot;N&quot;;

    return wynik;
}

int main()
{
    int liczbaTestow;
    string pesel;
    cin &amp;gt;&amp;gt; liczbaTestow;

    for (int i = 0; i &amp;lt; liczbaTestow; i++)
    {
        cin &amp;gt;&amp;gt; pesel;
        cout &amp;lt;&amp;lt; sprawdzPesel(pesel) &amp;lt;&amp;lt; endl;
    }

   return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1501/zadanie-spoj-pesel</guid>
<pubDate>Wed, 22 Feb 2023 18:19:51 +0000</pubDate>
</item>
<item>
<title>BudgetAPP - problem ze zmienieniem hasła w pliku</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1466/budgetapp-problem-ze-zmienieniem-has%C5%82a-w-pliku</link>
<description>&lt;p&gt;Serwus,&lt;/p&gt;

&lt;p&gt;jestem na finiszu najprostszej części aplikacji budżetowej. Kod śmiga niczym dziadek po niebieskich pigułkach, ale nie mogę dojść do poprawnego zmienienia hasła w pliku xml. W czym problem. Dzięki poniższemu kodowi ( czy tam kodu, polska język trudna) jestem w stanie zmienić hasło tylko dla pierwszego Usera, a nie dla tego dla którego się loguję. W momencie kiedy odkomentuję zakomentowane części, wywala mi błąd :&lt;/p&gt;

&lt;p&gt;error: could not convert 'users_id.std::__cxx11::basic_string&amp;lt;char&amp;gt;::operator=(((int)((char)((User_Manager*)this)-&amp;gt;User_Manager::logged_users_id)))' from 'std::__cxx11::basic_string&amp;lt;char&amp;gt;' to 'bool'|&lt;/p&gt;

&lt;p&gt;I teraz tak -&lt;/p&gt;

&lt;p&gt;próbowałem konwersji string&amp;nbsp; na int, żeby program wiedział dla którego usera ma zmienić hasło, ale tu widzę że jednak nie może mi znaleźć ponieważ metoda xml.GetData() (używana jako users_id) jest rodzaju bool.&lt;/p&gt;

&lt;p&gt;Pytanie - w jaki sposób dotrzeć do ID'ka?&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void User_Manager::change_users_password() {

    CMarkup xml;
    xml.Load(&quot;users.xml&quot;);
    string users_id = &quot;&quot;;
    for (unsigned int i = 0; i &amp;lt; users.size(); i++) {

        if(users[i].get_users_id() == logged_users_id ) {

            cout &amp;lt;&amp;lt; &quot;Welcome, &quot; &amp;lt;&amp;lt; users[i].get_users_name() &amp;lt;&amp;lt; endl;

            string new_password = &quot;&quot;;
            cout &amp;lt;&amp;lt; &quot;Enter new password: &quot;;
            new_password = Helpful_Methods::load_line();

            xml.FindElem(&quot;Users&quot;);
            xml.IntoElem(); // stepping into Users
            xml.FindElem(&quot;User&quot;);
            xml.IntoElem(); // stepping into User
            xml.FindElem(&quot;ID&quot;);
           // users_id = xml.GetData();
            //if(users_id = logged_users_id){
            xml.FindElem(&quot;Password&quot;);
            xml.SetData(new_password);
            xml.Save(&quot;users.xml&quot;);
          //  }
          //  else
          //  xml.OutOfElem();

            users[i].set_users_password(new_password);

            cout &amp;lt;&amp;lt; &quot;Password changed successfully.&quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
            Sleep(1000);
            break;

        }
    }
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1466/budgetapp-problem-ze-zmienieniem-has%C5%82a-w-pliku</guid>
<pubDate>Sat, 18 Feb 2023 11:13:50 +0000</pubDate>
</item>
<item>
<title>SPOJ PIRAMIDKA</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1448/spoj-piramidka</link>
<description>Cześć!&lt;br /&gt;
&lt;br /&gt;
Rozwiązując zadanie na spoju (&lt;a href=&quot;https://pl.spoj.com/problems/AL_28_01/&quot; rel=&quot;nofollow&quot;&gt;https://pl.spoj.com/problems/AL_28_01/&lt;/a&gt; ) zauważyłam, że mam braki w zrozumieniu zmiennej string. Utworzyłam zmienną string dots, składającą się wyłacznie z kropek. W prawidłowo rozwiązanym kodzie dodawałam do siebie kolejno kropki w pętli, spójrzcie :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int length;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string text;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cin &amp;gt;&amp;gt; length &amp;gt;&amp;gt; text;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string dots = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dots += '.';&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int i = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int half = length / 2;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(i &amp;lt;= half) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dots[half + i] = text[half + i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dots[half - i] = text[half - i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; dots &amp;lt;&amp;lt; endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Moje pytanie: dlaczego poniższe zapełnienie stringa kropkami nie jest prawidłowe:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;for(int i = 0; i &amp;lt; length; i++) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dots[i] = '.';&lt;br /&gt;
&lt;br /&gt;
To zadanie nie jest wyzwaniem, więc mam nadzieję, ze mogłam wstawić kod w całości :)</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1448/spoj-piramidka</guid>
<pubDate>Thu, 16 Feb 2023 10:48:02 +0000</pubDate>
</item>
<item>
<title>użycie pętli for</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1399/u%C5%BCycie-p%C4%99tli-for</link>
<description>&lt;p&gt;hej, mam taki problem,&lt;/p&gt;

&lt;p&gt;w zadaniu obliczającym sumę&amp;nbsp;narastającą nie mogę pozbyć się poniższego problemu, mianowicie gdy uruchamiamy program i naszym pierwszy wyborem jest liczba 1 to z automatu w wyniku widnieje liczba 2 a nie 1 .&lt;/p&gt;

&lt;p&gt;dalej program działa już poprawnie i poprawnie liczy narastające liczby, tylko w pierwszym wyborze zawsze dodaje mi +1 nie wiem jak z tego wybrnąć:?&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

using namespace std;

int main()
{
int liczba, suma=0;


for (int liczba=(1); liczba=(suma+=liczba); liczba=0)
{

    cout&amp;lt;&amp;lt;&quot;Podaj liczbe: &quot;;
    cin &amp;gt;&amp;gt; liczba;
    suma+=liczba;
    cout &amp;lt;&amp;lt; suma &amp;lt;&amp;lt; endl;
}

{
cout &amp;lt;&amp;lt; &quot;0 zrywa petle!&quot;;

}

return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1399/u%C5%BCycie-p%C4%99tli-for</guid>
<pubDate>Tue, 31 Jan 2023 22:18:13 +0000</pubDate>
</item>
<item>
<title>Książka adresowa - konwersja pliku txt</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1389/ksi%C4%85%C5%BCka-adresowa-konwersja-pliku-txt</link>
<description>&lt;p&gt;Czołem&lt;/p&gt;

&lt;p&gt;Mam problem&amp;nbsp; nie tyle z konwersją&amp;nbsp;pliku co z odczytaniem&amp;nbsp;pliku i poprawnym zapisaniem danych do vectora aby później przekonwertować do nowej postaci w pliku *.txt. Obecnie nie wczytuje wszystkich adresatów a tylko ostatniego.&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;windows.h&amp;gt;

using namespace std;

struct Contact {
    int id;
    string name, surname, phoneNum, email, adress;
};
void saveAfterConversion(vector&amp;lt;Contact&amp;gt; &amp;amp;people) {

    vector &amp;lt;Contact&amp;gt; ::iterator itr = people.begin();
    fstream fileAfterConversion;
    fileAfterConversion.open(&quot;adressbook_new_format.txt&quot;, ios::out | ios::trunc);
    if (fileAfterConversion.good()) {
        for (itr; itr != people.end(); itr++) {
            fileAfterConversion &amp;lt;&amp;lt; itr-&amp;gt;id &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; itr-&amp;gt;name &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; itr-&amp;gt;surname &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; itr-&amp;gt;phoneNum &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; itr-&amp;gt;email &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; itr-&amp;gt;adress &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; endl;
        }
        fileAfterConversion.close();
    }
}
int main () {

    vector &amp;lt;Contact&amp;gt; people;
    Contact person;
    string filename;
    string personalData = &quot;&quot;;
    int numLine = 1;
    int personCount = 1;

    cout &amp;lt;&amp;lt; &quot;Input name of file.txt to convert: &quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; filename;
    fstream file;
    file.open(filename, ios::in);

    if (file.good() == false ) {
        return personCount = 0;
        cout &amp;lt;&amp;lt; &quot;Could not open file: adress book&quot; &amp;lt;&amp;lt; endl;
    } else {
        while(getline(file, personalData)) {

            switch(numLine) {
            case 1:
                person.id = stoi(personalData);
                break;
            case 2:
                person.name = personalData;
                break;
            case 3:
                person.surname = personalData;
                break;
            case 4:
                person.phoneNum = personalData;
                break;
            case 5:
                person.email = personalData;
                break;
            case 6:
                person.adress = personalData;
                break;
            }
            if (numLine == 6) {
                numLine = 0;
                personCount++;
            }
            numLine ++;
        }
        people.push_back(person);
    }
    file.close();
    cout &amp;lt;&amp;lt; &quot;....CHECKING.....&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;People in adress book : &quot; &amp;lt;&amp;lt; people.size() &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt;&quot;.........................&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;----- DISPLAYING ALL CONTACTS ----&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;==================================&quot; &amp;lt;&amp;lt; endl;

    for(int i = 0; i &amp;lt; people.size(); i++) {
        cout &amp;lt;&amp;lt; &quot;ID number: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].id &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Name: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].name &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Surname: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].surname &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Phone number: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].phoneNum &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Email: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].email &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Adress: &quot; &amp;lt;&amp;lt; &quot;\t&quot; &amp;lt;&amp;lt; people[i].adress &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;- - - - - - - - - - - - - - - - &quot; &amp;lt;&amp;lt; endl;
    }

    saveAfterConversion(people);

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1389/ksi%C4%85%C5%BCka-adresowa-konwersja-pliku-txt</guid>
<pubDate>Thu, 26 Jan 2023 18:31:13 +0000</pubDate>
</item>
<item>
<title>Brak pojawiającego się pliku .txt po zapisie</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1378/brak-pojawiaj%C4%85cego-si%C4%99-pliku-txt-po-zapisie</link>
<description>&lt;p&gt;Witam,&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Mam problem z brakiem pojawiającego się pliku .txt w folderze z programem. U innego użytkownika wszystko działa.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Spotkaliście się może z takim zagadnieniem ? CodeBlocks 20.03 - Windows 11&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Program który u innych zapisuje i tworzy plik .txt&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;fstream&amp;gt;

using namespace std;
fstream file;

struct Person {

    int id = 0;
    int contactID;
    string name, surname, phone_number, adress, email;

};

string load_line() {

    string input;
    cin.sync();
    getline(cin, input);
    return input;
}

int insert_persons_data(vector &amp;lt;Person&amp;gt; &amp;amp;people,int persons_amount) {

    Person new_persons;

    string name, surname, phone_number, email, adress;

    cout &amp;lt;&amp;lt; &quot;insert name:&quot; &amp;lt;&amp;lt; endl;
    new_persons.name = load_line();
    cout &amp;lt;&amp;lt; &quot;insert surname: &quot; &amp;lt;&amp;lt; endl;
    new_persons.surname = load_line();
    cout &amp;lt;&amp;lt; &quot;insert phone number: &quot; &amp;lt;&amp;lt; endl;
    new_persons.phone_number = load_line();
    cout &amp;lt;&amp;lt; &quot;insert adress: &quot; &amp;lt;&amp;lt; endl;
    new_persons.adress = load_line();
    cout &amp;lt;&amp;lt; &quot;insert email: &quot; &amp;lt;&amp;lt; endl;
    new_persons.email = load_line();
    new_persons.id = persons_amount + 1;

    people.push_back(new_persons);

    fstream file;
    file.open ( &quot;adres.txt&quot;, ios::out | ios::app );

    if (file.good())
    {
    new_persons.id = persons_amount + 1;
    file &amp;lt;&amp;lt; people[persons_amount].id &amp;lt;&amp;lt; &quot;|&quot;;
    file &amp;lt;&amp;lt; people[persons_amount].name&amp;lt;&amp;lt; &quot;|&quot;;
    file &amp;lt;&amp;lt; people[persons_amount].surname &amp;lt;&amp;lt; &quot;|&quot;;
    file &amp;lt;&amp;lt; people[persons_amount].phone_number&amp;lt;&amp;lt; &quot;|&quot;;
    file &amp;lt;&amp;lt; people[persons_amount].email &amp;lt;&amp;lt; &quot;|&quot;;
    file &amp;lt;&amp;lt; people[persons_amount].adress &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; endl;
    file.close();
    }
    else
    {
        cout &amp;lt;&amp;lt; &quot;couldnt open file&quot; &amp;lt;&amp;lt; endl;
    }

    return persons_amount +1;
}

void showing_people_by_name (vector &amp;lt;Person&amp;gt; &amp;amp;people, int persons_amount) {

    string name;

    cout &amp;lt;&amp;lt; &quot;enter surname to show friends with that name: &quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; name;

    int i = 0;
    int name_number = 0;

    while (i &amp;lt; persons_amount) {
        if (people[i].name == name) {
            cout &amp;lt;&amp;lt; &quot;Friend's ID &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].id &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's name &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].name &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's surname &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].surname &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's phone number &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].phone_number &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's e-mail &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].email &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's adress &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt;  people[i].adress &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
            name_number++;
        }
        i++;
    }
    if (name_number == 0)
        cout &amp;lt;&amp;lt; &quot;no person with that name!&quot; &amp;lt;&amp;lt; endl;
}


void showing_people_by_surname (vector &amp;lt;Person&amp;gt; &amp;amp;people, int persons_amount) {

    string surname;

    cout &amp;lt;&amp;lt; &quot;enter surname to show friends with that name: &quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; surname;

    int i = 0;
    int surname_number = 0;

    while (i &amp;lt; persons_amount) {
        if (people[i].surname == surname) {
            cout &amp;lt;&amp;lt; &quot;Friend's ID &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].id &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's name &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].name &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's surname &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].surname &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's phone number &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].phone_number &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's e-mail &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt; people[i].email &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Friend's adress &quot; &amp;lt;&amp;lt; &quot; --------- &quot; &amp;lt;&amp;lt;  people[i].adress &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
            surname_number++;
        }
        i++;
    }
    if (surname_number == 0)
        cout &amp;lt;&amp;lt; &quot;no person with that surname!&quot; &amp;lt;&amp;lt; endl;
}


void every_single_person(vector &amp;lt;Person&amp;gt; &amp;amp;people) {

    int people_amount = people.size();
    for (int i = 0; i &amp;lt; people_amount; i++) {
        cout &amp;lt;&amp;lt; people[i].id &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; people[i].name &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; people[i].surname &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; people[i].phone_number &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; people[i].email &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; people[i].adress &amp;lt;&amp;lt; endl;
    }
}
/*
void modyfing_person(vector &amp;lt;Person&amp;gt; &amp;amp;people, int persons_amount, int persons_id) {

    Person new_persons;
    string name, surname, phone_number, email, adress;

    char choice;

    while(){
    cout &amp;lt;&amp;lt; &quot;Choose whhich feature you want to modify: &quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;1. Name&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;2. Surname&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;3. Phone number&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;4. Email&quot; &amp;lt;&amp;lt; endl;
    cout &amp;lt;&amp;lt; &quot;5. Adress&quot; &amp;lt;&amp;lt; endl;

    switch (choice) {

    case '1': {
        cout &amp;lt;&amp;lt; &quot;set new name&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; name;
        for (int i = 0; i &amp;lt; persons_amount; i++){

        if(people[i].id == persons_id )
            people[i].name = name;
            cout &amp;lt;&amp;lt; &quot;Name set correctly&quot; &amp;lt;&amp;lt; endl;
        }
        break;
    }
    case '2': {
        cout &amp;lt;&amp;lt; &quot;set new surname&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; surname;
        for (int i = 0; i &amp;lt; persons_amount; i++){

        if(people[i].id == persons_id )
            people[i].surname = surname;
            cout &amp;lt;&amp;lt; &quot;Surname set correctly&quot; &amp;lt;&amp;lt; endl;
        }
        break;
    }

    case '3': {
        cout &amp;lt;&amp;lt; &quot;set new phone number&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; phone_number;
        for (int i = 0; i &amp;lt; persons_amount; i++){

        if(people[i].id == persons_id )
            people[i].phone_number = phone_number;
            cout &amp;lt;&amp;lt; &quot;Name set correctly&quot; &amp;lt;&amp;lt; endl;
        }
        break;
    }

    case '4': {
        cout &amp;lt;&amp;lt; &quot;set new email&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; email;
        for (int i = 0; i &amp;lt; persons_amount; i++){

        if(people[i].id == persons_id )
            people[i].email = email;
            cout &amp;lt;&amp;lt; &quot;Email set correctly&quot; &amp;lt;&amp;lt; endl;
        }
        break;
    }

    case '5': {
        cout &amp;lt;&amp;lt; &quot;set new adress&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; adress;
        for (int i = 0; i &amp;lt; persons_amount; i++){

        if(people[i].id == persons_id )
            people[i].adress = adress;
            cout &amp;lt;&amp;lt; &quot;Adress set correctly&quot; &amp;lt;&amp;lt; endl;
        }
        break;
    }

    }
    }
}
*/
/*
int loading_from_file(vector &amp;lt;Person&amp;gt; &amp;amp;people ) {

    int persons_amount = 0;
    string line;
    int line_number = 1;


    file.open(&quot;ksiazka1.txt&quot;, ios :: in);

    if(file.good() == false) {
        file.open ( &quot;ksiazka1.txt&quot;, ios::out );
        file.close();
    }

    else {
        while (getline(file, line)) {
            switch(line_number) {
            case 1:
                people[persons_amount].id = atoi(line.c_str());
                break;
            case 2:
                people[persons_amount].name;
                break;
            case 3:
                people[persons_amount].surname;
                break;
            case 4:
                people[persons_amount].phone_number;
                break;
            case 5:
                people[persons_amount].email;
                break;
            case 6:
                people[persons_amount].adress;
                break;
            }
            if (line_number == 2 ) {
                line_number = 0;
                persons_amount++;
            }
            line_number++;
        }
    }
    file.close();

    return persons_amount ;
}
*/
void ImportAllContacts (vector &amp;lt;Person&amp;gt;&amp;amp; people)
{
    Person individualPerson;
    string personalData{};
    fstream DatabaseContact;
    DatabaseContact.open(&quot;adres.txt&quot;, ios :: in);

    if (DatabaseContact.good())
    {
        while(getline(DatabaseContact,personalData))
        {
            string individualPersonalData{};
            int singlePersonNumber = 1;

            for (size_t index{}; index &amp;lt; personalData.length(); ++index)
            {
                if (personalData[index] != '|')
                {
                    individualPersonalData += personalData[index];
                }
                else
                {
                    switch(singlePersonNumber)
                    {
                    case 1:
                        individualPerson.id = stoi(individualPersonalData);
                        break;
                    case 2:
                        individualPerson.name = individualPersonalData;
                        break;
                    case 3:
                        individualPerson.surname = individualPersonalData;
                        break;
                    case 4:
                        individualPerson.phone_number = individualPersonalData;
                        break;
                    case 5:
                        individualPerson.email = individualPersonalData;
                        break;
                    case 6:
                        individualPerson.adress = individualPersonalData;
                        break;
                    }
                    individualPersonalData = &quot;&quot;;
                    singlePersonNumber++;
                }
            }
            people.push_back(individualPerson);
        }
    }
    DatabaseContact.close();
}

bool fileExists (const string&amp;amp; fileName)
{
    fstream DatabaseContact;
    DatabaseContact.open(fileName.c_str(), ios::in);
    if ( DatabaseContact.is_open() )
    {
        DatabaseContact.close();
        return true;
    }
    DatabaseContact.close();
    return false;
}

int main() {
    char choice;
    int persons_amount = 0;
    vector &amp;lt;Person&amp;gt; people;

    ImportAllContacts(people);

    while (true) {

        system(&quot;cls&quot;);
        cout &amp;lt;&amp;lt; &quot;1. Add friend&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;2. Search by name&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;3. Search by surname&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;4. Show my friends list&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;5. Edit user&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;6. Delete user&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;7. End program&quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; choice;


        switch (choice) {

        case '1' : {
            persons_amount = insert_persons_data (people, persons_amount);
            system(&quot;pause&quot;);
            break;
        }
        case '2' : {
            showing_people_by_name (people,persons_amount);
            system(&quot;pause&quot;);
            break;
        }
        case '3' : {
            showing_people_by_surname(people, persons_amount);
            system(&quot;pause&quot;);
            break;
        }
        case '4' : {
            every_single_person(people);
            system(&quot;pause&quot;);
            break;
        }
        case '5': {
           // modyfing_person (people, persons_amount, users_id) ;
        }
        case '6': {
            ;
        }
        case '7': {
            exit(0);
        }
        default: {
            cout &amp;lt;&amp;lt; &quot;try that again &quot; &amp;lt;&amp;lt; endl;
            system(&quot;pause&quot;);
        }
        }
    }

    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1378/brak-pojawiaj%C4%85cego-si%C4%99-pliku-txt-po-zapisie</guid>
<pubDate>Fri, 20 Jan 2023 09:13:16 +0000</pubDate>
</item>
<item>
<title>SPOJ - przekroczono limit czasu</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1325/spoj-przekroczono-limit-czasu</link>
<description>Cześć, &lt;br /&gt;
&lt;br /&gt;
Rozwiązuje właśnie zadanie szpieg na spoju i program sprawdziłem w ideone - działa (przynajmniej dla podanych danych wejściowych, wczytuje i zapisuje do pliku ale na spoju sędzia zwraca mi &amp;quot;przekroczono limit czasu&amp;quot;. Co to właściwie oznacza? Czy to może być problem ze zbyt mało wydajnym algorytmem? Ma ktoś pomysł na jakieś warunki skrajne które bywają problematyczne w tego typu zadaniach? Nie wiem czy wrzucać tutaj kod więc na razie nie wrzucam, gdyby był potrzebny załączę w komentarzu. &lt;br /&gt;
&lt;br /&gt;
Poniżej wrzucam link do zadania na spoj:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://pl.spoj.com/problems/MWP2_1E/&quot; rel=&quot;nofollow&quot;&gt;https://pl.spoj.com/problems/MWP2_1E/&lt;/a&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1325/spoj-przekroczono-limit-czasu</guid>
<pubDate>Thu, 12 Jan 2023 21:46:33 +0000</pubDate>
</item>
<item>
<title>Ksiazka adresowa</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1307/ksiazka-adresowa</link>
<description>&lt;p&gt;Hej,&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Problem z zapisem/ odczytem z pliku. Dla structur działa - przy wektorach już nie.&lt;/p&gt;

&lt;p&gt;Poniżej program.&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;thread&amp;gt;
#include &amp;lt;chrono&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include &amp;lt;windows.h&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;vector&amp;gt;

using namespace std;

struct Adresat
{
    int id = 0;
    string imie, nazwisko, numer_telefonu, adres_email, adres_zamieszkania;

};

string wczytajLinie()
{
    string wejscie;
    cin.sync();
    getline(cin, wejscie);
    return wejscie;
}

int dodanieAdresata (vector &amp;lt;Adresat&amp;gt; &amp;amp;adresaci, int iloscAdresatow)
{
    Adresat Nowa_osoba;

    string imie, nazwisko, numer_telefonu, adres_email, adres_zamieszkania;

    cout &amp;lt;&amp;lt; &quot;Podaj imie: &quot;;
    Nowa_osoba.imie = wczytajLinie();
    cout &amp;lt;&amp;lt; &quot;Podaj nazwisko: &quot;;
    Nowa_osoba.nazwisko = wczytajLinie();
    cout &amp;lt;&amp;lt; &quot;Podaj numer telefonu: &quot;;
    Nowa_osoba.numer_telefonu = wczytajLinie();
    cout &amp;lt;&amp;lt; &quot;Podaj adres email: &quot;;
    Nowa_osoba.adres_email = wczytajLinie();
    cout &amp;lt;&amp;lt; &quot;Podaj adres zamieszkania: &quot;;
    Nowa_osoba.adres_zamieszkania = wczytajLinie();

    Nowa_osoba.id = iloscAdresatow + 1;

    adresaci.push_back(Nowa_osoba);

    fstream plik;
    plik.open(&quot;ksiazki.txt&quot;, ios::out | ios::app);

    if (plik.good() == true)
    {
        plik &amp;lt;&amp;lt; adresaci[iloscAdresatow].id &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[iloscAdresatow].imie &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[iloscAdresatow].nazwisko &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[iloscAdresatow].numer_telefonu &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[iloscAdresatow].adres_email &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[iloscAdresatow].adres_zamieszkania &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; endl;
        plik.close();
    }

    cout &amp;lt;&amp;lt; &quot;Dodano adresata&quot; &amp;lt;&amp;lt; endl;


    Sleep(1000);
    return iloscAdresatow + 1;
}


int wyszukajPoImieniu (vector &amp;lt;Adresat&amp;gt; adresaci, int iloscAdresatow)
{
    string imie;
    cout &amp;lt;&amp;lt;&quot;Podaj imie po ktorym chcesz wyszukac: &quot;;
    cin &amp;gt;&amp;gt; imie;

    for (int i=0; i &amp;lt; iloscAdresatow; i++)
    {
        if (adresaci[i].imie == imie)
        {
            cout &amp;lt;&amp;lt; adresaci[i].id &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].imie &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].nazwisko &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].numer_telefonu &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_email &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_zamieszkania &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
        }
        else
        {
            cout &amp;lt;&amp;lt; &quot;Brak takiego imienia&quot; &amp;lt;&amp;lt; endl;
        }

    }
    system(&quot;pause&quot;);
    return 0;
}


int wyszukajPoNazwisku (vector &amp;lt;Adresat&amp;gt; adresaci, int iloscAdresatow)
{
    string nazwisko;
    cout &amp;lt;&amp;lt;&quot;Podaj nazwisko po ktorym chcesz wyszukac: &quot;;
    cin &amp;gt;&amp;gt; nazwisko;

    for (int i=0; i &amp;lt; iloscAdresatow; i++)
    {
        if (adresaci[i].nazwisko == nazwisko)
        {
            cout &amp;lt;&amp;lt; adresaci[i].id &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].imie &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].nazwisko &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].numer_telefonu &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_email &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_zamieszkania &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
        }
        else
        {
            cout &amp;lt;&amp;lt; &quot;Brak takiego nazwiska&quot; &amp;lt;&amp;lt; endl;
        }
    }
    system(&quot;pause&quot;);
    return 0;
}


int wyswietlWszystkichAdresatowZKsiazkiAdresowej (vector &amp;lt;Adresat&amp;gt; adresaci, int iloscAdresatow)
{

    for (int i=0; i &amp;lt; iloscAdresatow; i++)
    {
        cout &amp;lt;&amp;lt; adresaci[i].id &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].imie &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].nazwisko &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].numer_telefonu &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_email &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; adresaci[i].adres_zamieszkania &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; endl;
    }
    system(&quot;pause&quot;);
    return 0;
}


int wyswietlAdresatowZapisanychWPliku (vector &amp;lt;Adresat&amp;gt; adresaci)
{
    string linia, imie, nazwisko, numer_telefonu, adres_email, adres_zamieszkania;
    int numer_lini = 1;
    int ilosc_adresatow_w_pliku = 0;

    fstream plik;
    plik.open(&quot;ksiazki.txt&quot;, ios::in);

    if (plik.good() == true)
    {
        while(getline(plik,linia))
        {
            switch (numer_lini)
            {
            case 1:
                adresaci[ilosc_adresatow_w_pliku].id = atoi(linia.c_str());
                break;
            case 2:
                adresaci[ilosc_adresatow_w_pliku].imie = linia;
                break;
            case 3:
                adresaci[ilosc_adresatow_w_pliku].nazwisko = linia;
                break;
            case 4:
                adresaci[ilosc_adresatow_w_pliku].numer_telefonu = linia;
                break;
            case 5:
                adresaci[ilosc_adresatow_w_pliku].adres_email = linia;
                break;
            case 6:
                adresaci[ilosc_adresatow_w_pliku].adres_zamieszkania = linia;
                break;
            }
            if (numer_lini &amp;gt;= 6)
            {
                numer_lini = 1;
                ilosc_adresatow_w_pliku++;
            }
            else
            {
                numer_lini++;
            }
        }
        plik.close();
    }
    return ilosc_adresatow_w_pliku;
}


int main()
{
    vector &amp;lt;Adresat&amp;gt; adresaci;
    int iloscAdresatow = 0;
    int id = 0;

    // iloscAdresatow = wyswietlAdresatowZapisanychWPliku(adresaci);

    char wybor;
    while(true)
    {
        system(&quot;cls&quot;);
        cout &amp;lt;&amp;lt; &quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Ksiazka adresowa&amp;lt;&amp;lt;&amp;lt;&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;1. Dodaj adresata&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;2. Wyszkuaj po imieniu&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;3. Wyszukaj po nazwisku&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;4. Wyswietl wszystkich adresatowe&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;5. Usun adresata&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;9. Zakoncz program&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;Twoj wybor: &quot; &amp;lt;&amp;lt; endl;
        cin &amp;gt;&amp;gt; wybor;


        switch(wybor)
        {
        case '1':
            iloscAdresatow = dodanieAdresata(adresaci, iloscAdresatow);
            break;
        case '2':
            wyszukajPoImieniu(adresaci, iloscAdresatow);
            break;
        case '3':
            wyszukajPoNazwisku(adresaci, iloscAdresatow);
            break;
        case '4':
            wyswietlWszystkichAdresatowZKsiazkiAdresowej(adresaci, iloscAdresatow);
            break;
        case '9':
            cout &amp;lt;&amp;lt; &quot;Koniec programu !!&quot; &amp;lt;&amp;lt; endl;
            exit(0);
            break;
        }
    }
    return 0;
}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1307/ksiazka-adresowa</guid>
<pubDate>Mon, 09 Jan 2023 18:33:20 +0000</pubDate>
</item>
<item>
<title>Brak zapętlenia</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1296/brak-zap%C4%99tlenia</link>
<description>&lt;p&gt;Hej,&lt;/p&gt;

&lt;p&gt;dlaczego program&amp;nbsp; wykonuje się raz a póżniej nie zapętla?&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

using namespace std;

string odszyfrujGG(string szyfr) {
    int iloscZnakow = szyfr.length();
    int j;
    int k = 0;
    int liczbaASCII;
    string* ciag = new string [10];

    for(int i = 0; i &amp;lt; iloscZnakow; i++) {
        liczbaASCII = 0;
        j = i + 1;
        for(i; i &amp;lt;= j; i++) {
            if(i != j){
                switch(szyfr[i]) {
                case 'A':
                        liczbaASCII;
                    break;
                case 'B':
                        liczbaASCII += 1;
                    break;
                case 'C':
                        liczbaASCII += 2;
                    break;
                case 'D':
                        liczbaASCII += 3;
                    break;
                case 'E':
                        liczbaASCII += 4;
                    break;
                case 'F':
                        liczbaASCII += 5;
                    break;
                case 'G':
                        liczbaASCII += 6;
                    break;
                case 'H':
                        liczbaASCII += 7;
                    break;
                case 'I':
                        liczbaASCII += 8;
                    break;
                case 'J':
                        liczbaASCII += 9;
                    break;
                case 'K':
                        liczbaASCII += 10;
                    break;
                case 'L':
                        liczbaASCII += 11;
                    break;
                case 'M':
                        liczbaASCII += 12;
                    break;
                case 'N':
                        liczbaASCII += 13;
                    break;
                case 'O':
                        liczbaASCII += 14;
                    break;
                case 'P':
                        liczbaASCII += 15;
                    break;
                }
            }
            else {
                switch(szyfr[i]) {
                case 'A':
                        liczbaASCII += 0;
                    break;
                case 'B':
                        liczbaASCII += 16;
                    break;
                case 'C':
                        liczbaASCII += 32;
                    break;
                case 'D':
                        liczbaASCII += 48;
                    break;
                case 'E':
                        liczbaASCII += 64;
                    break;
                case 'F':
                        liczbaASCII += 80;
                    break;
                case 'G':
                        liczbaASCII += 96;
                    break;
                case 'H':
                        liczbaASCII += 112;
                    break;
                case 'I':
                        liczbaASCII += 128;
                    break;
                case 'J':
                        liczbaASCII += 144;
                    break;
                case 'K':
                        liczbaASCII += 160;
                    break;
                case 'L':
                        liczbaASCII += 176;
                    break;
                case 'M':
                        liczbaASCII += 192;
                    break;
                case 'N':
                        liczbaASCII += 208;
                    break;
                case 'O':
                        liczbaASCII += 224;
                    break;
                case 'P':
                        liczbaASCII += 240;
                    break;
                }
            }
        }
    i--;
    ciag[k] = liczbaASCII;
    k++;
    }
    for(int i = 0; i &amp;lt; 10; i++) {
        cout &amp;lt;&amp;lt; ciag[i];
    }
}
int main()
{
    string szyfr;
    while (true) {
        cin &amp;gt;&amp;gt; szyfr;
        odszyfrujGG(szyfr);
        cout &amp;lt;&amp;lt; endl;
    }
    return 0;
}
&lt;/pre&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1296/brak-zap%C4%99tlenia</guid>
<pubDate>Tue, 27 Dec 2022 14:02:36 +0000</pubDate>
</item>
<item>
<title>Książka Adresowa</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1273/ksi%C4%85%C5%BCka-adresowa</link>
<description>&lt;p&gt;Cześć. Mógłby mnie ktoś naprowadzić jak napisać funkcję odpowiadającą za odczyt pliku txt?&lt;/p&gt;

&lt;p&gt;Wg. ,mojego rozumowanie najpierw powinien odczytać całą linię tekstu, potem podzielić ją na oddzielne (stringi).&lt;/p&gt;

&lt;p&gt;Następnie każdy string przypisać do struktury, a na koniec strukturę do vektora.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdio&amp;gt;
#include &amp;lt;conio.h&amp;gt;
#include &amp;lt;windows.h&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;vector&amp;gt;

using namespace std;
struct Dane {
    string imie;
    string nazwisko;
    string nrTel;
    string adresEmail;
    string korespondecja;
    int numerIdUzytkownika;
};

string pobierzLinie() {
    string linia;
    cin.sync();
    getline(cin,linia);

    return linia;
}

int dodajUzytkownika(struct Dane * uzytkownicy, int iloscUzytkownikow) {

    system(&quot;CLS&quot;);
    fstream plik;
    plik.open(&quot;adresacja.txt&quot;, ios::out | ios::app);
    iloscUzytkownikow = iloscUzytkownikow + 1;

    cout &amp;lt;&amp;lt; &quot;Podaj imie nowego Uzytkownika : &quot; &amp;lt;&amp;lt; endl;
    (*uzytkownicy).imie = pobierzLinie();

    cout &amp;lt;&amp;lt; &quot;Podaj nazwisko nowego Uzytkownika : &quot; &amp;lt;&amp;lt; endl;
    (*uzytkownicy).nazwisko = pobierzLinie();

    cout &amp;lt;&amp;lt; &quot;Podaj nr Tel nowego Uzytkownika : &quot; &amp;lt;&amp;lt; endl;
    (*uzytkownicy).nrTel = pobierzLinie();

    cout &amp;lt;&amp;lt; &quot;Podaj adres Email nowego Uzytkownika : &quot; &amp;lt;&amp;lt; endl;
    (*uzytkownicy).adresEmail = pobierzLinie();

    cout &amp;lt;&amp;lt; &quot;Podaj adres zamieszkania nowego Uzytkownika : &quot; &amp;lt;&amp;lt; endl;
    (*uzytkownicy).korespondecja = pobierzLinie();

    (*uzytkownicy).numerIdUzytkownika = iloscUzytkownikow;

    plik &amp;lt;&amp;lt; iloscUzytkownikow &amp;lt;&amp;lt; &quot;|&quot; ;
    plik &amp;lt;&amp;lt; (*uzytkownicy).imie &amp;lt;&amp;lt; &quot;|&quot; ;
    plik &amp;lt;&amp;lt; (*uzytkownicy).nazwisko &amp;lt;&amp;lt; &quot;|&quot; ;
    plik &amp;lt;&amp;lt; (*uzytkownicy).nrTel &amp;lt;&amp;lt; &quot;|&quot; ;
    plik &amp;lt;&amp;lt; (*uzytkownicy).adresEmail &amp;lt;&amp;lt; &quot;|&quot; ;
    plik &amp;lt;&amp;lt; (*uzytkownicy).korespondecja &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; endl;
    plik.close();

    cout &amp;lt;&amp;lt; &quot;Uzytkownik zostal dodany pomyslnie !&quot; &amp;lt;&amp;lt; endl;
    Sleep(1500);
    return iloscUzytkownikow;

}

void wyswietlWszystkichUzytkownikow(vector &amp;lt;Dane&amp;gt; osoby) {

    system(&quot;CLS&quot;);
vector &amp;lt;Dane&amp;gt; :: iterator it;
    for(it = osoby.begin() ; it &amp;lt; osoby.end() ; it++) {
        cout &amp;lt;&amp;lt; endl;

            cout &amp;lt;&amp;lt; &quot;Id: &quot; &amp;lt;&amp;lt; (*it).numerIdUzytkownika &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Imie: &quot; &amp;lt;&amp;lt; (*it).imie &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nazwisko: &quot; &amp;lt;&amp;lt; (*it).nazwisko &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nr Tel: &quot; &amp;lt;&amp;lt; (*it).nrTel &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Email: &quot; &amp;lt;&amp;lt; (*it).adresEmail &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Zam: &quot; &amp;lt;&amp;lt; (*it).korespondecja &amp;lt;&amp;lt; endl;
    }
    cout &amp;lt;&amp;lt; endl;
    system(&quot;PAUSE&quot;);
}

void wyszukajUzytkownikaPoImieniu(vector &amp;lt;Dane&amp;gt; osoby) {

    system(&quot;CLS&quot;);
    string szukaneImie;
     vector &amp;lt;Dane&amp;gt; :: iterator it;

    cout &amp;lt;&amp;lt; &quot;Podaj Imie ktore chcesz wyszukac :&quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; szukaneImie;

    for( it = osoby.begin() ; it != osoby.end() ; ++it) {

        if((*it).imie == szukaneImie) {
            cout &amp;lt;&amp;lt; &quot;Id: &quot; &amp;lt;&amp;lt; (*it).numerIdUzytkownika &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Imie: &quot; &amp;lt;&amp;lt; (*it).imie &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nazwisko: &quot; &amp;lt;&amp;lt; (*it).nazwisko &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nr Tel: &quot; &amp;lt;&amp;lt; (*it).nrTel &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Email: &quot; &amp;lt;&amp;lt; (*it).adresEmail &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Zam: &quot; &amp;lt;&amp;lt; (*it).korespondecja &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
        }
    }
    system(&quot;PAUSE&quot;);
}

void wyszukajUzytkownikaPoNazwisku(vector &amp;lt;Dane&amp;gt; osoby) {

    system(&quot;CLS&quot;);
    string szukaneNazwisko;
    vector &amp;lt;Dane&amp;gt; :: iterator it;

    cout &amp;lt;&amp;lt; &quot;Podaj Nazwisko ktore chcesz wyszukac :&quot; &amp;lt;&amp;lt; endl;
    cin &amp;gt;&amp;gt; szukaneNazwisko;

     for( it = osoby.begin() ; it != osoby.end() ; ++it) {

        if((*it).nazwisko == szukaneNazwisko) {
            cout &amp;lt;&amp;lt; &quot;Id: &quot; &amp;lt;&amp;lt; (*it).numerIdUzytkownika &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Imie: &quot; &amp;lt;&amp;lt; (*it).imie &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nazwisko: &quot; &amp;lt;&amp;lt; (*it).nazwisko &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Nr Tel: &quot; &amp;lt;&amp;lt; (*it).nrTel &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Email: &quot; &amp;lt;&amp;lt; (*it).adresEmail &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; &quot;Adres Zam: &quot; &amp;lt;&amp;lt; (*it).korespondecja &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; endl;
        }
    }
    cout &amp;lt;&amp;lt; endl;
    system(&quot;PAUSE&quot;);
}

int zaladowaniePlikuTekstowego(struct Dane *uzytkownicy) {
    string linia;
    fstream plik;

    plik.open(&quot;adresacja.txt&quot;, ios::in);
    if(plik.good() == false) {
        cout &amp;lt;&amp;lt; &quot;Plik nie istnieje !! &quot; &amp;lt;&amp;lt; endl;
    }
    while(getline(plik,linia)) {


(*uzytkownicy).numerIdUzytkownika = linia;
(*uzytkownicy).imie = pobierzLinie()
(*uzytkownicy).naziwsko = pobierzLinie();
(*uzytkownicy).nrTel = pobierzLinie();
(*uzytkownicy).adresEmail = pobierzLinie();
(*uzytkownicy).korespondecja = pobierzLinie();

    }
    return iloscUzytkownikow;
}
int main() {
    Dane uzytkownicy;
    vector &amp;lt;Dane&amp;gt; osoby;
    int iloscUzytkownikow = 0;
    char wyborOpcji;

    do {
        system(&quot;CLS&quot;);
       // iloscUzytkownikow = zaladowaniePlikuTekstowego(&amp;amp;uzytkownicy);
       //   osoby.push_back(uzytkownicy)
        cout &amp;lt;&amp;lt; &quot;Witaj w ksiazce Adresowej !&quot; &amp;lt;&amp;lt; endl;

        cout &amp;lt;&amp;lt; &quot;1 - Dodaj nowego Uzytkownika&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;2 - Wyszukaj po Imieniu&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;3 - Wyszukaj po Nazwisku&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;4 - Wyswietl wszystkie osoby&quot; &amp;lt;&amp;lt; endl;
        cout &amp;lt;&amp;lt; &quot;5 - Opusc program&quot; &amp;lt;&amp;lt; endl;

        wyborOpcji = getch();

        switch(wyborOpcji) {
        case '1' : {
            iloscUzytkownikow = dodajUzytkownika(&amp;amp;uzytkownicy, iloscUzytkownikow);
            osoby.push_back(uzytkownicy);
        }
        break;
        case '2' : {
            wyszukajUzytkownikaPoImieniu(osoby);
        }
        break;
        case '3' : {
            wyszukajUzytkownikaPoNazwisku(osoby);
        }
        break;
        case '4' : {
            wyswietlWszystkichUzytkownikow(osoby);
        }
        break;
        case '5' : {
            exit(0);
        }
        break;
        }
    } while(wyborOpcji != '5');
    return 0;
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1273/ksi%C4%85%C5%BCka-adresowa</guid>
<pubDate>Sat, 17 Dec 2022 14:58:01 +0000</pubDate>
</item>
<item>
<title>Poznajemy struktury danych - zadanie 5</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1253/poznajemy-struktury-danych-zadanie-5</link>
<description>&lt;p&gt;Hej,&lt;/p&gt;

&lt;p&gt;Mam problem z ostatnim zadaniem z działu : Poznajmy struktury danych - zadanie 5.&lt;/p&gt;

&lt;p&gt;Na tą chwilę kod jest jak poniżej. Jakieś wskazówki jak wyświetlić go w formie zadanej w zadaniu ??&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;sstream&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;string&amp;gt;

using namespace std;

string displayTheCounter (string packedText, int numberInText)
{
    string counter = &quot;&quot;;

    while (isdigit(packedText[numberInText - 1]))
    {
        counter = packedText[numberInText - 1] + counter;
        numberInText--;
    }

    return counter;
}

string displayTextInBrackets (string packedText, int numberInText)
{
    size_t positionOfClosedBracet = packedText.find (']');
    string textInBracket = packedText.substr(numberInText + 1, positionOfClosedBracet - numberInText - 1);

    return textInBracket;

}


int main()
{
    string packedText = &quot;2[a]4[bc]6[ghtieg]&quot;;
    string unpackedText = &quot;&quot;;
    string counter;
    string textInBracket;

    int length = packedText.length();

    for (int i = 0; i &amp;lt; length; i++)
    {
        if (packedText[i] == '[')
        {
            counter = displayTheCounter(packedText, i);
            textInBracket = displayTextInBrackets(packedText, i);


            cout &amp;lt;&amp;lt; counter &amp;lt;&amp;lt; endl;
            cout &amp;lt;&amp;lt; textInBracket &amp;lt;&amp;lt; endl;
            system(&quot;pause&quot;);


        }

    }



    return 0;

}
&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1253/poznajemy-struktury-danych-zadanie-5</guid>
<pubDate>Thu, 15 Dec 2022 17:31:06 +0000</pubDate>
</item>
<item>
<title>Książki adresowej ciąg dalszy.</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1240/ksi%C4%85%C5%BCki-adresowej-ci%C4%85g-dalszy</link>
<description>&lt;p&gt;Ok, jako że ostatnie moje wątpliwości zostały rozwiane, liczę że i tym razem się uda.&lt;/p&gt;

&lt;p&gt;Mianowicie, obecnie borykam się z zapisem osób użytkownika. Napisałem funkcje mające za zadanie dostać się do poszczególnych danych użytkownika pomiędzy pionowymi liniami (wstępnie id_uzytkownika/id_osoby/imie_osoby) i gdzieś coś przeoczam i&amp;nbsp;nie dociągam. Problem jest w momencie kiedy próbuję dodać kolejną osobę&amp;nbsp; przelogowując się na innego uzytkownika - usuwa mi zapisane osoby i nadpisuje w ich miejsce obecnie zalogowanego użytkownika.&lt;/p&gt;

&lt;p&gt;Jakieś wskazówki?&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
string  getting_rid_of_first_line(string source_text, string first_vertical_line) {

    size_t first_position_of_line;
    string string_to_return = &quot;&quot;;
    first_position_of_line = source_text.find(first_vertical_line);

    string_to_return = source_text.substr(0,first_position_of_line);

    return string_to_return;
}

int loading_friends_from_file(vector &amp;lt;Friend&amp;gt; &amp;amp;friends, int logged_user_id) {

    Friend new_friends;

    string personals_data = &quot;&quot;;
    fstream file;

    file.open(&quot;friends.txt&quot;, ios :: in);

    if (file.good()) {

        while(getline(file,personals_data)) {

            if(stoi(getting_rid_of_first_two_lines(personals_data,&quot;|&quot;,&quot;|&quot;)) == logged_user_id ) {
                int persons_number = 1;

                for (size_t index{}; index &amp;lt; personals_data.length(); ++index) {

                    switch(persons_number) {
                    case 1:
                        new_friends.friends_id = stoi(getting_rid_of_first_line(personals_data, &quot;|&quot;));
                        new_friends.name = getting_rid_of_second_and_third(personals_data, &quot;|&quot;, &quot;|&quot;, &quot;|&quot;);
                        break;
                    }
                    personals_data = &quot;&quot;;
                    persons_number ++;
               }
                friends.push_back(new_friends);
            }
        }
    }
    file.close();

    return new_friends.friends_id;
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1240/ksi%C4%85%C5%BCki-adresowej-ci%C4%85g-dalszy</guid>
<pubDate>Thu, 15 Dec 2022 09:38:22 +0000</pubDate>
</item>
<item>
<title>Doradztwo dot. przekazywania IdUzytkownika</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1215/doradztwo-dot-przekazywania-iduzytkownika</link>
<description>&lt;p&gt;Serwus,&lt;/p&gt;

&lt;p&gt;stukam właśnie kod dot. Seminarium 19 - scalenia książek adresowych ze sobą.&lt;/p&gt;

&lt;p&gt;Zastanawiam się, w jaki sposób zmienić przesyłanie IdUzytkownika do pliku.&lt;/p&gt;

&lt;p&gt;Obecnie robię to przez referencję, w pliku ładnie zapisuje do momentu wylogowania i zmienienia użytkownika. Wtedy nadpisuje id zmienionego użytkownika, zamiast zostawić jak było. Wiem, w czym jest problem (na chwilę obecną nie wiem jak się z tym uporać), próbowałem już przekazać w voidzie jeszcze drugi wektor &amp;lt;User&amp;gt;, ale i to nic nie wskórało. Na czerwono zaznaczyłem, gdzie myślę ze powinienem wprowadzić zmiany.&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
void saving_friends_to_file&lt;span style=&quot;background-color:#ff0000&quot;&gt;(vector &amp;lt;Friend&amp;gt; &amp;amp;friends, int Logged_user_id)&lt;/span&gt; {

    fstream friends_file;
    string name, surname, phone_number, email, adress;

    friends_file.open (&quot;friends.txt&quot;, ios::out );

    if (friends_file.good()) {

        int friends_amount = friends.size();
        for (int i = 0; i &amp;lt; friends_amount; i++) {

            friends_file &amp;lt;&amp;lt; friends[i].friends_id &amp;lt;&amp;lt; &quot;|&quot;;
          &lt;span style=&quot;background-color:#ff0000&quot;&gt;  friends_file &amp;lt;&amp;lt; Logged_user_id &amp;lt;&amp;lt; &quot;|&quot;;&lt;/span&gt;
            friends_file &amp;lt;&amp;lt; friends[i].name&amp;lt;&amp;lt; &quot;|&quot;;
            friends_file &amp;lt;&amp;lt; friends[i].surname &amp;lt;&amp;lt; &quot;|&quot;;
            friends_file &amp;lt;&amp;lt; friends[i].phone_number&amp;lt;&amp;lt; &quot;|&quot;;
            friends_file &amp;lt;&amp;lt; friends[i].email &amp;lt;&amp;lt; &quot;|&quot;;
            friends_file &amp;lt;&amp;lt; friends[i].adress &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; endl;

        }
        friends_file.close();
    } else {
        cout &amp;lt;&amp;lt; &quot;couldnt open file&quot; &amp;lt;&amp;lt; endl;
    }
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1215/doradztwo-dot-przekazywania-iduzytkownika</guid>
<pubDate>Wed, 07 Dec 2022 20:02:58 +0000</pubDate>
</item>
<item>
<title>Powielanie stringa</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1207/powielanie-stringa</link>
<description>&lt;p&gt;Hej, czy jest jakaś opcja na powielanie stringa (ileś razy). Tak jak to jest np w pythonie :&lt;/p&gt;

&lt;pre&gt;
wielewitaj = &quot;witaj&quot; * 10&lt;/pre&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1207/powielanie-stringa</guid>
<pubDate>Mon, 05 Dec 2022 19:48:23 +0000</pubDate>
</item>
<item>
<title>SPOJ FCTRL3 - Dwie cyfry silni</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1202/spoj-fctrl3-dwie-cyfry-silni</link>
<description>&lt;p&gt;Cześć Wszystkim :)&lt;/p&gt;

&lt;p&gt;Zwracam się do Was z prośbą bo sam nie mogę namierzyć błędu. Problem polega na tym, że na ideone wyniki wyświetlone są poprawnie, czas też nie jest przekroczony, natomiast sędzia na SPOJ pokazuje błędną odpowiedź...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://pl.spoj.com/problems/FCTRL3/&quot; rel=&quot;nofollow&quot;&gt;https://pl.spoj.com/problems/FCTRL3/&lt;/a&gt;&lt;/p&gt;

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

using namespace std;

int policzenieSilni(int liczba)
{
    int silnia=1;
    for (int i = liczba; i&amp;gt;0; i--)
    {
       silnia *= i;
    }
    return silnia;
}

int main()
{
    int test=1;
    cin &amp;gt;&amp;gt; test;
    for (int i = 0; i &amp;lt; test; i++)
    {
        int liczba;
        cin &amp;gt;&amp;gt; liczba;
        if (liczba &amp;lt; 10)
        {
        int silnia = policzenieSilni(liczba);
        cout &amp;lt;&amp;lt; silnia/10%10&amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt; silnia%10&amp;lt;&amp;lt;endl;
        }
        else cout &amp;lt;&amp;lt;0&amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt;0;
    }
    return 0;
}&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1202/spoj-fctrl3-dwie-cyfry-silni</guid>
<pubDate>Wed, 30 Nov 2022 14:29:17 +0000</pubDate>
</item>
<item>
<title>Niewywoływanie się żadnej funkcji</title>
<link>http://forum.przyszlyprogramista.pl/?qa=1198/niewywo%C5%82ywanie-si%C4%99-%C5%BCadnej-funkcji</link>
<description>Hej, cześć wszystkim. Wykonuje właśnie kod do zadania domowego z kursu Pasja informatyki odc. 11 (&lt;a href=&quot;https://www.youtube.com/watch?v=63QjKBcIySs&amp;amp;list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo&amp;amp;index=12&quot; rel=&quot;nofollow&quot;&gt;https://www.youtube.com/watch?v=63QjKBcIySs&amp;amp;list=PLOYHgt8dIdoxx0Y5wzs7CFpmBzb40PaDo&amp;amp;index=12&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Chodzi o to, żeby stworzyć program, który będzie wyświetlał średnią z 5 podanych przez użytkownika liczb, a następnie pokaże liczbę (z tych 5), która jest najbardziej zbliżona do obliczonej średniej.&lt;br /&gt;
&lt;br /&gt;
Sytuacja wygląda tak, że na początku funkcjonalnie działało poprawnie, natomiast gdy funkcję zwracającą liczbę szukaną (która obliczała w tym też średnią) podzieliłem na 2 funkcje do liczenia średniej oraz do zwracania liczby szukanej coś się popsuło. Dokładnie to: przy uruchamianiu programu nic się nie wyświetla i należy kliknąć klawisz, aby zamknąć.&lt;br /&gt;
&lt;br /&gt;
P.S. Będę wdzięczny za możliwe inne metody napisania tego programu natomiast najbardziej zależy mi na znalezieniu problemu.&lt;br /&gt;
&lt;br /&gt;
P.S.2. Jestem świeżakiem, więc po 1 miło mi tu gościć :) Jestem Krzysiek :P, a po 2 wydaje mi się, że problem jest w funkcji oblicz_srednia(), więc inne rzeczy zakomentowałem.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
KOD:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include&amp;lt;cstdlib&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
float oblicz_srednia(float *tab, int ile)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float suma = 0;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i=0; i&amp;lt;ile; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suma += *tab;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab ++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return (suma/ile);&lt;br /&gt;
}&lt;br /&gt;
/*float wybierz_najblizej_sredniej(float *tab, int ile, float srednia)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float a, wynik;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i=ile; i&amp;gt;0; i--)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a = abs(srednia-(*tab));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wynik = *tab;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//cout &amp;lt;&amp;lt; &amp;quot;Srednia wynosi: &amp;quot; &amp;lt;&amp;lt; srednia;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i=0; i&amp;lt;ile; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tab ++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (a &amp;gt; abs(srednia-(*tab)))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a = abs(srednia-(*tab));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wynik = *tab;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return wynik;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int ile;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float tablica[ile];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float liczba, srednia;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; &amp;quot;Wpisz ile liczb: &amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cin &amp;gt;&amp;gt; ile;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;Wpisz po spacji liczby: &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i=0; i&amp;lt;ile; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cin &amp;gt;&amp;gt; liczba;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tablica[i] = liczba;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;srednia = oblicz_srednia(tablica, ile);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &amp;quot;Srednia wynosi: &amp;quot; &amp;lt;&amp;lt; srednia;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;// cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;Liczba najblizej sredniej to: &amp;quot; &amp;lt;&amp;lt; wybierz_najblizej_sredniej(tablica, ile, srednia);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;&lt;br /&gt;
}</description>
<category>C++</category>
<guid isPermaLink="true">http://forum.przyszlyprogramista.pl/?qa=1198/niewywo%C5%82ywanie-si%C4%99-%C5%BCadnej-funkcji</guid>
<pubDate>Tue, 29 Nov 2022 20:38:27 +0000</pubDate>
</item>
</channel>
</rss>