Napisz kod, który będzie zwracał liczby (i wypisał ich czynniki ) takie, które mają trzy różne czynniki nieparzyste. np. 1157625: 3, 3, 3, 5, 5, 5, 7, 7, 7 TAK; 105: 3, 5, 7 TAK; 1287: 3, 3, 11, 13 TAK; 3465: 3, 3, 5, 7, 11 NIE Bardzo proszę, aby było to na poziomie licealnym pierwsza klasa (bez string i map, tylko cmath i iostream, i jak najprościej)
Proszę uprzejmie. Napisałam jeszcze raz bez string i bez map. Załączyłam też wyniki aż do 1157625 – największej liczby z zadania. Poprzednie były tylko do 999999.
Jeżeli tablice nie mogą być typu vector, to wiersz 36. zastąp następującą treścią
int spis[3][2] = { {0, 0},{0, 0},{0, 0} };
Jeśli dokonasz tej zmiany, to usuń wiersze 3. oraz 7.
Możesz też usunąć wiersze 23. i 24., albo objaśnić nauczycielowi, że to sprawdzanie jest dlatego, że funkcja jest uniwersalna i unika dzielenia przez zero.
Wyjaśnienie
Zanim jeszcze w ogóle poszedłeś do szkoły, bo już w roku 2011, wprowadzono standard C++11 i na prawdę wtedy sporo się w C++ zmieniło. (Potem jeszcze były zmiany C++14, C++17 i C++20, jednak mało się zmieniało w sprawach podstawowych.) Między innymi należy używać struktur string oraz vector – są ku temu ważne powody, to nie jest kosmetyka. Polecam współczesne podręczniki, na pewno takie, które uwzględniają standard C+14 lub nowszy.
Co do nauki programowania, to zajęło mi sporo czasu. I moje podręczniki się już zestarzały... Z tym, że mogę pisać nie tylko w językach C#, C++, Python i Scratch. Chociaż w Scratch nie zamierzam. :)
Patrzyłam na programy innych i je przerabiałam na swoje. Ale jednak bez jakiegoś dobrego podręcznika sobie nauki nie wyobrażam. Tytuł nic nie znaczy, bo czasem w tytule Podstawy, a treść jest całkiem zaawansowana, a czasem w tytule Zaawansowany podczas gdy wewnątrz same podstawy...
Nie wiem dlaczego nie napisałeś, że używasz Code::Blocks. A w każdym razie Twój przykład wygląda jak z Code::Blocks. Jeśli nic nie zmieniałeś, Code::Blocks domyślnie używa standardu C++14. Natomiast sugerowałabym abyś pisał programy w całkowicie darmowym Microsoft Visual Studio 2019. Więcej i szybciej się nauczysz. VS 2019 wprawdzie domyślnie używa C++17, ale różnice są małe. Właściwie na Twoim poziomie sprowadzają się o tego, że w tej edycji Code::Blocks identyfikatory (nazwy zmiennych, funkcji itd.) jeszcze nie mogą zawierać polskich liter i czasem potrzeba dopisać dodatkowe wiersze #include.
Tak konkretnie polecam VS 2019, a nie VS 2022. Pisz w VS 2019, a potem kopiuj do Code::Blocks.
2 votes Thanks 1
0AB
Dziękuję za najlepsze. Rzadko komu się chce kliknąć aby podziękować...
Jak poszło? Czy dostałeś dobrą ocenę? A zrozumiałeś już co napisałeś?
Odpowiedź
Proszę uprzejmie. Napisałam jeszcze raz bez string i bez map. Załączyłam też wyniki aż do 1157625 – największej liczby z zadania. Poprzednie były tylko do 999999.
Jeżeli tablice nie mogą być typu vector, to wiersz 36. zastąp następującą treścią
Jeśli dokonasz tej zmiany, to usuń wiersze 3. oraz 7.
Możesz też usunąć wiersze 23. i 24., albo objaśnić nauczycielowi, że to sprawdzanie jest dlatego, że funkcja jest uniwersalna i unika dzielenia przez zero.
Wyjaśnienie
Zanim jeszcze w ogóle poszedłeś do szkoły, bo już w roku 2011, wprowadzono standard C++11 i na prawdę wtedy sporo się w C++ zmieniło. (Potem jeszcze były zmiany C++14, C++17 i C++20, jednak mało się zmieniało w sprawach podstawowych.) Między innymi należy używać struktur string oraz vector – są ku temu ważne powody, to nie jest kosmetyka. Polecam współczesne podręczniki, na pewno takie, które uwzględniają standard C+14 lub nowszy.
Co do nauki programowania, to zajęło mi sporo czasu. I moje podręczniki się już zestarzały... Z tym, że mogę pisać nie tylko w językach C#, C++, Python i Scratch. Chociaż w Scratch nie zamierzam. :)
Patrzyłam na programy innych i je przerabiałam na swoje. Ale jednak bez jakiegoś dobrego podręcznika sobie nauki nie wyobrażam. Tytuł nic nie znaczy, bo czasem w tytule Podstawy, a treść jest całkiem zaawansowana, a czasem w tytule Zaawansowany podczas gdy wewnątrz same podstawy...
Nie wiem dlaczego nie napisałeś, że używasz Code::Blocks. A w każdym razie Twój przykład wygląda jak z Code::Blocks. Jeśli nic nie zmieniałeś, Code::Blocks domyślnie używa standardu C++14. Natomiast sugerowałabym abyś pisał programy w całkowicie darmowym Microsoft Visual Studio 2019. Więcej i szybciej się nauczysz. VS 2019 wprawdzie domyślnie używa C++17, ale różnice są małe. Właściwie na Twoim poziomie sprowadzają się o tego, że w tej edycji Code::Blocks identyfikatory (nazwy zmiennych, funkcji itd.) jeszcze nie mogą zawierać polskich liter i czasem potrzeba dopisać dodatkowe wiersze #include.
Tak konkretnie polecam VS 2019, a nie VS 2022. Pisz w VS 2019, a potem kopiuj do Code::Blocks.
Jak poszło? Czy dostałeś dobrą ocenę? A zrozumiałeś już co napisałeś?