Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define PUTANJA "a.bin"
- typedef struct igrac TIM[50];
- typedef int MATRICA[10][10];
- typedef struct igrac{
- char ime[50];
- int visina;
- } IGRAC;
- typedef struct element * POKAZIVAC;
- typedef struct element{
- IGRAC podatak;
- POKAZIVAC sledeci;
- } ELEMENT;
- void osnovno(){
- FILE * dat = fopen("a.bin", "w+b");
- int a = 5;
- int b;
- if (dat == NULL) return;
- fwrite(&a, sizeof(int), 1, dat);
- fflush(dat);
- fseek(dat, 0, SEEK_SET);
- fread(&b, sizeof(int), 1, dat);
- printf("%d\n", b);
- fclose(dat);
- }
- void unos(){
- FILE * dat = fopen(PUTANJA, "wb");
- int a;
- if (dat == NULL) return;
- for (int i = 0; i < 5; i++)
- {
- scanf("%d", &a);
- fwrite(&a, sizeof(int), 1, dat);
- fflush(dat);
- }
- fclose(dat);
- }
- void prikaz(){
- FILE * dat = fopen(PUTANJA, "rb");
- int a;
- if (dat == NULL) return;
- while (fread(&a, sizeof(int), 1, dat) != 0){
- printf("%d\t", a);
- }
- fclose(dat);
- }
- void maks(){
- FILE * dat = fopen(PUTANJA, "rb");
- int a;
- int max1;
- if (dat == NULL) return;
- fread(&max1, sizeof(int), 1, dat);
- while (fread(&a, sizeof(int), 1, dat) != 0){
- max1 = max(max1, a);
- }
- printf("Max je %d", max1);
- fclose(dat);
- }
- void sort(){
- FILE * dat = fopen(PUTANJA, "r+b");
- int brEl,a,b;
- if (dat == NULL) return;
- fseek(dat, 0, SEEK_END);
- brEl = ftell(dat) / sizeof(int);
- for (int i = 0; i < brEl-1; i++)
- {
- for (int j = i+1; j < brEl; j++)
- {
- fseek(dat, i*sizeof(int), SEEK_SET);
- fread(&a, sizeof(int), 1, dat);
- fseek(dat, j*sizeof(int), SEEK_SET);
- fread(&b, sizeof(int), 1, dat);
- if (a>b){
- fseek(dat, i*sizeof(int), SEEK_SET);
- fwrite(&b, sizeof(int), 1, dat);
- fflush(dat);
- fseek(dat, j*sizeof(int), SEEK_SET);
- fwrite(&a, sizeof(int), 1, dat);
- fflush(dat);
- }
- }
- }
- fclose(dat);
- }
- void tekstualna(){
- FILE * dat = fopen("a.txt", "r");
- char rec[50];
- char max[50];
- if (dat == NULL) return;
- fscanf(dat, "%s", max);
- while (fscanf(dat, "%s", rec) != -1){
- if (strlen(rec) > strlen(max)){
- strcpy(max, rec);
- }
- }
- puts(max);
- fclose(dat);
- }
- void ucitajMatricu(MATRICA m, int * dim){
- FILE * dat = fopen("matrica.txt", "r");
- if (dat == NULL) return;
- fscanf(dat, "%d", dim);
- for (int i = 0; i < *dim; i++)
- {
- for (int j = 0; j < *dim; j++)
- {
- fscanf(dat, "%d|", &m[i][j]);
- }
- }
- fclose(dat);
- }
- void prikaz1(MATRICA m, int dim){
- FILE * dat = fopen("lepaMatrica.txt", "w");
- if (dat == NULL) return;
- for (int i = 0; i < dim; i++)
- {
- for (int j = 0; j < dim; j++)
- {
- fprintf(dat,"%d\t", m[i][j]);
- }
- fprintf(dat,"\n");
- }
- fclose(dat);
- }
- //=======================================================================================================PREBACIVANJA
- void ubaciNaKraj(POKAZIVAC * glava, POKAZIVAC * rep, IGRAC i){
- POKAZIVAC novi = malloc(sizeof(ELEMENT));
- novi->podatak = i;
- novi->sledeci = NULL;
- if (*glava == NULL){
- *glava = novi;
- }
- else{
- (*rep)->sledeci = novi;
- }
- *rep = novi;
- }
- void izNizaUDat(TIM tim, int brEl){
- FILE * dat = fopen("igraci.dat", "wb");
- if (dat == NULL) return;
- for (int i = 0; i < brEl; i++)
- {
- fwrite(&tim[i], sizeof(IGRAC), 1, dat);
- fflush(dat);
- }
- fclose(dat);
- }
- void izDatUNiz(TIM tim, int * brEl){
- FILE * dat = fopen("igraci.dat", "rb");
- IGRAC i;
- if (dat == NULL) return;
- while (fread(&i, sizeof(IGRAC), 1, dat) != 0){
- tim[*brEl] = i;
- (*brEl)++;
- }
- fclose(dat);
- }
- void izListeUDat(POKAZIVAC glava){
- FILE * dat = fopen("igraci.dat", "wb");
- if (dat == NULL) return;
- while (glava != NULL){
- fwrite(&glava->podatak, sizeof(IGRAC), 1, dat);
- fflush(dat);
- glava = glava->sledeci;
- }
- fclose(dat);
- }
- void izDatUListu(POKAZIVAC * glava,POKAZIVAC * rep){
- FILE * dat = fopen("igraci.dat", "rb");
- IGRAC i;
- if (dat == NULL) return;
- while (fread(&i, sizeof(IGRAC), 1, dat) != 0){
- ubaciNaKraj(glava, rep, i);
- }
- fclose(dat);
- }
- void izNizaUListu(TIM tim, int brEl, POKAZIVAC * glava, POKAZIVAC * rep){
- for (int i = 0; i < brEl; i++)
- {
- ubaciNaKraj(glava, rep, tim[i]);
- }
- }
- void izListeUNiz(TIM tim, int *brEl, POKAZIVAC glava){
- while (glava != NULL){
- tim[*brEl] = glava->podatak;
- (*brEl)++;
- glava = glava->sledeci;
- }
- }
- int main(){
- MATRICA m;
- int dim;
- ucitajMatricu(m, &dim);
- prikaz1(m, dim);
- //unos();
- //sort();
- //prikaz();
- //maks();
- //tekstualna();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement