Lab5Project3Veronika

Run Settings
LanguageC
Language Version
Run Command
/** * @file TP.cpp * @autor Батуріна В. А. 515б * @date 21.05.2023 * @brief Лабораторна робота №5, варіант 19 * * Застосування вказівників. Завдання 3 */ #include <stdio.h> #include <locale.h> #include "head.h" int main(int argc, char* argv[]) { //підключення підтримки мови setlocale(LC_ALL, "ukr"); //створення змінних int f = 0, n, k, mat[SIZE][SIZE] = {0}; //інформація про программу printf("\tЦя програма зсуває елементи стовпців.\n"); printf("\t\tМатриця буде заповнена починаючи з 1...\n"); //заклик на введення та вадення даних printf("\n\t\tВведіть розмір масиву від 2 до 25: "); scanf("%i", &n); //перевірка на коректність введених данних if (!(n < 2 || n > 25)) { for (size_t j = 0; j < n; j++) for (size_t i = 0; i < n; i++) mat[j][i] = ++f; //заклик та введення розміру зсуву printf("Вкажіть розмір зсуву: "); scanf("%i", &k); matrix_shift_bottom(&mat[0][0], n, k); } else { return ERRORTYPE; } return 0; }
#define ERRORTYPE -1 #define SIZE 25 /** * Заміна цифр від 1-9 на римські цифри від I-IX * * @param mat - матриця * @param n - розмір матриці * @param k - розмір зміщення * @return void */ void matrix_shift_bottom(int* mat, int n, int k);
#include <stdio.h> #include "head.h" void matrix_shift_bottom(int* mat, int n, int k) { //допоміжний масив int temp[SIZE][SIZE] = {0}; //виведення матриці printf("Ваша матриця:\n"); for (size_t j = 0; j < n; j++) { for (size_t i = 0; i < n; i++) { printf("\t%i", *(mat + i + (j * SIZE))); } printf("\n"); } //цикл на зсув while (k != 0) { for (size_t j = 0; j < n; j++) { for (size_t i = 0; i < n; i++) { if (j + 1 == n) { temp[j][i] = *(mat + i); } else temp[j][i] = *(mat + i + ((j + 1) * SIZE)); } } for (size_t j = 0; j < n; j++) for (size_t i = 0; i < n; i++) *(mat + i + (j * SIZE)) = temp[j][i]; k--; } //цикл на виведення змыненої матриці printf("\nВаша матриця після зміни:\n"); for (size_t j = 0; j < n; j++) { for (size_t i = 0; i < n; i++) { printf("\t%i", *(mat + i + (j * SIZE))); } printf("\n"); } }
Editor Settings
Theme
Key bindings
Full width
Lines