Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Mnozenje kvadratne matrice i vektora

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Mnozenje kvadratne matrice i vektora

[ Pregleda: 8059 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Linux_FreeBSD
student
Mostar

Član broj: 43101
Poruke: 29
*.PPPoE-5192.sa.bih.net.ba.

Sajt: www.dernek.ba


Profil

icon [Zadatak] Mnozenje kvadratne matrice i vektora04.02.2008. u 18:58 - pre 197 meseci
Pozdrav kolege, kako biste rjesili ovaj zadatak ....

Unijeti proizvoljnu kvadratnu matricu realnih brojeva maksimalnih dimenzija 10 i vektor ( a to ga dodje jednodimenz. matrica .. samo jedan red ) .. izvrsiti mnozenje matrice i vektora pri cemu se rezultat smjesta u novu matricu .... i ispisati rezultat
.... bolje ic' u kurvaluk biciklom, nego Mercedesom na posao ....
===============================================
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora04.02.2008. u 19:01 - pre 197 meseci
Molim Vas da postavite kod koji ste do sada uradili.
Po pravilima [ES] foruma brišu se sve teme u kojima autor traži da mu se uradi domaći zadatak, a da prethodno ništa sam nije pokušao. Domaći zadaci su predviđeni za samostalan rad, a članovi C/C++ foruma će svakako pokušati da *pomognu* kada autor i sam pokaže svoje angažovanje i inicijativu.

Hvala na razumevanju i srećan rad.
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.PPPoE-1923.sa.bih.net.ba.



Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora07.02.2008. u 13:18 - pre 197 meseci
Da bi uopšte mogao množiti matrice prvo moraju biti ispunjeni neki uslovi.
Kada množimo dvije matrice (a i b) broj kolona matrice a mora biti jednak broju redova matrice b.
Rezultujuća matrica je formata broj redova matrice a, broj kolona matrice b.

U našem slućaju je u pitanju množenje matrice a i vektora v. To znači da broj kolona matrice a mora biti jednak
broju redova vektora v. Evo jedan primjer množenja kvadratne matrice i vektora.
Code:

                                     
 a11 a12 a13      v11        r11 
 a21 a22 a23  x  v21   =   r21 
 a31 a32 a33      v31        r31 


Ispunjeni su uslovi množenja broj kolona matrice je jednak broju redova vektora. Rezultat će biti matrica formata
3 x 1 (3 reda 1 kolona).

Primjer mnozenja matrice 3x3 sa vektorom 3x1, treba dodati još uslov da li se množenje uopšte može izvršiti i izmijeniti
funkcije taka da rade i za opšte slućajeve, a ne samo za 3x3 i 3x1. Nije velik posao ali meni je zbog testiranja bilo lakše
uraditi ovaj slućaj.

Code:

#include <stdio.h>

void pomnoziMatrice (int a[3][3], int vektor [3][1], int rezultat[3][1]){
    for(int i = 0; i < 3; i++){ //ide do broja redova matrice a
        for(int j = 0; j < 1; j++){ //ide do broja kolona matrice b (vektora)
            int pomocna = 0;
            for(int k = 0; k < 3; k++) //ide do broja redova matrice b (vektora)
                pomocna = pomocna + (a[i][k] * vektor[k][j]);
            rezultat[i][j] = pomocna;
        }
   }
}

void unesiMatricu(int a [3][3]){
    printf("Unesite matricu a: \n");
    for(int i=0; i<3; i++){
        for(int j=0; j<3; j++){
            printf("[%d, %d]: ", i+1, j+1);
            scanf("%d", &a[i][j]);
        }
    }
    printf("\n");
}

void unesiVektor(int v[3][1]){
    printf("Unesite vektor: \n");
    for(int i=0; i<3; i++){
        for(int j=0; j<1; j++){
            printf("[%d, %d]: ", i+1, j+1);
            scanf("%d", &v[i][j]);
        }
    }
    printf("\n");
}

int main(void){
    int a[3][3];
    int vektor[3][1];
    int rezultat[3][1];

    unesiMatricu(a);
    unesiVektor(vektor);
    pomnoziMatrice(a, vektor, rezultat);

    printf("\nMatrica a: \n");
    for(int i=0; i<3; i++){
        for(int j=0; j<3; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }

    printf("\nVektor: \n");
    for(int i=0; i<3; i++){
        for(int j=0; j<1; j++)
            printf("%d ", vektor[i][j]);
        printf("\n");
    }

    printf("\nRezultat je: \n");
    for(int i=0; i<3; i++){
        for(int j=0; j<1; j++)
            printf("%d ", rezultat[i][j]);
        printf("\n");
    }
    return 0;
}



Citat:

evo kako izgleda rezultat:

Matrica a:
1 1 1
1 1 1
1 1 1

Vektor:
1
1
1

Rezultat je:
3
3
3




if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

Linux_FreeBSD
student
Mostar

Član broj: 43101
Poruke: 29
89.146.164.*

Sajt: www.dernek.ba


Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora21.02.2008. u 13:00 - pre 196 meseci
okej ovo druze, sve valja, al de mi reci kako zaustavit prozor kad se treba ispisat rezultat , koristio sam system("pause") ovdje ne moze, pokusam sa cin.get() ne moze, i na kraju ono sto ide u C-u getche() ili getch() i to ne moze :S kako zaustaviti .... P.S. testiram ga pod windows-om! Pozzdrav i hvala !
.... bolje ic' u kurvaluk biciklom, nego Mercedesom na posao ....
===============================================
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora21.02.2008. u 13:09 - pre 196 meseci
Gde si stavio system("PAUSE") i ostale varijante? Treba ispred return 0.
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.PPPoE-5355.sa.bih.net.ba.



Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora21.02.2008. u 14:19 - pre 196 meseci
Pozdrav,
za system("pause") trebaš uključiti windows.h ili stdlib.h, a za getch() potrebna je conio.h koja je nestandardna biblioteka
pa ces je morati instalirati. Kao što ti je X Files rekao jednu od ove dvije staviš ispred return-a i trebalo bi raditi.
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

Linux_FreeBSD
student
Mostar

Član broj: 43101
Poruke: 29
89.146.164.*

Sajt: www.dernek.ba


Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora21.02.2008. u 15:03 - pre 196 meseci
e da da, stavljao sam ispred RETURN-a, ali izgleda nisu bile ukljucene biblioteke te, a nisam znao tacno koja ide za sta .... sad sam preko CONIO.H komandom GETCHE(); odradio sve - super ! ;) hvala, ugodan dan¨!
.... bolje ic' u kurvaluk biciklom, nego Mercedesom na posao ....
===============================================
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.PPPoE-733.sa.bih.net.ba.



Profil

icon Re: [Zadatak] Mnozenje kvadratne matrice i vektora21.02.2008. u 20:06 - pre 196 meseci
super ... Bolje je koristiti #include <windows.h> i system("pause"). Razlog je što vecina ljudi koriste system("pause") u tu svrhu, a i zbog kompatibilnosti jer kako sam rekao conio.h nije standardna biblioteka.
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Mnozenje kvadratne matrice i vektora

[ Pregleda: 8059 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.