Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define PUTANJA "C:\\Podaci\\tekstualna.txt"
- typedef int MATRICA[5][5];
- typedef struct element *POKAZIVAC;
- typedef struct element {
- int podatak;
- POKAZIVAC sledeci;
- }ELEMENT;
- void ucitajIzTekstualne (MATRICA x,int *n){
- FILE *datoteka;
- int broj;
- int i,j;
- datoteka=fopen(PUTANJA,"r");
- if (datoteka==NULL){
- printf("Doslo je do greske prilikom otvaranja datoteke!\n");
- return;
- }
- fscanf(datoteka,"%d",n);
- for (i=0;i<*n;i++){
- for(j=0;j<*n;j++){
- fscanf(datoteka,"%d",&x[i][j]);
- }
- }
- fclose(datoteka);
- }
- void prikazMatrice (MATRICA x,int brojEl){
- int i,j;
- for(i=0;i<brojEl;i++){
- for(j=0;j<brojEl;j++){
- printf("%d\t",x[i][j]);
- }
- printf("\n");
- }
- }
- void ubaciSortiranu (POKAZIVAC *glava,MATRICA x,int n){
- int i,j;
- int tmp;
- POKAZIVAC novi;
- POKAZIVAC tekuci;
- glava=malloc(sizeof(ELEMENT));
- novi=malloc(sizeof(ELEMENT));
- tekuci=malloc(sizeof(ELEMENT));
- for (i=0;i<n;i++){
- for(j=0;j<n;j++){
- if (i>j){
- novi->podatak=x[i][j];
- novi->sledeci=NULL;
- if (*glava==NULL){
- *glava=novi;
- }else{
- for (tekuci=*glava;tekuci->sledeci!=NULL;tekuci=tekuci->sledeci){
- if (tekuci->podatak>novi->podatak){
- novi->sledeci=tekuci->sledeci;
- tekuci->sledeci=novi;
- tmp=novi->podatak;
- novi->podatak=tekuci->podatak;
- tekuci->podatak=tmp;
- break;
- }
- }
- if (tekuci->sledeci==NULL){
- tekuci->sledeci=novi;
- }
- }
- }
- }
- }
- }
- void prikazListe (POKAZIVAC glava){
- POKAZIVAC pom;
- pom=malloc(sizeof(ELEMENT));
- glava=malloc(sizeof(ELEMENT));
- pom=glava;
- while (pom!=NULL){
- printf("%d\t",pom->podatak);
- pom=pom->sledeci;
- }
- }
- int main(void){
- MATRICA x;
- int n;
- POKAZIVAC glava;
- ucitajIzTekstualne(x,&n);
- prikazMatrice(x,n);
- ubaciSortiranu(&glava,x,n);
- prikazListe(glava);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement