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

Mnożenie macierzy w c#

Object Storage Arubacloud
0 głosów
104 wizyt
pytanie zadane 7 grudnia 2023 w C# przez saii Nowicjusz (120 p.)

Prosiłbym o pomoc w znalezieniu błędu w kodzie

Console.Write("podaj ilosc wierszy pierwszej macierzy:");
int wiersze1 = int.Parse(Console.ReadLine());
Console.Write("podaj ilosc kolumn pierwszej macierzy:");
int kolumny1 = int.Parse(Console.ReadLine());
int[,] tab1 = new int[wiersze1, kolumny1];

for (int i=0; i<wiersze1;i++ )
    {
        Console.WriteLine("podaj elementy {0} wiersza", i+1);
        for (int j = 0; j < kolumny1; j++)
        {
            tab1[i, j] = int.Parse(Console.ReadLine());
        }
    }

Console.WriteLine("twoja 1 macierz to:");
for (int i = 0; i < wiersze1  ; i++)
{
    for (int j = 0; j < kolumny1; j++)
    {
        Console.Write("{0} ", tab1[i, j]);
    }
    Console.WriteLine();
}


///2macierz

Console.Write("podaj ilosc wierszy drugiej macierzy:");
int wiersze2 = int.Parse(Console.ReadLine());
Console.Write("podaj ilosc kolumn drugiej macierzy:");
int kolumny2 = int.Parse(Console.ReadLine());

int[,] tab2 = new int[wiersze2, kolumny2];
int[,] tab1tab2 = new int[wiersze1, kolumny1];

for (int i = 0; i < wiersze2; i++)
{
    Console.WriteLine("podaj elementy {0} wiersza", i + 1);
    for (int j = 0; j < kolumny2; j++)
    {
        tab2[i, j] = int.Parse(Console.ReadLine());
    }
}

Console.WriteLine("twoja 2 macierz to:");
for (int i = 0; i < wiersze2; i++)
{
    for (int j = 0; j < kolumny2; j++)
    {
        Console.Write("{0} ", tab2[i, j]);
    }
    Console.WriteLine();
}



///mnozenie
Console.WriteLine("\nMnozenie macierzy:");
for (int i = 0; i < wiersze1; i++)
{
    for (int k = 0; k < kolumny2; k++)
    {
        for (int j = 0; j < kolumny1; j++)
        {
            tab1tab2[i, k] += tab1[i, j] * tab2[j, k];
        }
    }
}

Console.WriteLine("\nM1 x M2: ");
for (int i = 0; i < wiersze1; i++)
{
    for (int k = 0; k < kolumny2; k++)
    {
        Console.Write("{0} ", tab1tab2[i, k]);
    }
}

 

komentarz 7 grudnia 2023 przez Oscar Nałogowiec (29,320 p.)
Linia 35 - jakie rozmiary ma mieć wynikowa macierz? Chyba nie jest taka sama jak pierwsza mnożona macierz. W pętli wypisującej już masz lepiej.
komentarz 7 grudnia 2023 przez saii Nowicjusz (120 p.)

Faktycznie dzięki zmieniałem

kolumny1

na

kolumny 2

i program działa

Jeszcze tylko nie do końca wiem jak wyświetlać macierz wynikową w postaci macierzy a nie jednej lini liczb

komentarz 8 grudnia 2023 przez Oscar Nałogowiec (29,320 p.)
W liniach 17-24 masz taką ładną pętelkę w WriteLine co wiersz.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 185 wizyt
pytanie zadane 27 maja 2023 w C i C++ przez natalia2002. Początkujący (400 p.)
–1 głos
1 odpowiedź 600 wizyt
pytanie zadane 25 marca 2021 w C i C++ przez Karina126 Początkujący (280 p.)
0 głosów
1 odpowiedź 904 wizyt
pytanie zadane 11 października 2019 w C i C++ przez kazik8980 Użytkownik (810 p.)

92,759 zapytań

141,682 odpowiedzi

320,455 komentarzy

62,104 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

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!

...