Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- typedef struct no{
- int coluna,valor;
- struct no *proximo;
- }no;
- no **cabeca;
- int m,n;
- void init(void)
- {
- cabeca = (no **)calloc(m,sizeof(no*));
- for(int i = 0; i < m;i++)
- {
- cabeca[i] = (no *)malloc(sizeof(no));
- cabeca[i]->proximo = NULL;
- }
- }
- void inserir(int linha,int coluna,int valor)
- {
- no *novo = (no *)malloc(sizeof(no));
- novo->coluna = coluna;
- novo->valor = valor;
- novo->proximo = cabeca[linha]->proximo;
- cabeca[linha]->proximo = novo;
- }
- void multiplicacao(int *vector)
- {
- for(int a = 0; a < m;a++)
- {
- no *ptr = cabeca[a]->proximo;
- int aux = 0;
- while(ptr)
- {
- if(ptr->valor)
- aux += ptr->valor * vector[ptr->coluna];
- ptr = ptr->proximo;
- }
- printf("%d\n",aux);
- }
- }
- int main(void)
- {
- scanf("%d%d",&m,&n);
- init();
- int *vector = (int *)calloc(n,sizeof(int));
- for(int a = 0; a < n;a++)
- scanf("%d",&vector[a]);
- int linha,coluna,valor;
- while(scanf("%d%d%d",&linha,&coluna,&valor)!= EOF)
- inserir(linha,coluna,valor);
- multiplicacao(vector);
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement