Proszę o pomoc w napisaniu programu

0

Witam wszystkich. Mam do napisania 2 zadania na zaliczenia i nie wiem jak to napisać. Zaczynam dopiero przygodę z programowaniem i proszę o pomoc w napisaniu bo nie wiem co to będzie ... :/
Oto treść zadań:
1.
Policzyć wyrazy ciągu geometrycznego.
Ciąg geometryczny - co najmniej trójelementowy ciąg liczbowy skończony bądź nieskończony, w którym każdy wyraz począwszy od drugiego, powstaje z przemnożenia poprzedniego przez pewną stałą liczbę różną od zera (q), którą nazywamy ilorazem ciągu. Każdy wyraz ciągu geometrycznego, prócz pierwszego (i dla ciągów skończonych – ostatniego) jest średnią geometryczną wyrazów sąsiednich. Np. ciąg : (1,3,9,27,81,243,...) jest ciągiem geometrycznym o ilorazie q=3. Napisać program wczytujący za pomocą funkcji scanf() q (iloraz) oraz liczbę n (ilość wyrazów ciągu). Następnie wyliczyć i wyświetlić pierwszych n wyrazów ciągu oraz podać ich sumę.
Zmodyfikować program zapisując kolejne wyrazy ciągu do tablicy. Po wygenerowaniu wyświetlić wyrazy ciągu od ostatniego do pierwszego.

2.
Policzyć wyrazy ciągu arytmetycznego.
Ciąg arytmetyczny – to ciąg liczbowy, w którym każdy wyraz można otrzymać dodając wyraz bezpośrednio go poprzedzający oraz ustaloną liczbę r, zwaną różnicą ciągu. Np. ciąg: (1,3,5,7,9, ...) jest ciągiem arytmetycznym (jego różnicą r jest 2). Napisać program wczytujący zza pomocą funkcji scanf() r (różnicę) oraz liczbę n (ilość wyrazów ciągu). Następnie wyliczyć i wyświetlić pierwszych n wyrazów ciągu oraz podać ich sumę.
Zmodyfikować program zapisując kolejne wyrazy ciągu do tablicy. Po wygenerowaniu wyświetlić wyrazy ciągu od ostatniego do pierwszego.

Z góry dziękuje za pomoc!

0

I jak ci pomóc ?
Bo jeśli chodzi o napisanie tych programów nikt za ciebie tego nie zrobi, chyba że za opłatą. Jakkolwiek skąpo by to nie brzmiało, ktoś musi poświęcić jakąś ilość czasu na napisanie tego i zwykłe dziękuje za to raczej nie wystarczy.
Jeżeli chodzi o porady, to może powiedz czego nie wiesz ?

0

Wiem mniej więcej jak to napisać nie wiem jak wykonać to polecenie "Zmodyfikować program zapisując kolejne wyrazy ciągu do tablicy. Po wygenerowaniu wyświetlić wyrazy ciągu od ostatniego do pierwszego."

1

Stwórz tablicę o rozmiarze n
I przypisuj jej kolejne wyrazy ciągu w pętli


for(int i=0;i<n;i++)
tab[i] = pow(q,i)*a // q^(n-1) * a malo wydajne ale proste
0

Spróbuje i dam odpowiedź co wyszło z tego. Dziękuje

0

Robię 2 zadanie i jak na razie zatrzymałem się w takiej fazie nie wiem jak usprawnić ten kod ...

#include<stdio.h>
#include<conio.h>
int main()
{
    int a1,n,q;
    printf("Program rozwiazujacy ciąg geometryczny");
    printf("Podaj pierwszy wyraz ciagu: ");
    scanf("%d%d%d",&a1);
    printf("Podaj iloraz ciągu geometrycznego ");
    scanf("%d%d%d",&q);

    if (n==0 && q==0)
       printf("Błędne dane");
    for(int i=0;i<n;i++)
    tab[i] = pow(q,i)*a1;

    return 0;

}

Ktoś pomoże?

0

Wyrzucić i napisać od nowa poprawnie.

Ciąg geometryczny ma taką własność, że a_{n+1} = a_n \cdot q
A ty w każdym kroku liczysz q do potęgi i...

Nie licząc tego, że masz tam jeszcze z 5 innych błędów związanych z samą składnią, weź przeczytaj jakiś kurs.

0

To jak mam to napisać?

0
  1. Tablica nie jest zadeklarowana.
  2. n nie jest zainicjalizowane przed pierwszym użyciem.
  3. pow wymaga dołączenia odpowiedniego nagłówka.
  4. scanf("%d%d%d",&a1); co to robi według ciebie?
  5. Jak już napisałem wcześniej twoje rozwiązanie nie jest optymalne.
0
  1. A jak mam ją zadeklarować?
  2. Już to robię.
  3. W jaki sposób mam go dołączyć?
  4. Miało prosić o podanie a1
  5. Na razie chce żeby program działał a nie był optymalny :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0