Advertisement
Ivan_12

liste2

Jun 6th, 2016
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define PUTANJA "C:\\Podaci\\tekstualna.txt"
  6.  
  7. typedef int MATRICA[5][5];
  8.  
  9. typedef struct element *POKAZIVAC;
  10.  
  11. typedef struct element {
  12.     int podatak;
  13.     POKAZIVAC sledeci;
  14. }ELEMENT;
  15.  
  16. void ucitajIzTekstualne (MATRICA x,int *n){
  17.     FILE *datoteka;
  18.     int broj;
  19.     int i,j;
  20.     datoteka=fopen(PUTANJA,"r");
  21.  
  22.     if (datoteka==NULL){
  23.         printf("Doslo je do greske prilikom otvaranja datoteke!\n");
  24.         return;
  25.     }
  26.  
  27.     fscanf(datoteka,"%d",n);
  28.  
  29.    
  30.         for (i=0;i<*n;i++){
  31.             for(j=0;j<*n;j++){
  32.                 fscanf(datoteka,"%d",&x[i][j]);
  33.             }
  34.         }
  35.    
  36.  
  37.  
  38.     fclose(datoteka);
  39. }
  40.  
  41. void prikazMatrice (MATRICA x,int brojEl){
  42.     int i,j;
  43.  
  44.  
  45.     for(i=0;i<brojEl;i++){
  46.         for(j=0;j<brojEl;j++){
  47.             printf("%d\t",x[i][j]);
  48.         }
  49.         printf("\n");
  50.     }
  51. }
  52.  
  53. void ubaciSortiranu (POKAZIVAC *glava,MATRICA x,int n){
  54.     int i,j;
  55.     int tmp;
  56.     POKAZIVAC novi;
  57.     POKAZIVAC tekuci;
  58.     glava=malloc(sizeof(ELEMENT));
  59.     novi=malloc(sizeof(ELEMENT));
  60.     tekuci=malloc(sizeof(ELEMENT));
  61.  
  62.     for (i=0;i<n;i++){
  63.         for(j=0;j<n;j++){
  64.             if (i>j){
  65.                 novi->podatak=x[i][j];
  66.                 novi->sledeci=NULL;
  67.                 if (glava==NULL){
  68.                 *glava=novi;
  69.                 }else{
  70.                     for (tekuci=*glava;tekuci!=NULL;tekuci=tekuci->sledeci){
  71.                         if (tekuci->podatak>novi->podatak){
  72.                         novi->sledeci=tekuci->sledeci;
  73.                         tekuci->sledeci=novi;
  74.                          tmp=novi->podatak;
  75.                         novi->podatak=tekuci->podatak;
  76.                         tekuci->podatak=tmp;
  77.                         break;
  78.                    
  79.                     }          
  80.                 }
  81.             }
  82.         }
  83.     }
  84.     }
  85. }
  86.  
  87. void prikazListe (POKAZIVAC glava){
  88.     POKAZIVAC pom;
  89.     pom=malloc(sizeof(ELEMENT));
  90.     glava=malloc(sizeof(ELEMENT));
  91.     pom=glava;
  92.  
  93.     while (pom!=NULL){
  94.         printf("%d\t",pom->podatak);
  95.         pom=pom->sledeci;
  96.     }
  97. }
  98.  
  99. int main(void){
  100.     MATRICA x;
  101.     int n;
  102.     POKAZIVAC glava;
  103.  
  104.    
  105.  
  106.     ucitajIzTekstualne(x,&n);
  107.     prikazMatrice(x,n);
  108.     ubaciSortiranu(&glava,x,n);
  109.     prikazListe(glava);
  110.     return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement