-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIO.cpp
More file actions
118 lines (93 loc) · 3.4 KB
/
Copy pathIO.cpp
File metadata and controls
118 lines (93 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <stdio.h>
#include "Matrix.h"
#include "IO.h"
void FilereadMatrix(int maticex) { // Sken súboru
int r = 0; // riadok
int s = 0; // ståpec
fscanf(vstup, "%d %d", &r, &s); // dotaz na vstup
printf("\nMatica %d ma velkost %d x %d \n", maticex, r, s);
if (maticex >= 3) {
savedmx++;
}
if (r > MAX || s > MAX) { // Kontrola ve¾kosti matice
printf("Maximalna velkost matice je %d x %d \n", MAX, MAX);
return;
}
rows[maticex] = r;
cols[maticex] = s;
// Deklarácia riadkov a ståpcov matice
for (int riadok = 0; riadok < r; riadok++) {
for (int stlpec = 0; stlpec < s; stlpec++) {
fscanf(vstup, "%d", &matrixes[maticex][riadok][stlpec]); // scanf na uloženie matice z .txt
}
}
}
void readMatrix(int i) {
int r, s; // deklarácia riadku a ståpcu
printf("Zadajte pocet riadkov a stlpcov pre maticu %d: ", i);
scanf("%d %d", &r, &s); // dotaz od uživete¾a pre ve¾kos matice zo vstupu
if (r > MAX || s > MAX) { // Kontrola ve¾kosti matice
printf("Maximalna velkost matice je %d x %d \n", MAX, MAX);
return;
}
rows[i] = r;
cols[i] = s;
printf("Zadajte prvky matice %d (%dx%d):\n", i, r, s);
for (int riadok = 0; riadok < r; riadok++) {
for (int stlpec = 0; stlpec < s; stlpec++) {
scanf("%d", &matrixes[i][riadok][stlpec]); // scanf na uloženie matice od uživatela
}
}
}
void FileprintMatrix(int i) { // Funkcia na tlaè do .txt
if (vystup == NULL) { // Kontrola èi existuje vystup.txt
return;
}
fprintf(vystup, "\nMatica %d (%dx%d):\n", i, rows[i], cols[i]); // Prvý riadok so základnými informáciami o matici
for (int r = 0; r < rows[i]; r++) { // Cyklus na preèítanie matice
for (int s = 0; s < cols[i]; s++) {
fprintf(vystup, "%d ", matrixes[i][r][s]); //zápis matice
}
fprintf(vystup, "\n"); // nový riadok
}
}
void printMatrix(int i) {
printf("\nMatica %d (%dx%d):\n", i, rows[i], cols[i]); // Základná informacie o matici
for (int r = 0; r < rows[i]; r++) { // èítanie matice
for (int s = 0; s < cols[i]; s++) {
printf("%d ", matrixes[i][r][s]); // výpis matice
}
printf("\n"); // nový riadok
}
}
void inputMatrix() { // Ako readMatrix() len zo vstupu od uživate¾a
int tosave;
// Kontrola poètu matíc
if (savedmx >= 9) {
printf("Uz ste ulozili 9 matic. \n Ktoru maticu chcete prepisat? \n");
scanf("%d", &tosave);
tosave;
}
else { // Ak je tam menej ako 9 matíc tak zapíše novú
savedmx++;
tosave = savedmx;
}
int r, s; // deklarácia riadkov a ståpcov
printf("Zadajte pocet riadkov a stlpcov pre maticu %d: ", tosave);
scanf("%d %d", &r, &s); // dotaz od uživate¾a na maticu
// Kontrola ve¾kosti matice
if (r > MAX || s > MAX) {
printf("Maximalna velkost matice je %d x %d \n", MAX, MAX);
return;
}
// Zápis matice do pamäte
rows[tosave] = r;
cols[tosave] = s;
printf("Zadajte prvky matice %d (%dx%d):\n", tosave, r, s); // Dotaz na prvky
for (int riadok = 0; riadok < r; riadok++) { // èítanie matice
for (int stlpec = 0; stlpec < s; stlpec++) {
scanf("%d", &matrixes[tosave][riadok][stlpec]); // prvky
}
}
printf("Matica bol ulozeny ako matice %d \n", tosave); // Oznam o poradí matice
}