lab3task2

Run Settings
LanguageC
Language Version
Run Command
/** * @file main.cpp * @autor Коваленко І. В. 515б * @date 20.03.2023 * @brief Лабораторна робота №3, варіант 11 * * Використання масивів. Завдання 2 */ /* Розробити функцію для обчислення суми елементів масиву, що знаходяться після мінімального елемента. Кількість елементів масиву n задається користувачем (максимальна кількість – 100). Передбачити можливість введення елементів масиву як з клавіатури, так і з використанням функції rand(). Розробити програму, що демонструє використання розроблених функцій. */ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <time.h> #include "Module.h" int main(void) { //утворення ключів setlocale(LC_ALL, "ukr"); srand(time(NULL)); //створення змінних int arr[MAX_SIZE] = { 0 }; char choise; int size_of_mas = size_of_massive(); //утворення інфо панель для користувача printf("Введіть тип заповнення масиву.\n================================================\nf - заповнення користувачем\nr - заповнення рандомними числами від -50 до 50\n================================================\n"); do { choise = getchar(); if (choise != 'f' && choise != 'r') printf("Ошибка.\nВведіть тип заповнення масиву.\n================================================\nf - заповнення користувачем\nr - заповнення рандомними числами від -50 до 50\n================================================\n"); } while (choise != 'f' && choise != 'r'); //вибір заповнення та заповнення масиву choise_of_array_filling(choise, arr, size_of_mas); //виведення масиву display(arr, size_of_mas); //виведення суми чисел printf("\nСумма елементів після мінімального елементу: %i\n", find_min(arr, size_of_mas)); printf("Завершення програми."); }
#define MAX_SIZE 100 #define PRIVATE static #define PUBLIC #define ERROR 0 #define CORRECT 1 int size_of_massive(); int choise_of_array_filling(char choise, int arr[], int size); void display(int arr[], int size); int find_min(int arr[], int size);
#include <stdio.h> #include <stdlib.h> #include "Module.h" //перевірка чар PRIVATE int clean_stdin() { while (getchar() != '\n'); return 1; } //перевірка корректності данних PUBLIC int size_of_massive() { int size_of_mas; char c; do { do { printf("Введіть розмір масиву: "); } while ((((scanf("%d%c", &size_of_mas, &c) != 2 || c != '\n') && clean_stdin()))); } while ((size_of_mas < 0 || size_of_mas > 100)); return size_of_mas; } //заповнення масиву PUBLIC int choise_of_array_filling(char choise, int arr[], int size) { int num; if (choise == 'f') { for (int i = 0; i < size; i++) { scanf("%i", &num); arr[i] = num; } } else if (choise == 'r') { for (int i = 0; i < size; i++) { num = rand() % 100 - 50; arr[i] = num; } } else { return ERROR; } return CORRECT; } //виведення масиву PUBLIC void display(int arr[], int size) { printf("Ваш масив:\n\t===================================\n\n\t"); for (int i = 0; i < size; i++) { printf("%i\t", arr[i]); if (!((i + 1) % 5)) printf("\n\t"); } printf("\n\t===================================\n"); } //знаходження та сумма після мінімального елементу PUBLIC int find_min(int arr[], int size) { int min = arr[0]; int min_index = 0; int sum = 0; for (int i = 1; i < size; i++) { if (min > arr[i]){ min_index = i; min = arr[i]; } } for (int i = min_index + 1; i < size; i++) { sum += arr[i]; } return sum; }
Editor Settings
Theme
Key bindings
Full width
Lines