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

Suma liczb na przekątnej w macierzy

Object Storage Arubacloud
0 głosów
2,784 wizyt
pytanie zadane 15 grudnia 2019 w C i C++ przez maj005 Początkujący (300 p.)

Cześć. Mam napisany kod, który oblicza sumę liczb na głównej przekątnej (diagonali) w tablicy, u mnie jest toablica 3x3.

#include <stdio.h>
#define N 3

int main()
{
    int tab1[N][N]={
    {1,2,3},
    {4,5,6},
    {7,8,9},
    };

    int suma=0;

   for (int i = 0; i < N; i++) {
      for (int j = 0 ; j < N; j++){
            if(i==j)
                suma+=tab1[i][j];
      }
   }

    printf("%d", suma);

    return 0;
}

Teraz chciałbym dodać na sztywno kolejną tablicę również 3x3 z wpisanymi już do niej liczbami, policzyć jej sumę na diagonali, a następnie dodać oba wyniki z przekątnych do siebie. 

 

Próbowałem sam ale niestety nie daję rady :/ Byłbym wdzięczny za pomoc ;)

2 odpowiedzi

+1 głos
odpowiedź 15 grudnia 2019 przez kukulim Mądrala (6,440 p.)
int tab2[N][N] = {          //tworzysz nowo tablice tab2
{3,3,3},           //      tu podajesz wartosci dowolne
{4,5,4},          //      tu podajesz wartosci dowolne
{7,8,9},           //      tu podajesz wartoscidowolne
    };

    int suma2 = 0; //deklarujesz nowa sume

    for (int i = 0; i < N; i++) {          //dodajesz tak jak poprzednio
        for (int j = 0; j < N; j++) {
            if (i == j)
                suma2 += tab2[i][j];
        }

/* zamiast petli w petli mozesz poprostu uzyc jednej petli:

    for (int i = 0; i < N; i++) {

                suma2 += tab2[i][i];
    }

*/
    }
    int suma3 = suma2 + suma;          //deklarujesz nowa zmienna suma3 ktora bedzie suma przekatnych

    printf("%d", suma3);
komentarz 15 grudnia 2019 przez maj005 Początkujący (300 p.)
Miałem podobnie tylko chciałem policzyć obie sumy w jednej pętli i to był chyba mój błąd. Dzięki
komentarz 15 grudnia 2019 przez kukulim Mądrala (6,440 p.)
w jednej petli tez mozna:

#include <stdio.h>
#define N 3

int main()
{
    int tab1[N][N] = {
    {1,2,3},
    {4,5,6},
    {7,8,9},
    };
    int tab2[N][N] = {
    {1,2,3},
    {4,5,6},
    {7,8,9},
    };

    int suma = 0;
    int suma2 = 0;

    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            if (i == j)
            {
                suma += tab1[i][j];
                suma2 += tab2[i][j];
            }
        }
    }

    int suma3 = suma2 + suma;
    printf("%d", suma3);

    return 0;
}
0 głosów
odpowiedź 15 grudnia 2019 przez tkz Nałogowiec (42,000 p.)
#include <stdio.h>
#define N 4

int main()
{
    int tab1[N][N] = { { 1, 2, 3, 4 }, { 4, 5, 6, 5 }, { 7, 8, 9, 6 }, { 4, 5, 6, 5 } };

    int sumaLewej = 0;
    int sumaPrawje = 0;

    for (int i = 0; i < N; i++)
    {
        sumaLewej += tab1[i][i];
    }
    for (int i = 0; i < N; i++)
    {
        sumaPrawje += tab1[i][(N - i - 1)];
    }

    printf("%d", sumaLewej);
    printf("%d", sumaPrawje);

    return 0;
}

 

Podobne pytania

0 głosów
2 odpowiedzi 4,609 wizyt
pytanie zadane 20 października 2018 w C i C++ przez Drax Użytkownik (630 p.)
0 głosów
1 odpowiedź 160 wizyt
0 głosów
1 odpowiedź 636 wizyt
pytanie zadane 19 lipca 2015 w C# przez Shreder67 Nowicjusz (120 p.)

92,610 zapytań

141,457 odpowiedzi

319,764 komentarzy

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

...