commit1
This commit is contained in:
parent
cd202e2037
commit
4c96aa991c
247
15 Лаба.cpp
Normal file
247
15 Лаба.cpp
Normal file
@ -0,0 +1,247 @@
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#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();
|
||||
void fillIx10();
|
||||
void fillZero();
|
||||
void randFill0_9();
|
||||
void oddsX10();
|
||||
void oddsx1();
|
||||
void printElements();
|
||||
void deleteRow(int delRow);
|
||||
void save();
|
||||
void load();
|
||||
void save();
|
||||
void load();
|
||||
void addColumn(int addColumn0);
|
||||
|
||||
void main() {
|
||||
SetConsoleCP(1251);
|
||||
SetConsoleOutputCP(1251);
|
||||
int item;
|
||||
do {
|
||||
printf("\n");
|
||||
printf("------------------------------\n");
|
||||
printf("Ñîäåðæèìîå ìàññèâà:");
|
||||
printf("\n");
|
||||
printf("Âûáåðèòå íóæíóþ âàì îïåðàöèþ:\n");
|
||||
printf("1: Çàïîëíèòü çíà÷åíèÿìè i * 10 + j\n");
|
||||
printf("2: Çàïîëíèòü íóëÿìè\n");
|
||||
printf("3: Çàïîëíèòü ñëó÷àéíûìè çíà÷åíèÿìè\n");
|
||||
printf("4: Âñå íå÷¸òíûå óâåëè÷èòü â 10 ðàç\n");
|
||||
printf("5: Âñå êðàòíûå 10 óìåíüøèòü â 10 ðàç\n");
|
||||
printf("6: Ââåäèòå ìàññèâ ñ êëàâèàòóðû\n");
|
||||
printf("7: Óäàëèòü çàäàííóþ ñòðîêó èç ìàññèâà\n");
|
||||
printf("8: Ñîõðàíèòü â ôàéë\n");
|
||||
printf("9: Çàãðóçèòü ôàéë\n");
|
||||
printf("10: Ïðîäóáëèðîâàòü çàäàííûé ñòîëáåö ìàññèâà\n");
|
||||
printf("\n");
|
||||
printf("-1: Âûéòè èç ïðîãðàììû\n");
|
||||
printf("Âûáðàííàÿ îïåðàöèÿ >>>>>> ");
|
||||
|
||||
scanf_s("%d", &item);
|
||||
switch (item) {
|
||||
case 1:
|
||||
fillIx10();
|
||||
print();
|
||||
break;
|
||||
case 2:
|
||||
fillZero();
|
||||
print();
|
||||
break;
|
||||
case 3:
|
||||
randFill0_9();
|
||||
print();
|
||||
break;
|
||||
|
||||
case 4:
|
||||
oddsX10();
|
||||
print();
|
||||
break;
|
||||
case 5:
|
||||
oddsx1();
|
||||
print();
|
||||
break;
|
||||
case 6:
|
||||
printElements();
|
||||
print();
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
int num;
|
||||
printf("Íîìåð ñòðîêè, êîòîðóþ íóæíî óäàëèòü= ");
|
||||
scanf_s("%d", &num);
|
||||
deleteRow(num);
|
||||
print();
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
save();
|
||||
print();
|
||||
break;
|
||||
case 9:
|
||||
load();
|
||||
print();
|
||||
break;
|
||||
case 10:
|
||||
{
|
||||
print();
|
||||
int num;
|
||||
printf("Íîìåð ñòîëáöà, êîòîðûé íóæíî ïðîäóáëèðîâàòü= ");
|
||||
scanf_s("%d", &num);
|
||||
addColumn(num);
|
||||
print();
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while (item != 0);
|
||||
}
|
||||
|
||||
|
||||
void print() {
|
||||
printf("!!!! Ìàññèâ !!!!\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
printf("%3d ", arr[i][j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
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 fillZero() {
|
||||
printf("!!!! fillZero() !!!!\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
arr[i][j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void randFill0_9() {
|
||||
printf("!!!! randFill0_9() !!!!\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
arr[i][j] = rand() % 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void oddsX10() {
|
||||
printf("!!!! oddsX10() !!!!\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
if (arr[i][j] % 2 != 0) {
|
||||
arr[i][j] = arr[i][j] * 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void oddsx1() {
|
||||
printf("!!!! oddsX1() !!!!\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
if (arr[i][j] % 10 == 0) {
|
||||
arr[i][j] = arr[i][j] / 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void printElements() {
|
||||
printf("n = ");
|
||||
scanf_s("%d", &n);
|
||||
printf("m = ");
|
||||
scanf_s("%d", &m);
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
scanf_s(" %d", &arr[i][j]);
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
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 save() {
|
||||
// Âûõîäíîé ôàéë
|
||||
FILE* fout = fopen("arr1.txt", "wt");
|
||||
if (fout == NULL) {
|
||||
printf("Âûõîäíîé ôàéë íå ñîçäàëñÿ");
|
||||
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 = fopen("arr1.txt", "rt");
|
||||
if (fin == NULL) {
|
||||
printf("Âõîäíîé ôàéë íå íàéäåí");
|
||||
return;
|
||||
}
|
||||
|
||||
fscanf(fin, "%d", &n);
|
||||
fscanf(fin, "%d", &m);
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j < m; j++) {
|
||||
fscanf(fin, "%d", &arr[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fin);
|
||||
}
|
||||
|
||||
void addColumn(int addColumn0) {
|
||||
printf("!!!! addColumn0(%d) !!!!\n", addColumn0);
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = addColumn0; j < m + 1; j++) {
|
||||
arr[i][j] = arr[i][j - 1];
|
||||
}
|
||||
}
|
||||
m++;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user