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

Zliczanie sumy elementów parzystych tablicy dwuwymiarowej

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
837 wizyt
pytanie zadane 20 kwietnia 2019 w C i C++ przez zaliczenie14 Użytkownik (620 p.)

Cześć chciałbym zrobić program który będzie zliczał sumy elementów parzystych tablicy 4x4. Chodzi o elementy tablicy a nie o ich liczbę. Wartości były podawane przez użytkownika. Próbowałem coś zdziałać, ale proszę o pomoc. 

#include <iostream>
using namespace std;

int main()
{
    const int n=4, m=n;
	double a[n][m];

	int i,j;

	for(i=0;i<=n-1;i++)
		for(j=0;j<=m-1;j++)

		{
			cout<<"a["<<i<<"]["<<j<<"]=";
			cin>>a[i][j];
		}

       for (int i=0;i<n-1;i++)
            for(j=0;j<=m-1;j++)
                if((a[i][j]%2)=0)
                     suma+=a[i][j];


    for(i=0;i<=n-1;i++)
	{
		for(j=0;j<=m-1;j++)
			cout<<a[i][j]<<"\t";
    }

    cout<<endl;
	return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 20 kwietnia 2019 przez DeBos123 Nałogowiec (44,950 p.)
wybrane 20 kwietnia 2019 przez zaliczenie14
 
Najlepsza

Po pierwsze definiuj iteratory w pętli.

Po drugie w warunku pętli powinno być i<n gdzie n to wielkość tablicy, wtedy pętla wykona się n razy.

Po trzecie:

Chodzi o elementy tablicy a nie o ich liczbę.

Jeżeli chodzi ci o parzyste index'y to w twoim kodzie błąd polega na tym, że sprawdzasz czy sama liczba jest parzysta, a nie index.

Co do rozwiązania to zdefiniuj najpierw zmienną sum typu double.

Parzyste liczby zaczynają się od zera, czyli ustawiasz oba iteratory na 0.

Co druga liczba jest parzysta, czyli zwiększasz iterator o 2 za każdym razem.

Działający kod wygląda tak:

#include <iostream>
using namespace std;
 
int main()
{
    const int n=4, m=n;
    double a[n][m];
 
    int i,j;

    double suma;
 
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
 
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
 
       for (int i=0;i<n;i+=2)
            for(j=0;j<m;j+=2)
                 suma+=a[i][j];
 
 
    for(i=0;i<=n-1;i++)
    {
        for(j=0;j<=m-1;j++)
            cout<<a[i][j]<<"\t";
    }
 
    cout<<endl;
    return 0;
}

Podobne pytania

0 głosów
2 odpowiedzi 523 wizyt
pytanie zadane 14 stycznia 2019 w C i C++ przez Shimeo7 Obywatel (1,910 p.)
0 głosów
1 odpowiedź 1,445 wizyt
0 głosów
1 odpowiedź 206 wizyt
pytanie zadane 7 października 2019 w Java przez Szczurek431 Początkujący (330 p.)

93,176 zapytań

142,187 odpowiedzi

321,982 komentarzy

62,508 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1637p. - dia-Chann
  2. 1614p. - Łukasz Piwowar
  3. 1599p. - CC PL
  4. 1597p. - Łukasz Eckert
  5. 1572p. - Tomasz Bielak
  6. 1545p. - Michal Drewniak
  7. 1537p. - Łukasz Siedlecki
  8. 1531p. - rucin93
  9. 1509p. - rafalszastok
  10. 1506p. - Marcin Putra
  11. 1380p. - Adrian Wieprzkowicz
  12. 1356p. - ssynowiec
  13. 1341p. - Mikbac
  14. 1169p. - Grzegorz Aleksander Klementowski
  15. 1155p. - Piotr Aleksandrowicz
Szczegóły i pełne wyniki

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 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...