Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #define rig 3
  4. #define col 3
  5.  
  6. struct nodo {
  7. int data;
  8. struct nodo *next;
  9. };
  10.  
  11. typedef struct nodo Nodo;
  12.  
  13. int **alloca_matrice(int righe, int colonne);
  14. void stampa(Nodo **head,Nodo *nuovo,int i , int j);
  15. void lista_Matrice(Nodo **head,int **A,int r,int c);
  16.  
  17. int main(){
  18. Nodo *head =NULL;
  19. int **A = alloca_matrice(rig,col);
  20. lista_Matrice(&head,A,rig,col);
  21. return 0;
  22. }
  23.  
  24.  
  25.  
  26. int **alloca_matrice(int righe,int colonne){
  27.  
  28. int **A = (int**)malloc(sizeof(int*)*righe);
  29. int i,j;
  30. for(i=0;i<colonne;i++){
  31. A[i]= malloc(sizeof(int)*colonne);
  32. }
  33. for(i=0;i<rig;i++){
  34. for (j = 0; j < col; j++)
  35. {
  36. printf("inserisci valore in [%d,%d]=", i,j);
  37. scanf("%d\n\n",&A[i][j]);
  38. }
  39. }
  40. return A;
  41. }
  42.  
  43.  
  44. void lista_Matrice(Nodo **head,int **A,int r,int c){
  45. Nodo *nuovo=malloc(sizeof(Nodo)); //alloco dinamicamente nuovo che punta al tipo di dato Nodo
  46. Nodo *corrente;
  47. int i,j;
  48. for ( i = 0; i < r; i++)
  49. {
  50. for (j = 0; j < c; j++)
  51. {
  52. if (A[i][j] != 0)
  53. {
  54. corrente = *head;
  55. nuovo->data = A[i][j];
  56. if (corrente== NULL) //inserimento in testa
  57. {
  58. nuovo->next= *head;
  59. *head = nuovo;
  60. return;
  61. }
  62. else
  63. {
  64.  
  65. while(corrente !=NULL)
  66. {
  67. corrente =corrente->next;
  68. nuovo->next = corrente->next;
  69. corrente->next = nuovo;
  70.  
  71. }
  72.  
  73. }
  74. }
  75.  
  76. }
  77. }
  78. stampa(head,&nuovo,i,j);
  79. }
  80.  
  81.  
  82. void stampa(Nodo **head,Nodo *nuovo,int i,int j){
  83. Nodo *n;
  84. n=*head;
  85. while(n!= NULL){
  86. printf("%d,%d,%d--->",nuovo->data,i,j);
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement