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

Mnożenie macierzy w c#

Aruba Cloud - Virtual Private Server VPS
0 głosów
139 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,340 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,340 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 293 wizyt
pytanie zadane 27 maja 2023 w C i C++ przez natalia2002. Początkujący (400 p.)
–1 głos
1 odpowiedź 754 wizyt
pytanie zadane 25 marca 2021 w C i C++ przez Karina126 Początkujący (280 p.)
0 głosów
1 odpowiedź 1,135 wizyt
pytanie zadane 11 października 2019 w C i C++ przez kazik8980 Użytkownik (810 p.)

93,337 zapytań

142,332 odpowiedzi

322,423 komentarzy

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

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!

...