popitka_8/лаба 15/FileName.cpp
2024-12-24 15:41:22 +04:00

267 lines
4.2 KiB
C++

#include <stdio.h>
#include <Windows.h>
#define MAX_N 8
#define MAX_M 10
int arr[MAX_N][MAX_M] = {
{ 0, 1, 222, 3},
{10, 11, 12, 13},
{20, 21, 22, 23}
};
int n = 3;
int m = 4;
void print() {
printf("!!!! print() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%3d ", arr[i][j]);
}
printf("\n");
}
}
void print0() {
print();
}
void fillIx10() {
printf("!!!! fillIx10() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = i * 10 + j;
}
}
}
void print1() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
fillIx10();
}
void fillZero() {
printf("!!!! fillZero() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = 0;
}
}
}
void print2() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
fillZero();
}
void randFill0_9() {
printf("!!!! randFill() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = rand() % 100;
}
}
}
void print3() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
randFill0_9();
}
void proizvedenie() {
printf("!!!! *10() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] % 2 != 0) {
arr[i][j] *= 10;
}
}
}
}
void print4() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
proizvedenie();
}
void delenie() {
printf("!!!! *10() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] % 10 == 0) {
arr[i][j] /= 10;
}
}
}
}
void print5() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
delenie();
}
int vvod() {
// Ââîä ýëåìåíòîâ ìàññèâà
printf("Ââåäèòå ýëåìåíòû ìàññèâà (%d x %d):\n", n, m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("Ýëåìåíò [%d][%d]: \n", i, j);
scanf_s("%d", &arr[i][j]); // Ñ÷èòûâàíèå ýëåìåíòà
}
}
// Âûâîä ýëåìåíòîâ ìàññèâà
printf("Ââåäåííûé ìàññèâ:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", arr[i][j]); // Âûâîä ýëåìåíòà
}
printf("\n");
}
return 0;
}
void deleteRow(int delRow) {
printf("!!!! deleteRow(%d) !!!!\n", delRow);
for (int i = delRow; i < n - 1; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = arr[i + 1][j];
}
}
n--;
}
void print7() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int num;
printf("Íîìåð ñòðîêè, êîòîðóþ íóæíî óäàëèòü: ");
scanf_s("%d", &num);
deleteRow(num);
}
void save() {
// Âûõîäíîé ôàéë
FILE* fout = NULL;
errno_t err = fopen_s(&fout, "C:\\Users\\home-PC\\Desktop\\ëàáû\\arr11.txt", "wt");
if (err != 0 || fout == NULL) {
printf("Âûõîäíîé ôàéë íå ñîçäàëñÿ\n");
return;
}
fprintf(fout, "%d ", n);
fprintf(fout, "%d\n", m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
fprintf(fout, "%d ", arr[i][j]);
}
fprintf(fout, "\n");
}
fclose(fout);
}
void load() {
FILE* fin = NULL;
errno_t err = fopen_s(&fin, "C:\\Users\\home-PC\\Desktop\\ëàáû\\arr11.txt", "rt");
if (err != 0 || fin == NULL) {
printf("Âõîäíîé ôàéë íå íàéäåí\n");
return;
}
fscanf_s(fin, "%d", &n);
fscanf_s(fin, "%d", &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
fscanf_s(fin, "%d", &arr[i][j]);
}
}
fclose(fin);
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int item;
do {
printf("\n");
print();
printf("------------------------------\n");
printf("Âûáåðèòå íóæíóþ âàì îïåðàöèþ:\n");
printf("1: çàïîëíèòü çíà÷åíèÿìè i*10+j \n");
printf("2: çàïîëíèòü íóëÿìè \n");
printf("3: çàïîëíèòü ñëó÷àéíûìè çíà÷åíèÿìè äî 100\n");
printf("4: âñå íå÷åòíûå óâåëè÷èòü â 10 ðàç\n");
printf("5: âñå êðàòíûå 10 óìåíüøèòü â 10 ðàç\n");
printf("6: ââîä ìàññèâà\n");
printf("7: óäàëèòü ñòðîêó\n");
printf("8: ñîõðàíèòü ìàññèâ â ôàéë\n");
printf("9: èçâëå÷ü ìàññèâ èç ôàéëà\n");
printf("\n");
printf("0: Âûéòè èç ïðîãðàììû\n");
printf("Âûáðàííàÿ îïåðàöèÿ >>>>>> ");
scanf_s("%d", &item);
switch (item) {
case 1:
print1();
break;
case 2:
print2();
break;
case 3:
print3();
break;
case 4:
print4();
break;
case 5:
print5();
break;
case 6:
vvod();
break;
case 7:
print7();
break;
case 8:
save();
break;
case 9:
load();
break;
}
} while (item != 0);
}