• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rekurencja w c++

Object Storage Arubacloud
–1 głos
676 wizyt
pytanie zadane 9 marca 2022 w C i C++ przez mlodybyk100 Nowicjusz (180 p.)

Cześć. Mam oto takie zadanie, które muszę napisać w języku C++, a przykład podany jest w Pythonie. Czy ktoś może poradzić jak można je zamienić z tego języka na język C++ lub od czego zacząć?

Kod z Pythona który ma być przekształcony na C++

n=int(input('Którą liczbę trójkątną mam znaleźć? '))
liczba=0
for i in range(1,n+1):
  liczba=liczba+i
print(liczba)

 

 

 

Treść:

Pitagorejczycy odczuwali mistyczny związek z ciągiem liczb 1, 3, 6, 10, 15, 21 ... Pierwszym wyrazem tego ciągu jest 1. Aby obliczyć n-ty wyraz, należy dodać n do poprzedniego wyrazu. Liczby w tym ciągu nazywane są liczbami trójkątnymi, ponieważ można je sobie wyobrazić jako układ trójkątnych obiektów. Napisz program, który z użyciem rekurencji wyznaczy liczbę wszystkich punktów konstrukcji n-tej liczby trójkątnej.

Do tego zadania mam jeszcze zdjęcie:

 

Za odp, dziękuje

2 odpowiedzi

0 głosów
odpowiedź 9 marca 2022 przez wizarddos Nałogowiec (25,930 p.)

Na pewno potrzebujesz odpowiedników instrukcji z pythona w c++

Aby to zrobić po prostu wpisz w Google lub inną wyszukiwarkę np. "How to (to co chcesz zrobić, oczywiście po angielsku) c++";

Jako pomoc (Jeśli nie pisałeś/aś nigdy w c++) to:

struktura kodu wygląda np. tak

#include <iostream>

//tu funkcje lub ich deklaracje

int main(){
    //Tutaj kod
    return 0;
}

 

pobieranie wartości wygląda następująco

std::cin >> nazwa_zmiennej;

a wypisywanie jej;

std::cout << nazwa_zmiennej; //dodatkowo można dodać <<std::endl; dla przejścia do nowej linii

Z resztą myślę nie będzie problemu, zwłaszcza że źródeł jest dużo

0 głosów
odpowiedź 9 marca 2022 przez toko Dyskutant (7,670 p.)

Masz zrobić rekurencyjnie, więc trzeba to zrobić inaczej niż w tym kodzie co podałeś. Po za tym, chyba powinieneś potrafić "przetłumaczyć" z Pythona na C++ skoro masz takie zadania? Z twoich poprzednich pytań wnioskuję, że kompletnie nie znasz podstaw z podstaw języka. Może jakiś kurs/tutorial w internecie?

W treści zadania masz podany wzór:

trojkatna(1) = 1         (... Pierwszym wyrazem tego ciągu jest 1 ...)

trojkatna(n) = trojkatna(n-1)+n     (... Aby obliczyć n-ty wyraz, należy dodać n do poprzedniego wyrazu ...)

Wystarczy teraz tylko zaimplementować:

int trojkatna(int n)
{
    if(n == 1)     // trojkatna(1) = 1
        return 1;
    return trojkatna(n-1)+n;    // trojkatna(n) = trojkatna(n-1)+n
}

Podobne pytania

+1 głos
1 odpowiedź 385 wizyt
pytanie zadane 6 stycznia 2021 w C i C++ przez monia79wawa Nowicjusz (190 p.)
0 głosów
0 odpowiedzi 1,044 wizyt
pytanie zadane 26 stycznia 2021 w C i C++ przez loczusek Nowicjusz (170 p.)
0 głosów
3 odpowiedzi 995 wizyt
pytanie zadane 27 lutego 2018 w C i C++ przez Ala123456 Użytkownik (760 p.)

92,568 zapytań

141,420 odpowiedzi

319,618 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...