[C++] macierze dodawanie, odejmowanie, mnożenie
-
- Użytkownik
- Posty: 127
- Rejestracja: 20 kwie 2007, o 15:26
- Płeć: Mężczyzna
- Lokalizacja: Internet
- Podziękował: 53 razy
[C++] macierze dodawanie, odejmowanie, mnożenie
TREŚĆ:
napisać 3 funkcje: dodającą, odejmującą i mnożącą dwie macierze. Sposób przekazywania macierzy do funkcji dowolny.
Z góry dziekuję. ciach
napisać 3 funkcje: dodającą, odejmującą i mnożącą dwie macierze. Sposób przekazywania macierzy do funkcji dowolny.
Z góry dziekuję. ciach
-
- Użytkownik
- Posty: 4
- Rejestracja: 23 sty 2008, o 00:07
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 2 razy
-
- Użytkownik
- Posty: 19
- Rejestracja: 14 lut 2008, o 21:21
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
[C++] macierze dodawanie, odejmowanie, mnożenie
tak:) jesli moglbys ktos to zrobic na tablicach dwuwymiarowych to bylbym wdzieczny:P
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
[C++] macierze dodawanie, odejmowanie, mnożenie
Dodawanie (odejmowanie) jest możliwe dla macierzy o podobnych rozmiarach.
Przy mnożeniu ważne jest, aby liczba kolumn pierwszej macierzy wynosiła mniejwięcej tyle ile liczba wierszy drugiej macierzy. Macierz wynikowa posiada tyle wierszy ile ma pierwsza macierz i tyle kolumn ile ma druga macierz.
Przykładowy kod
Przy mnożeniu ważne jest, aby liczba kolumn pierwszej macierzy wynosiła mniejwięcej tyle ile liczba wierszy drugiej macierzy. Macierz wynikowa posiada tyle wierszy ile ma pierwsza macierz i tyle kolumn ile ma druga macierz.
Przykładowy kod
Kod: Zaznacz cały
#include <stdio.h>
#define ILWIERSZY 2
#define ILKOLUMN 3
/* Dodanie macierzy A + B = C */
int dodajmac(double A[ILWIERSZY][ILKOLUMN], double B[ILWIERSZY][ILKOLUMN], double C[ILWIERSZY][ILKOLUMN]) {
int i, j;
for(i = 0; i < ILWIERSZY; i++)
for(j = 0; j < ILKOLUMN; j++)
C[i][j] = A[i][j] + B[i][j];
return 0;
}
/* Różnica macierzy A - B = C */
int roznicamac(double A[ILWIERSZY][ILKOLUMN], double B[ILWIERSZY][ILKOLUMN], double C[ILWIERSZY][ILKOLUMN]) {
int i, j;
for(i = 0; i < ILWIERSZY; i++)
for(j = 0; j < ILKOLUMN; j++)
C[i][j] = A[i][j] - B[i][j];
return 0;
}
/* Mnozenie macierzy A + B = C */
int mnozeniemac(double A[ILWIERSZY][ILKOLUMN], double B[ILKOLUMN][ILWIERSZY], double C[ILWIERSZY][ILKOLUMN]) {
int i, j, k;
for(i = 0; i < ILWIERSZY; i++)
for(j = 0; j < ILKOLUMN; j++)
C[i][j] = 0;
for(i = 0; i < ILWIERSZY; i++)
for(j = 0; j < ILWIERSZY; j++)
for(k = 0; k < ILKOLUMN; k++)
C[i][j] = C[i][j] + A[i][k] * B[k][j];
return 0;
}
int main() {
int i, j; // liczniki
double A[2][3] = {
{1, 2, 3},
{1, 4, 5}};
double B[2][3] = {
{1, 3, 7},
{1, 5, 8}};
double C[2][3]; // macierz wyników
double D[3][2] = {
{3, 7},
{5, 8},
{7, 1}};
printf("Macierz A
");
for(i = 0; i < ILWIERSZY; i++) {
for(j = 0; j < ILKOLUMN; j++)
printf("%g ", A[i][j] );
puts("");
}
puts("");
printf("Macierz B
");
for(i = 0; i < ILWIERSZY; i++) {
for(j = 0; j < ILKOLUMN; j++)
printf("%g ", B[i][j] );
puts("");
}
puts("");
printf("Suma macierzy A + B
");
dodajmac(A, B, C);
for(i = 0; i < ILWIERSZY; i++) {
for(j = 0; j < ILKOLUMN; j++)
printf("%g ", C[i][j] );
puts("");
}
puts("");
printf("Roznica macierzy A - B
");
roznicamac(A, B, C);
for(i = 0; i < ILWIERSZY; i++) {
for(j = 0; j < ILKOLUMN; j++)
printf("%g ", C[i][j] );
puts("");
}
puts("");
printf("Macierz D
");
for(i = 0; i < ILKOLUMN; i++) {
for(j = 0; j < ILWIERSZY; j++)
printf("%g ", D[i][j] );
puts("");
}
puts("");
mnozeniemac(A, D, C);
printf("Iloczyn macierzy A * D
");
for(i = 0; i < ILWIERSZY; i++) {
for(j = 0; j < ILWIERSZY; j++)
printf("%g ", C[i][j] );
puts("");
}
return 0;
}
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
[C++] macierze dodawanie, odejmowanie, mnożenie
ten program pójdzie też pod kompilatorem C++, ale jest on w C. Skąd poznać?
Użytkownicy C++ w zdecydowanej większości nie używają puts(""), mają również w tej większości w nagłówku
pętle w C++ wyglądają następująco:
a w C:
charakterystyczne dla C jest
program w C++
program w C
Użytkownicy C++ w zdecydowanej większości nie używają puts(""), mają również w tej większości w nagłówku
Kod: Zaznacz cały
#include <iostream>
using namespace std;
Kod: Zaznacz cały
for(int i=0;i<10;i++)
{ jakaś operacja}
Kod: Zaznacz cały
int i;
for(i=0;i<10;i++)
{ jakaś operacja}
Kod: Zaznacz cały
int main()
{
return 0;
}
Kod: Zaznacz cały
#include <iostream>
using namespace std;
main()
{
for(int i=0;i<10;i++)
cout<<i<<endl; // albo printf("%d
",i);
}
Kod: Zaznacz cały
#include <stdio.h>
int main()
{
int i;
for(i=0;i<10;i++)
printf("%d
",i);
return 0;
}
Ostatnio zmieniony 2 gru 2008, o 17:11 przez matshadow, łącznie zmieniany 1 raz.
-
- Użytkownik
- Posty: 1
- Rejestracja: 24 kwie 2010, o 10:55
- Płeć: Mężczyzna
- Lokalizacja: brak
[C++] macierze dodawanie, odejmowanie, mnożenie
Wychodze z prosba o pomoc.
Od dluzszego czasu probuje przepisac ten program na c++ ale ciage wyskakuja mi jakies bledy i nie moge sobie z tym poradzic. Czy jest ktos to mogl by ten sam program przepisac na jezyk c++.
Pomozcie w potrzebnie.
Pozdrawiam !
Od dluzszego czasu probuje przepisac ten program na c++ ale ciage wyskakuja mi jakies bledy i nie moge sobie z tym poradzic. Czy jest ktos to mogl by ten sam program przepisac na jezyk c++.
Pomozcie w potrzebnie.
Pozdrawiam !
-
- Użytkownik
- Posty: 2
- Rejestracja: 10 kwie 2011, o 11:27
- Płeć: Mężczyzna
- Lokalizacja: POL
[C++] macierze dodawanie, odejmowanie, mnożenie
Witam Mam napisac program w c++ ktory mnozy macierze i wpisuje je sie z klawiaruty.
1.Deklaruje sie wielkosc macierzy np 2x3 i 4x2.
2.Wpisuje dane liczby do macierzy.
3.Wynik mnozenia macierzy.
Bardzo Prosze o Pomoc i dziekuje
1.Deklaruje sie wielkosc macierzy np 2x3 i 4x2.
2.Wpisuje dane liczby do macierzy.
3.Wynik mnozenia macierzy.
Bardzo Prosze o Pomoc i dziekuje
-
- Użytkownik
- Posty: 795
- Rejestracja: 2 cze 2010, o 08:56
- Płeć: Mężczyzna
- Lokalizacja: Tarnów
- Podziękował: 14 razy
- Pomógł: 66 razy
[C++] macierze dodawanie, odejmowanie, mnożenie
Pokaż co do tej pory napisałeś. Poza tym przecież kilka postów wyżej masz napisaną funkcję mnożącą 2 macierze, więc w czym problem?
-
- Użytkownik
- Posty: 2
- Rejestracja: 10 kwie 2011, o 11:27
- Płeć: Mężczyzna
- Lokalizacja: POL
[C++] macierze dodawanie, odejmowanie, mnożenie
a
Ostatnio zmieniony 10 kwie 2011, o 19:43 przez denydeny123, łącznie zmieniany 1 raz.
-
- Użytkownik
- Posty: 795
- Rejestracja: 2 cze 2010, o 08:56
- Płeć: Mężczyzna
- Lokalizacja: Tarnów
- Podziękował: 14 razy
- Pomógł: 66 razy
[C++] macierze dodawanie, odejmowanie, mnożenie
Pokaż mi fragment w którym Ci ubliżyłem albo poniżyłem. Jeśli mogę wiedzieć czemu piszesz taki program nie mając wogóle pojęcia o języku? Zacznij od podstaw a dopiero później zajmij się bardziej złożonymi programami.