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

Wypisanie n pierwszych wyrazów ciągu

VPS Starter Arubacloud
0 głosów
677 wizyt
pytanie zadane 16 kwietnia 2019 w C i C++ przez Joe Nowicjusz (200 p.)

Uczę się programować i mam problem z takim zadaniem na wypisanie n pierwszych wyrazów ciągu:

a1=1

ai=(ai_-1)/i

Próbowałem coś napisać, ale mam błędy i chyba tu czegoś brakuje

#include <iostream>
using namespace std;

    int main()
{
	int n,a=1,a1=1;


	cout<<"Podaj n:";
	cin>>n;
	cout<<"a1"<<a1<<endl;



	for(int i=2;i<=n;i++)
	{
		a=(a-1)/a;
		cout<<"a"<<i<<"="<<a<<endl;
        }

    return 0;
}


Proszę o pomoc

2 odpowiedzi

+2 głosów
odpowiedź 16 kwietnia 2019 przez DeBos123 Nałogowiec (44,950 p.)
Podaj przykład wejścia i wyjścia programu.
komentarz 16 kwietnia 2019 przez Joe Nowicjusz (200 p.)
nie wiem czy chodzi Ci o to, ale np. wpisuję liczbę 2 i program wypisuje:

a1=1

a2=0.5
komentarz 16 kwietnia 2019 przez DeBos123 Nałogowiec (44,950 p.)

Tak o to chodziło.

Napewno pierwszy błąd jest taki, że w pętli a zawsze będzie równe zero, ponieważ dla każdego dodatniego x działanie (x-x)/x daje wynik zero.

Co w twoim wzorze oznacza aia*i czy i-te a?

komentarz 16 kwietnia 2019 przez Joe Nowicjusz (200 p.)

@DeBos123, ai to i-te a

komentarz 16 kwietnia 2019 przez DeBos123 Nałogowiec (44,950 p.)

@Joe, Dzięki @jankustosz1 zrozumiałem ten wzór.

Wcześniej go źle interpretowałem.

Musisz zamienić typ a1 i i na double.

Działający kod wygląda tak:

#include <iostream>
using namespace std;
 
    int main()
{
    int n,a=1;
    double ai=1;
 
 
    cout<<"Podaj n:";
    cin>>n;
    cout<<"a1="<<ai<<endl;
 
 
 
    for(double i=2;i<=n;i++)
    {
        ai=ai/i;
        cout<<"a"<<i<<"="<<a/i<<endl;
    }
 
    return 0;
}

Jeżeli masz jakieś pytania to pisz.

komentarz 16 kwietnia 2019 przez Joe Nowicjusz (200 p.)
Nie mam pytań, dokładnie o to mi chodziło, ale trochę ciężko mi to było wytłumaczyć, już wiem gdzie były błędy, dzięki
+2 głosów
odpowiedź 16 kwietnia 2019 przez jankustosz1 Nałogowiec (36,160 p.)
Dwa błędy:

1) wzór wygląda tak: a/=i   (czyli dzielisz poprzedni element ciągu przez i)

2) zmień inty na double

Podobne pytania

0 głosów
1 odpowiedź 1,011 wizyt
pytanie zadane 28 lutego 2018 w C i C++ przez janusz1 Początkujący (330 p.)
0 głosów
2 odpowiedzi 1,271 wizyt
pytanie zadane 7 czerwca 2018 w C i C++ przez adamus Użytkownik (860 p.)
0 głosów
1 odpowiedź 828 wizyt

93,008 zapytań

141,975 odpowiedzi

321,256 komentarzy

62,350 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...