Rotinas para manipulação de matrizes
Publicado por Daniel Moreira dos Santos (última atualização em 01/09/2009)
[ Hits: 8.899 ]
Homepage: http://www.danielmoreira.wordpress.com
Mais um algoritmo numérico para manipulação de matrizes.
/*************************************************
* Copyright (C) 2007 by Daniel Moreira dos Santos *
* dansabian@ig.com.br *
* *
*************************************************/
/*************************************************
* Muda os valores de uma coluna de uma Matriz dados os indices das linhas a modificar.
*
* Matriz* M => Matriz cujos elementos serão modificados.
* int* iprow => Vetor de inteiros que contêm os indices das p linhas que serão modificadas.
* int icol => Indice da coluna que terá suas linhas modificadas.
* float* array => Vetor de floats contendo os elementos a serem inseridos.
**************************************************/
void set_values_row(Matriz* M, int* iprow, int icol, float* array){
int i, m;
for(i=0; iprow[i]!=NULL; i++){
m=iprow[i];
M->v[m][icol]=array[i];
}
}
/*************************************************
* Muda os valores de uma linha de uma Matriz dados os indices das colunas a modificar.
*
* Matriz* M => Matriz cujos elementos serão modificados.
* int* ipcol => Vetor de inteiros que contêm os indices das p colunas que serão modificadas.
* int irow => Indice da linha que terá suas colunas modificadas.
* float* array => Vetor de floats contendo os elementos a serem inseridos.
**************************************************/
void set_values_col(Matriz* M, int* ipcol, int irow, float* array){
int i, m;
for(i=0; ipcol[i]!=NULL; i++){
m=iprow[i];
M->v[irow][m]=array[i];
}
}
/*************************************************
* Muda os valores de um elemento da Matriz dados os indices das colunas e das linhas a modificar.
*
* Matriz* M => Matriz cujos elementos serão modificados.
* int* iprow => Vetor de inteiros que contêm os indices das linhas dos p elementos.
* int* ipcol => Vetor de inteiros que contêm os indices das colunas dos p elementos.
* float* array => Vetor de floats contendo os elementos a serem inseridos.
**************************************************/
void set_values(Matriz* M, int* iprow, int* ipcol, float* array){
int i, m, n;
for(i=0; iprow[i]!=NULL; i++){
m=iprow[i];
n=ipcol[i];
M->v[m][n]=array[i];
}
}
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Instalar Dual Boot, Linux+Windows. (8)
Eaí? Já programou no windows? (2)
Erro ao enviar arquivos para o Storage Synology NAS (0)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









