Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++]

#1
Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++]
Dzień Dobry,

Dzisiejszy post będzie dotyczył problemu policzenia sumy w pętli.

Specyfikacja problemu: mamy x kierowców i y tras. Każdy kierowca przejeżdża przez y tras i dostaje za to punkty. Policzyć sumę punktów dla postrzególnych kierowców.

No to wpadłem na to, że przesuwając licznik w pętli możemy otrzymać sumę dla konkretnego kierowcy (jak pokazuje kod poniżej) jednak kod się rozrasta, nie jest zbyt efektywne rozwiązanie.

Tu widzimy podliczanie sumy dla kierowcy 2 bo licznik jest od 1 do 2, do 3 kierowcy bym zrobił od i=2 i i<3.
Kod:
int k2=0;
    for(int i=1;i<2;i++){
       for(int j=0;j<4;j++){
           k2=k2+tablica[i][j];

       }
       }

Czego chce?
Chciałbym was zapytać o jakieś rozwiązanie, które automatycznie będzie liczyło sumę dla postrzególnych kierowców, no bo dla trzech, czterech to jeszcze pętle mogę sobie pobudować, ale co jak dostanę tysiąc kierowców?

Pozdrawiam,
Pamietaj nie musisz mi pomagac ale i tobie moze byc potrzebna pomocOczy
 System operacyjny: windows_seven Przeglądarka: chrome
#2
RE: Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++]
Cześć, skoro jest x kierowców, to możesz przecież utworzyć tablicę złożoną z x elementów i do niej odkładać wyniki poszczególnych kierowców.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++]
No tak mogę, pytanie jednak jak manipulować pętlą aby te x pętli złączyć w jedną. Bo na razie aby podliczyć sumę dla każdego kierowcy z osobna tworze tyle pętli ile jest kierowców przesuwając kolejno licznik tylko o 1 w górę.

Tu użytkownik podaje kolejno punkty uzyskane za przejazd gdzie x to ilosc kierowców y ilość tras.

Kod:
int tablica [x][y];
   for(int i=0;i<x;i++){
       for(int j=0;j<y;j++){
           cout<<"Podaj wartosc"<<endl;
           cin>>tablica[i][j];
       }
   }

Aktualnie podliczam punkty do konkretnego kierowcy tak :
(1 i 2 bo to wartość w pętli odpowiadająca za 2 kierowcę, 2-3 to kierowca 3 itp.
4 w drugiej pętli to ilość tras, założyłem, że 4.
Kod:
int k2=0;
    for(int i=1;i<2;i++){
       for(int j=0;j<4;j++){
           k2=k2+tablica[i][j];

       }
       }
Dla 3 kierowcy licznik 1 pętli by wyglądał :
Kod:
for(int i=2;i<3;i++){
itp...

Chcę to jakoś skrócić, może zapisać w jednej pętli, tylko nie mam pomysłu jak to zapisać, chodzi o to że tylko ten indeks i się zwiększa co y tras o 1 aby otrzymać następnego kierowce(w tym wypadku co 4 ).
Pamietaj nie musisz mi pomagac ale i tobie moze byc potrzebna pomocOczy
 System operacyjny: windows_seven Przeglądarka: chrome
#4
RE: Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++]
Kod:
const int x = 10, y = 20;
int tablica[x][y], kierowcy[x] = {0};
for (int i = 0; i < x; i++)
    for (int j = 0; j < y; i++)
        std::cin >> tablica[i][j];
for (int i = 0; i < x; i++)
    for (int j = 0; j < y; j++)
        kierowcy[i] += tablica[i][j];
for (int i = 0; i < x; i++)
    std::cout << kierowcy[i] << '\n';
 System operacyjny: linux_ubuntu Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++])
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Pomoc w pętli for BATCH falafal 3 9584 24.05.2017, 08:19
Ostatni post: falafal
  [C#] Zmiana PictureBox'ów w pętli. kamen96 7 3155 02.05.2014, 17:12
Ostatni post: kamen96
  Przekręcanie się licznika w pętli [C++] Trojan3000 2 2435 16.03.2014, 14:37
Ostatni post: Trojan3000

Skocz do:


Wybrane wątki (Podliczanie sumy w pętli, dla każdej iteracji z osobna [C++])
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Python z wiersza poleceń Physicist 15 21716 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7057 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 7835 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 9770 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 9215 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 9204 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 11240 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4475 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 10465 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 10762 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 10432 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 10085 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 9191 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 12836 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 9689 07.03.2019 15:33
Ostatni post: wiktrom12