Advertisement
Guest User

Untitled

a guest
Aug 24th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. #define PUTANJA "a.bin"
  7. typedef struct igrac TIM[50];
  8. typedef int MATRICA[10][10];
  9. typedef struct igrac{
  10. char ime[50];
  11. int visina;
  12. } IGRAC;
  13. typedef struct element * POKAZIVAC;
  14. typedef struct element{
  15. IGRAC podatak;
  16. POKAZIVAC sledeci;
  17. } ELEMENT;
  18.  
  19.  
  20.  
  21. void osnovno(){
  22. FILE * dat = fopen("a.bin", "w+b");
  23. int a = 5;
  24. int b;
  25. if (dat == NULL) return;
  26.  
  27. fwrite(&a, sizeof(int), 1, dat);
  28. fflush(dat);
  29. fseek(dat, 0, SEEK_SET);
  30. fread(&b, sizeof(int), 1, dat);
  31. printf("%d\n", b);
  32.  
  33. fclose(dat);
  34. }
  35.  
  36. void unos(){
  37. FILE * dat = fopen(PUTANJA, "wb");
  38. int a;
  39. if (dat == NULL) return;
  40.  
  41. for (int i = 0; i < 5; i++)
  42. {
  43. scanf("%d", &a);
  44. fwrite(&a, sizeof(int), 1, dat);
  45. fflush(dat);
  46. }
  47.  
  48.  
  49.  
  50. fclose(dat);
  51. }
  52.  
  53. void prikaz(){
  54. FILE * dat = fopen(PUTANJA, "rb");
  55. int a;
  56. if (dat == NULL) return;
  57.  
  58. while (fread(&a, sizeof(int), 1, dat) != 0){
  59. printf("%d\t", a);
  60. }
  61.  
  62. fclose(dat);
  63.  
  64. }
  65.  
  66. void maks(){
  67. FILE * dat = fopen(PUTANJA, "rb");
  68. int a;
  69. int max1;
  70. if (dat == NULL) return;
  71. fread(&max1, sizeof(int), 1, dat);
  72. while (fread(&a, sizeof(int), 1, dat) != 0){
  73. max1 = max(max1, a);
  74. }
  75.  
  76. printf("Max je %d", max1);
  77. fclose(dat);
  78.  
  79. }
  80.  
  81. void sort(){
  82. FILE * dat = fopen(PUTANJA, "r+b");
  83. int brEl,a,b;
  84. if (dat == NULL) return;
  85. fseek(dat, 0, SEEK_END);
  86. brEl = ftell(dat) / sizeof(int);
  87.  
  88. for (int i = 0; i < brEl-1; i++)
  89. {
  90. for (int j = i+1; j < brEl; j++)
  91. {
  92. fseek(dat, i*sizeof(int), SEEK_SET);
  93. fread(&a, sizeof(int), 1, dat);
  94. fseek(dat, j*sizeof(int), SEEK_SET);
  95. fread(&b, sizeof(int), 1, dat);
  96. if (a>b){
  97. fseek(dat, i*sizeof(int), SEEK_SET);
  98. fwrite(&b, sizeof(int), 1, dat);
  99. fflush(dat);
  100. fseek(dat, j*sizeof(int), SEEK_SET);
  101. fwrite(&a, sizeof(int), 1, dat);
  102. fflush(dat);
  103. }
  104. }
  105. }
  106. fclose(dat);
  107. }
  108.  
  109. void tekstualna(){
  110. FILE * dat = fopen("a.txt", "r");
  111. char rec[50];
  112. char max[50];
  113. if (dat == NULL) return;
  114. fscanf(dat, "%s", max);
  115. while (fscanf(dat, "%s", rec) != -1){
  116. if (strlen(rec) > strlen(max)){
  117. strcpy(max, rec);
  118. }
  119. }
  120. puts(max);
  121.  
  122. fclose(dat);
  123. }
  124.  
  125. void ucitajMatricu(MATRICA m, int * dim){
  126. FILE * dat = fopen("matrica.txt", "r");
  127. if (dat == NULL) return;
  128.  
  129. fscanf(dat, "%d", dim);
  130. for (int i = 0; i < *dim; i++)
  131. {
  132. for (int j = 0; j < *dim; j++)
  133. {
  134. fscanf(dat, "%d|", &m[i][j]);
  135. }
  136. }
  137.  
  138.  
  139. fclose(dat);
  140. }
  141.  
  142. void prikaz1(MATRICA m, int dim){
  143. FILE * dat = fopen("lepaMatrica.txt", "w");
  144. if (dat == NULL) return;
  145. for (int i = 0; i < dim; i++)
  146. {
  147. for (int j = 0; j < dim; j++)
  148. {
  149. fprintf(dat,"%d\t", m[i][j]);
  150. }
  151. fprintf(dat,"\n");
  152. }
  153. fclose(dat);
  154. }
  155.  
  156. //=======================================================================================================PREBACIVANJA
  157.  
  158. void ubaciNaKraj(POKAZIVAC * glava, POKAZIVAC * rep, IGRAC i){
  159.  
  160. POKAZIVAC novi = malloc(sizeof(ELEMENT));
  161. novi->podatak = i;
  162. novi->sledeci = NULL;
  163. if (*glava == NULL){
  164. *glava = novi;
  165. }
  166. else{
  167. (*rep)->sledeci = novi;
  168. }
  169. *rep = novi;
  170. }
  171.  
  172. void izNizaUDat(TIM tim, int brEl){
  173. FILE * dat = fopen("igraci.dat", "wb");
  174. if (dat == NULL) return;
  175. for (int i = 0; i < brEl; i++)
  176. {
  177. fwrite(&tim[i], sizeof(IGRAC), 1, dat);
  178. fflush(dat);
  179. }
  180.  
  181.  
  182. fclose(dat);
  183. }
  184.  
  185. void izDatUNiz(TIM tim, int * brEl){
  186. FILE * dat = fopen("igraci.dat", "rb");
  187. IGRAC i;
  188. if (dat == NULL) return;
  189.  
  190. while (fread(&i, sizeof(IGRAC), 1, dat) != 0){
  191. tim[*brEl] = i;
  192. (*brEl)++;
  193. }
  194.  
  195. fclose(dat);
  196. }
  197.  
  198. void izListeUDat(POKAZIVAC glava){
  199. FILE * dat = fopen("igraci.dat", "wb");
  200. if (dat == NULL) return;
  201. while (glava != NULL){
  202. fwrite(&glava->podatak, sizeof(IGRAC), 1, dat);
  203. fflush(dat);
  204. glava = glava->sledeci;
  205. }
  206. fclose(dat);
  207. }
  208.  
  209. void izDatUListu(POKAZIVAC * glava,POKAZIVAC * rep){
  210. FILE * dat = fopen("igraci.dat", "rb");
  211. IGRAC i;
  212. if (dat == NULL) return;
  213.  
  214.  
  215. while (fread(&i, sizeof(IGRAC), 1, dat) != 0){
  216. ubaciNaKraj(glava, rep, i);
  217. }
  218.  
  219. fclose(dat);
  220. }
  221.  
  222. void izNizaUListu(TIM tim, int brEl, POKAZIVAC * glava, POKAZIVAC * rep){
  223. for (int i = 0; i < brEl; i++)
  224. {
  225. ubaciNaKraj(glava, rep, tim[i]);
  226. }
  227. }
  228.  
  229. void izListeUNiz(TIM tim, int *brEl, POKAZIVAC glava){
  230.  
  231. while (glava != NULL){
  232. tim[*brEl] = glava->podatak;
  233. (*brEl)++;
  234. glava = glava->sledeci;
  235. }
  236. }
  237.  
  238. int main(){
  239. MATRICA m;
  240. int dim;
  241. ucitajMatricu(m, &dim);
  242. prikaz1(m, dim);
  243. //unos();
  244. //sort();
  245. //prikaz();
  246. //maks();
  247. //tekstualna();
  248.  
  249. return 0;
  250. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement