Advertisement
Guest User

Trabalho 2 ED I

a guest
Nov 14th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct no{
  5. int coluna,valor;
  6. struct no *proximo;
  7. }no;
  8.  
  9. no **cabeca;
  10. int m,n;
  11.  
  12. void init(void)
  13. {
  14. cabeca = (no **)calloc(m,sizeof(no*));
  15. for(int i = 0; i < m;i++)
  16. {
  17. cabeca[i] = (no *)malloc(sizeof(no));
  18. cabeca[i]->proximo = NULL;
  19. }
  20. }
  21.  
  22. void inserir(int linha,int coluna,int valor)
  23. {
  24. no *novo = (no *)malloc(sizeof(no));
  25. novo->coluna = coluna;
  26. novo->valor = valor;
  27. novo->proximo = cabeca[linha]->proximo;
  28. cabeca[linha]->proximo = novo;
  29. }
  30. void multiplicacao(int *vector)
  31. {
  32. for(int a = 0; a < m;a++)
  33. {
  34. no *ptr = cabeca[a]->proximo;
  35. int aux = 0;
  36. while(ptr)
  37. {
  38. if(ptr->valor)
  39. aux += ptr->valor * vector[ptr->coluna];
  40. ptr = ptr->proximo;
  41. }
  42. printf("%d\n",aux);
  43. }
  44. }
  45. int main(void)
  46. {
  47. scanf("%d%d",&m,&n);
  48. init();
  49. int *vector = (int *)calloc(n,sizeof(int));
  50. for(int a = 0; a < n;a++)
  51. scanf("%d",&vector[a]);
  52. int linha,coluna,valor;
  53. while(scanf("%d%d%d",&linha,&coluna,&valor)!= EOF)
  54. inserir(linha,coluna,valor);
  55. multiplicacao(vector);
  56. return EXIT_SUCCESS;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement