generated from justuser-31/code_projects_template
92 lines
1.8 KiB
C
92 lines
1.8 KiB
C
#include <stdio.h>
|
|
#include <stdbool.h>
|
|
|
|
#include "c_cross_pack/libs/string.h"
|
|
|
|
int main() {
|
|
int matrix[2][2];
|
|
int a, b;
|
|
|
|
// Scan
|
|
printf("Enter a: "); scanf("%d", &a);
|
|
printf("Enter b: "); scanf("%d", &b);
|
|
|
|
matrix[0][0] = a; matrix[0][1] = a + 1;
|
|
matrix[1][0] = b; matrix[1][1] = b + 1;
|
|
|
|
// Format strings
|
|
string first = strInit(int2Str(&matrix[0][0]));
|
|
strAdd(&first, " ");
|
|
strAdd(&first, int2Str(&matrix[0][1]));
|
|
string second = strInit(int2Str(&matrix[1][0]));
|
|
strAdd(&second, " ");
|
|
strAdd(&second, int2Str(&matrix[1][1]));
|
|
|
|
// Write data
|
|
FILE* fptr = fopen("file", "w");
|
|
fprintf(fptr, first);
|
|
fprintf(fptr, "\n");
|
|
fprintf(fptr, second);
|
|
fprintf(fptr, "\n");
|
|
fclose(fptr);
|
|
|
|
string rawFirst = strInit("");
|
|
string rawSecond = strInit("");
|
|
int newMatrix[2][2];
|
|
|
|
// Read new values
|
|
fptr = fopen("file", "r");
|
|
string buffer = strInit("");
|
|
strResize(&buffer, 128);
|
|
bool isFirst = true;
|
|
while (fgets(buffer, 128, fptr)) {
|
|
//printf("%s", buffer);
|
|
if (isFirst) {
|
|
strAdd(&rawFirst, buffer);
|
|
isFirst = false;
|
|
}
|
|
else {
|
|
strAdd(&rawSecond, buffer);
|
|
}
|
|
}
|
|
fclose(fptr);
|
|
|
|
// Parse first values pairs
|
|
isFirst = true;
|
|
char* token = strtok(rawFirst, " ");
|
|
while (token)
|
|
{
|
|
if (isFirst) {
|
|
newMatrix[0][0] = atoi(token);
|
|
isFirst = false;
|
|
}
|
|
else {
|
|
newMatrix[0][1] = atoi(token);
|
|
}
|
|
token = strtok(NULL, " ");
|
|
}
|
|
// Parse first values pairs
|
|
isFirst = true;
|
|
token = strtok(rawSecond, " ");
|
|
while (token)
|
|
{
|
|
if (isFirst) {
|
|
newMatrix[1][0] = atoi(token);
|
|
isFirst = false;
|
|
}
|
|
else {
|
|
newMatrix[1][1] = atoi(token);
|
|
}
|
|
token = strtok(NULL, " ");
|
|
}
|
|
|
|
printf("\nOriginal matrix:\n"
|
|
"[[%d, %d], [%d, %d]]\n"
|
|
"Readed matrix:\n"
|
|
"[[%d, %d], [%d, %d]]\n",
|
|
matrix[0][0], matrix[0][1], matrix[1][0], matrix[1][1],
|
|
newMatrix[0][0], newMatrix[0][1], newMatrix[1][0], newMatrix[1][1]);
|
|
|
|
return 0;
|
|
}
|