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

Napisz program, który obliczy sumę wyrazów ciągu arytmetycznego

Object Storage Arubacloud
0 głosów
1,773 wizyt
pytanie zadane 26 listopada 2020 w C i C++ przez Maslo165 Nowicjusz (160 p.)
Hej.

Mam napisać program obliczający sumę wyrazów ciągu arytmetycznego postaci: 1, 4, 7, 10, ... , 31. (Wynik to 176).

Do tego mam zrobić menu za pomocą instrukcji switch case z którego użytkownik wybiera, której funkcji użyć (for / while / do while).

Nie mam zielonego pojęcia jak się za to zabrać. Nie umiem znaleźć w internecie pomocy jak mógłbym to zrobić.

Może tutaj dostanę jakieś wskazówki?

Z góry wielkie dzięki za pomoc.
komentarz 26 listopada 2020 przez tangarr Mędrzec (154,780 p.)
Zacznij od napisania programu proszącego użytkownika o wybór opcji i wróć z kodem.

2 odpowiedzi

0 głosów
odpowiedź 26 listopada 2020 przez Wiciorny Ekspert (269,590 p.)

Zaimplementuj wzór na ciąg arytmetyczny :) 
Suma jest prosta 

public int sum(int[] numbers) {
    if (numbers == null || numbers.length == 0) {
        return 0;
    }
    return (numbers[0] + numbers[numbers.length - 1]) * numbers.length / 2;
}

przykład to jest dla jawy- tak wygląda algorytm teraz przeanalizuj go 

0 głosów
odpowiedź 26 listopada 2020 przez Maslo165 Nowicjusz (160 p.)

Więc napisałem trzy osobne programy dla każdej z pętli. Jak zrobić to menu za pomocą switch case gdzie użytkownik wybiera jakiej funkcji użyć?

 

#include <iostream>
#include <conio.h>

using namespace std;
int main (){
int a;
int suma=0;
for( a=1; a<=31 ; a+=3){
suma=suma+a;
}
cout<<"Suma wyrazow ciagu geometrycznego wynosi "<<suma<<"."<<endl;
getch();
return(0);
}
#include <iostream>
#include <conio.h>
using namespace std;
int main (){
int a=1;
int suma=0;
while(a<=31){
suma=suma+a;
a=a+3;
}
cout<<"Suma wyrazow ciagu geometrycznego wynosi "<<suma<<"."<<endl;
getch();
return(0);
}
#include <iostream>
#include <conio.h>
using namespace std;
int main (){
int a=1;
int suma=0;
do{
suma=suma+a;
a=a+3;
}while(a<=31);
cout<<"Suma wyrazow ciagu geometrycznego wynosi "<<suma<<"."<<endl;
getch();
return(0);
}

 

komentarz 26 listopada 2020 przez Wiciorny Ekspert (269,590 p.)
to nie jest poprawne. Dlaczego dodajesz za każdym raz  3?
wzór jest nie co inny więc to co napisałeś nie jest poprawne
komentarz 26 listopada 2020 przez Maslo165 Nowicjusz (160 p.)
Jak to zrobić w takim razie?
komentarz 26 listopada 2020 przez Wiciorny Ekspert (269,590 p.)

Najlepiej po przepracowaniu materiału.
 

suma=suma+a;
a=a+3; 

wzór na ciąg jest zgoła inny, tzn tutaj zakładasz że masz stałą różnice 3, można zrobić tak, że dane podawane  będą różne 

// znalezienie sumy  d- różnica w ciągu a, wyraz poczatkowy, 
    static float sumOfAP(float a, float d,  
                                  int n) 
    { 
        float sum = 0; 
        for (int i = 0; i < n; i++) 
        { 
            sum = sum + a; 
            a = a + d; 
        } 
        return sum; 
    } 

// w tym przykladzie np
Input : a = 1
        d = 2
        n = 4
Output : 16
1 + 3 + 5 + 7 = 16

Podobne pytania

0 głosów
1 odpowiedź 4,536 wizyt
pytanie zadane 13 października 2016 w C i C++ przez Arek Użytkownik (510 p.)
0 głosów
1 odpowiedź 112 wizyt
pytanie zadane 17 grudnia 2018 w C i C++ przez wojtas_21 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 231 wizyt

92,536 zapytań

141,376 odpowiedzi

319,451 komentarzy

61,920 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!

...