From 4e4ea43c15a914bb39451b9642ab1920caee6b68 Mon Sep 17 00:00:00 2001 From: nikit Date: Mon, 11 Nov 2024 12:45:24 +0300 Subject: [PATCH] commit --- FileName.cpp | 192 ++++++++++++++++++ laba.cpp | 551 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 743 insertions(+) create mode 100644 FileName.cpp create mode 100644 laba.cpp diff --git a/FileName.cpp b/FileName.cpp new file mode 100644 index 0000000..27dead3 --- /dev/null +++ b/FileName.cpp @@ -0,0 +1,192 @@ +#include +#include + +//void print1_10() { +// int a = 1; +// do { +// printf(" %d", a); +// a += 1; +// } while (a <= 10); +//} +// +//void print10_1() { +// int a = 10; +// do { +// printf(" %d", a); +// a -= 1; +// } while (a >= 1); +//} +// +//void odd() { +// int a = 1; +// int i = 0; +// do { +// printf(" %d", a); +// a += 2; +// i += 1; +// } while (i < 5); +//} +//void ptint100_10() { +// int a = 100; +// while (a >= 10) { +// printf(" %d", a); +// a -= 10; +// } +//} +// +//void print1000_100() { +// int a = 1000; +// while (a >= 100) { +// printf(" %d", a); +// a -= 100; +// } +//} +// +//void print1000_0() { +// int a = 1000; +// int b; +// printf("Введите шаг: "); +// scanf_s("%d", &b); +// while (a >= 0) { +// printf(" %d", a); +// a -= b; +// } +//} +// +//void main() { +// SetConsoleCP(1251); +// SetConsoleOutputCP(1251); +// int n; +// do { +// printf("\n"); +// printf("Выберите нужную вам операцию:\n"); +// printf("1: Вывести числа от 1 до 10\n"); +// printf("2: Вывести числа от 10 до 1\n"); +// printf("3: Вывести 5 первых нечетных чисел начиная с 1\n"); +// printf("11: Вывести числа от 100 до 10 с шагом 10\n"); +// printf("12: Вывести числа от 1000 до 100 с шагом 100\n"); +// printf("20: Вывести числа от 1000 до 100 с шагом N\n"); +// printf("\n"); +// printf("0: Выйти из программы\n"); +// scanf_s("%d", &n); +// +// switch (n) { +// case 1: +// print1_10(); +// break; +// case 2: +// print10_1(); +// break; +// case 3: +// odd(); +// break; +// case 11: +// ptint100_10(); +// break; +// case 12: +// print1000_100(); +// break; +// case 20: +// print1000_0(); +// break; +// default: +// printf("Вы ввели неверное число!!!!!!\n"); +// break; +// } +// } while (n != 0); +// +// +//} + + + + + + +// лаба 10 +//void Task1() { +// printf("Task1() START\n"); +// int i, j; +// int n, m; +// printf("n = "); +// scanf_s("%d", &n); +// printf("m = "); +// scanf_s("%d", &m); +// +// +// i = 1; +// do { +// j = 1; +// do { +// printf("%d ", i * 10 + j); +// j += 1; +// } while (j <= m); +// +// printf("\n"); +// i += 1; +// } while (i <= n); +// printf("Task1() FINISH\n"); +// +//} +// +//void Task2() { +// printf("Task2() START\n"); +// int i = 1, j; +// do { +// j = 1; +// do { +// printf(" %3d", i * j); +// j++; +// +// } while (j <= 10); +// +// printf("\n"); +// i++; +// +// } while (i <= 10); +// printf("Task2() FINISH\n"); +//} +// +//void Task3() { +// printf("Task3() START\n"); +// +// printf("Task3() FINISH\n"); +//} +// +//void main() { +// SetConsoleCP(1251); +// SetConsoleOutputCP(1251); +// int n; +// do { +// printf("\n"); +// printf("\n"); +// printf("Выберите нужную вам операцию:\n"); +// printf("1: Задача 1 (i * 10 + j)\n"); +// printf("2: Задача 2 (Таблица Пифагора)\n"); +// printf("3: Задача 3(Рисунок по варианту)\n"); +// printf("\n"); +// printf("0: Выйти из программы\n"); +// scanf_s("%d", &n); +// +// switch (n) { +// case 1: +// Task1(); +// break; +// case 2: +// Task2(); +// break; +// case 3: +// Task3(); +// break; +// default: +// printf("Вы ввели неверное число!!!!!!\n"); +// break; +// } +// } while (n != 0); +//} + +int x = 10; + +void main() { + printf("Hi"); +} \ No newline at end of file diff --git a/laba.cpp b/laba.cpp new file mode 100644 index 0000000..d297d18 --- /dev/null +++ b/laba.cpp @@ -0,0 +1,551 @@ +//#include +//#include +// +//#define NUM_ELEMENTS 10 +// +//int arr[NUM_ELEMENTS]; +//int n = 0; +// +// +//void printElements(); +//void keyboardInput(); +//void oddsX10(); +//int findMin(); +//int more10(); +//int findLastEven(); +//int findIndexMin(); +//void chetnaminus(); +//int findmenshe4(); +//int variant1(); +//void deletElement(int delIndex); +//void insertElement(int insIndex, int value); +//int deletfindMin(); +//void variant_5(); +//int Findnechet(); +// +//void main() { +// SetConsoleCP(1251); +// SetConsoleOutputCP(1251); +// int item; +// do { +// printf("\n"); +// printf("------------------------------\n"); +// printf("Содержимое массива:"); +// printElements(); +// printf("Выберите нужную вам операцию:\n"); +// printf("1: Ввести с клавиатуры массив\n"); +// printf("2: x10 для всех нечетных элементов\n"); +// printf("3: Найти минимальный элемент\n"); +// printf("4: Сколько элементов > 10\n"); +// printf("5: Увеличивать в 2 раза последний четный\n"); +// printf("6: Сколько четных левее минимального\n"); +// printf("7: Все четные элементы массива умножить на -1\n"); +// printf("8: Все элементы массива, имеющие значения < 4, заменить на 4\n"); +// printf("9: Все четные элементы массива обнулить\n"); +// printf("11: Удаление заданного элемента массива\n"); +// printf("12: Вставка нового элемента в заданное место\n"); +// printf("13: Удаление минимального элемента\n"); +// printf("14: Перед минимальным элементом вставить 0\n"); +// printf("15: Удалить первый из нечетных элементов\n"); +// printf("\n"); +// printf("0: Выйти из программы\n"); +// printf("Выбранная операция >>>>>> "); +// +// scanf_s("%d", &item); +// +// switch (item) { +// case 1: +// keyboardInput(); +// break; +// +// case 2: +// oddsX10(); +// break; +// +// case 3: +// { +// int min = findMin(); +// printf("min = %d\n", min); +// } +// break; +// +// case 4: +// { +// int i1 = more10(); +// printf(" %d элементов > 10\n", i1); +// } +// break; +// +// case 5: +// { +// int index = findLastEven(); +// if (index >= 0) { +// arr[index] *= 2; +// } +// } +// break; +// +// case 6: +// { +// int index = findIndexMin(); +// printf("Индекс минимального элемента = %d\n", index); +// +// int cnt = 0; +// for (int i = 0; i < index; i++) { +// if (arr[i] % 2 == 0) { +// cnt++; +// } +// } +// printf("Левее минимального %d четных элементов\n", cnt); +// } +// break; +// +// case 7: +// chetnaminus(); +// break; +// +// case 8: +// findmenshe4(); +// break; +// +// case 9: +// variant1(); +// break; +// +// case 11: +// { +// printf("Индекс удаляемого элемента = "); +// int index; +// scanf_s("%d", &index); +// +// deletElement(index); +// } +// break; +// +// case 12: +// { +// printf("Перед каким элементом неужно вставить новый? Индекс = "); +// int index; +// scanf_s("%d", &index); +// +// printf("Значение, которое нужно вставить = "); +// int value; +// scanf_s("%d", &value); +// +// insertElement(index, value); +// } +// break; +// +// case 13: { +// int min = deletfindMin(); +// deletElement(min); +// break; +// } +// case 14: +// { +// int indexMin = findIndexMin(); +// printf("Индекс минимального элемента = %d\n", indexMin); +// +// insertElement(indexMin, 0); +// } +// break; +// +// case 15: +// int nechet = Findnechet(); +// +// deletElement(nechet); +// break; +// } +// } while (item != 0); +//} +// +// +// +//void keyboardInput() { +// printf("n = "); +// scanf_s("%d", &n); +// +// printf("input %d values: ", n); +// for (int i = 0; i < n; i++) { +// scanf_s("%d", &arr[i]); +// } +//} +// +//void oddsX10() { +// for (int i = 0; i < n; i++) { +// if (arr[i] % 2 == 1) { +// arr[i] *= 10; +// } +// } +//} +// +//void printElements() { +// printf("< "); +// for (int i = 0; i < n; i++) { +// printf("%d ", arr[i]); +// } +// printf(">\n"); +//} +// +//int findMin() { +// int min = arr[0]; +// for (int i = 0; i < n; i++) { +// if (arr[i] < min) { +// min = arr[i]; +// } +// } +// return min; +//} +// +// +// +//int more10() { +// int i1 = 0; +// for (int i = 0; i < n; i++) { +// if (arr[i] > 10) { +// i1 += 1; +// } +// } +// return i1; +//} +// +//int findLastEven() { +// for (int i = n - 1; i < n; i--) { +// if (arr[i] % 2 == 0) { +// return i; +// } +// } +// return -1; +//} +// +//int findIndexMin() { +// int min = arr[0]; +// int indexMin = 0; +// for (int i = 1; i < n; i++) { +// if (arr[i] < min) { +// min = arr[i]; +// indexMin = i; +// } +// } +// return indexMin; +//} +// +//void chetnaminus() { +// for (int i = 0; i < n; i++) { +// if (arr[i] % 2 == 0) { +// arr[i] = arr[i] * (-1); +// } +// } +//} +// +//int findmenshe4() { +// for (int i = 0; i < n; i++) { +// if (arr[i] < 4) { +// arr[i] = 4; +// } +// } +// return 4; +//} +// +//int variant1() { +// for (int i = 0; i < n; i++) { +// if (arr[i] % 2 == 0) { +// arr[i] = 0; +// } +// } +// return 0; +//} +// +//void deletElement(int delIndex) { +// for (int i = delIndex; i < n - 1; i++) { +// arr[i] = arr[i + 1]; +// } +// n--; +//} +// +//void insertElement(int insIndex, int value) { +// for (int i = n; i > insIndex; i--) { +// arr[i] = arr[i - 1]; +// } +// n++; +// arr[insIndex] = value; +//} +// +//int deletfindMin() { +// int minNum1 = arr[0]; +// int saveNum = 0; +// for (int i = 0; i < n; i++) { +// if (arr[i] < minNum1) { +// minNum1 = arr[i]; +// saveNum = i; +// } +// } +// return saveNum; +//} +// +// +// +//int Findnechet() { +// for (int i = 0; i < n; i++) { +// if (arr[i] % 2 != 0) { +// return i; +// } +// } +// return -1; +//} +// + + + + + +#define _CRT_SECURE_NO_WARNINGS +#include +#include +#include + +#define max_n 10 +#define max_m 10 + + + + + +int arr[max_n][max_m] = { + { 1, 5, 3, 4}, + { 76, 88, 89 }, + { 9, 8, 3, 8 } + +}; + +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("%4d", arr[i][j]); + } + printf("\n"); + } +} + +void fillix10() { + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + arr[i][j] = i * 10 + j; + } + } +} + +void fillzero() { + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + arr[i][j] = 0; + } + } +} + +void random() { + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + arr[i][j] = rand() % 10; + } + } +} + +void odd_numbers() { + 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 multiples_10() { + 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 enterinf_array() { + printf("\nВведите количество строк = "); + scanf_s("%d", &n); + + printf("\nВведите количество столбцов = "); + scanf_s("%d", &m); + + for (int i = 0; i < n; i++) { + printf("Введите %d строку массива ", i + 1); + for (int j = 0; j < m; j++) { + scanf_s("%d", &arr[i][j]); + } + } +} + +// сохранение состояния +void save() { + // выходной файл + FILE* fout = fopen("c:\\fist\\оаип\\файл\\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("c:\\fist\\оаип\\файл\\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 deletrow(int 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 duplicatecolumn(int dupcol) { + for (int i = 0; i < n; i++) { + for (int j = m; j > dupcol; j--) { + arr[i][j] = arr[i][j - 1]; + } + } + for (int i = 0, j = 0; i < n; i++, j++) { + if (j = dupcol) + arr[i][j + 1] = arr[i][j]; + } + m++; +} + +int null_column() { + int zerocolumns[max_m] = { 0 }; + for (int j = 0; j < m; j++) { + for (int i = 0; i < n; i++) { + if (arr[i][j] % 2 == 0) { + zerocolumns[j] = 1; // чётное + break; + } + } + } + for (int j = 0; j < m; j++) { + if (zerocolumns[j] == 0) { //не чётное + for (int i = 0; i < n; i++) { + arr[i][j] = 0; + } + } + } + + return 0; +} + +void main() { + SetConsoleCP(1251); + SetConsoleOutputCP(1251); + int item; + do { + printf("\n"); + print(); + printf("==============================\n"); + printf("выберите нужную вам операцию:\n"); + printf("1: заполнить значениями i * 10 + j\n"); + printf("2: заполнить 0\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("11: обнулить элементы тех столбцов, в которых нет ни одного четного элемента\n"); + printf("\n"); + printf("-1: выйти из программы\n"); + printf("выбранная операция >>>>>> "); + scanf_s("%d", &item); + + switch (item) { + case 1: + fillix10(); + break; + case 2: + fillzero(); + break; + case 3: + random(); + break; + case 4: + odd_numbers(); + break; + case 5: + multiples_10(); + break; + case 6: + enterinf_array(); + break; + case 7: + save(); + break; + case 8: + load(); + break; + case 9: + { + int num; + printf("номер строки, которую нужно удалить: "); + scanf_s("%d", &num); + deletrow(num); + break; + } + case 10: + { + int num; + printf("введите номер столбца, который нужно продублировать = "); + scanf_s("%d", &num); + duplicatecolumn(num); + break; + } + case 11: + null_column(); + break; + } + + } while (item != -1); +} \ No newline at end of file