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

Literatura i primeri za rad sa vektorima i matricama u C-u???

[es] :: C/C++ programiranje :: Literatura i primeri za rad sa vektorima i matricama u C-u???

[ Pregleda: 2935 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vrbnik1
Student
Zemun

Član broj: 105683
Poruke: 95
*.scnet.yu.



Profil

icon Literatura i primeri za rad sa vektorima i matricama u C-u???21.02.2007. u 10:11 - pre 167 meseci
Momci puno ste vise upucemi u problematiku nego ja, meni evo zatrebao C i rad sa matematickim vektorima i matricama u njemu.
Kada kazem 'rad' mislim na sabiranje, mnozenje, transponovanje, itd.

Da li znate kakav link gde bi se mogla naci kakva literaturica o ovoj problematici ili jos bolje po koji primercic i da resim muke.

Zahvalan!
 
Odgovor na temu

komar023
Zrenjanin

Član broj: 125417
Poruke: 6
*.zrlocal.net.



Profil

icon Re: Literatura i primeri za rad sa vektorima i matricama u C-u???27.02.2007. u 17:11 - pre 167 meseci
Evo jedan primer. Nije narocito reprezentativan ali sta je tu je.


Code:


#include <stdio.h>
#include <stdlib.h>

typedef struct matrica 
{
    unsigned short int brRed;
    unsigned short int brKol;
    int **mat;
} Matrica;

void kreirajMatricu(Matrica &m)
{
    printf("Unesite broj vrsta: ");
    scanf("%hu",&m.brRed);
    printf("Unesite broj kolona: ");
    scanf("%hu",&m.brKol);
    
    m.mat=(int **)malloc(m.brRed*sizeof(int *));
    for (unsigned int i=0;i<m.brRed;++i)
    {
        m.mat[i]=(int *)malloc(m.brKol*sizeof(int));
        for (unsigned int j=0;j<m.brKol;++j)
        {
            printf("Mat[%u][%u]=",i+1,j+1);
            scanf("%i",&m.mat[i][j]);
        }
    }
}

void ispisiMatricu(Matrica const m)
{
    printf("\n");
    for (unsigned int i=0;i<m.brRed;printf("\n"),i++)
        for (unsigned int j=0;j<m.brKol;++j)
            printf("%i ",m.mat[i][j]);
}

void pomnoziMatrice(Matrica x,Matrica y,Matrica &z)
{
    unsigned int i,j,k;
        
    if (x.brKol==y.brRed)
    {
        z.brRed=x.brRed;
        z.brKol=y.brKol;

        
    
        z.mat=(int **)malloc(z.brRed*sizeof(int *));
        for (i=0;i<z.brRed;i++)
        {
            z.mat[i]=(int *)malloc(z.brKol*sizeof(int));
            for (j=0;j<z.brKol;j++)
            {
                z.mat[i][j]=0;
                for (k=0;k<y.brRed;k++)
                    z.mat[i][j]+=x.mat[i][k]*y.mat[k][j];        
            }
        }

        
    }
    else
    {
        printf("Matrice se ne mogu pomnoziti");
        z.brKol=z.brRed=0;
        z.mat=NULL;
    }
    
}

void unistiMatricu(Matrica &w)
{
    for (unsigned int i=0;i<w.brRed;i++)
        free(w.mat[i]);
    free(w.mat);
}


void main()
{
    Matrica a,b,c;

    kreirajMatricu(a);
    kreirajMatricu(b);
    pomnoziMatrice(a,b,c);
    ispisiMatricu(c);
    unistiMatricu(a);
    unistiMatricu(b);
    unistiMatricu(c);
}
 
Odgovor na temu

[es] :: C/C++ programiranje :: Literatura i primeri za rad sa vektorima i matricama u C-u???

[ Pregleda: 2935 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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