lab5task3

Run Settings
LanguageC
Language Version
Run Command
/** * @file ThirdProject.cpp * @autor Коваленко І. В. 515б * @date 07.04.2023 * @brief Лабораторна робота №3, варіант 11 * * Застосування вказівників. Завдання 5 */ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <time.h> #include "Module.h" int main(void) { //подключение языковых пакетов setlocale(LC_ALL, "ru"); srand(time(NULL)); //создание переменных int arr[MAX_SIZE][MAX_SIZE] = {0}; int size; int g = 0; //запрос на ввод printf("Введите размера массива от 0 до 10: "); //ввод do { g++; if (g > 1) printf("Ошибка. Введите данные от 0 до 10: \n"); scanf("%i", &size); } while (size <= 0 || size > 10); //заполнение массива fill_array(&arr[0][0], size); printf("\n"); //функция из задания rand_upper_triangle(&arr[0][0], size); //вывод массива show_array(&arr[0][0], size); //завершение программы return 0; }
#define PRIVATE static #define PUBLIC #define MAX_SIZE 10 /** * Заполнение массива * * @param arr указатель на массив который нужно заполнить * @param size указывает на размер массива * @return 0, програма void, всегда возвращает ноль */ void fill_array(int* arr, int size); /** * Вывод массива на экран * * @param arr указатель на массив который нужно вывести на экран * @param size указывает на размер массива * @return 0, програма void, всегда возвращает ноль */ void show_array(int* arr, int size); /** * Заполняет верхний треугольник матрицы размером n x n случайними числами * * @param arr указатель на массив который нужно заполнить * @param size указывает на размер массива * @return 0, програма void, всегда возвращает ноль */ void rand_upper_triangle(int* arr, int size);
#include <stdio.h> #include <stdlib.h> #include "Module.h" //заповнення массива нулями PUBLIC void fill_array(int* arr, int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { *(arr + j + i * 10) = 0; } } } //вывод массива на экран PUBLIC void show_array(int* arr, int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { printf(" %i", *(arr + j + i * 10)); } printf("\n"); } } //чудо-юдо функция, условие сложное для понимания, но рабочее... //заполняет ячейки массива так, чтобы при выводе матрицы n * n, числа выстраивали перевернутую пирамидку PUBLIC void rand_upper_triangle(int* arr, int size) { for (int i = 0; i < size; i++) { /* заполнение строк */ for (int j = 0; j < size * 0.5; j++) { /* заполнение ряда */ if((j > i && i <= j - 1 ) || (j < i && i >= size - j)) { /* заполнение ячеек поза пирамидкой нулями :/ */ *(arr + (i + j * 10)) = 0; } else /* заполнение пирамиды */ *(arr + (i + j * 10)) = (rand() % 9) + 1; } } }
Editor Settings
Theme
Key bindings
Full width
Lines