Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab3_task2

Snippet info

Language

C

Visibility

public

Author

danylo-zaychenko-525i

Created

2023-04-04T19:13:18.266361Z

Updated

2023-04-04T19:13:18.266361Z

/**
* @file lab3_task2.c
* @author Зайченко Д.i., гр. 515i
* @date 04 квiтня 2023
* @brief Лабораторна робота No 3
*
* Використання масивiв. Завдання 2
*/

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>  
#include <time.h>
#define N 100

long long product_func(int max_i,int min_i,int array[]);

int main() {
	
	setlocale(LC_ALL, "Ukr");

	int n, input, array[100], max = -32768, min = 32767, min_i, max_i;
	
	printf("Введiть розмiр масиву вiд 2 до 100: ");
	scanf("%d", &n);

	if (n > N || n < 2) {
		printf("Введено некоректний розмiр масиву");
		return 0;
	}

	printf("Масив складатиметься з %d елементiв\n", n);

	printf("Виберiть варiант введення масиву: \n1 - з клавiатури \n2 - випадкове генерування\nВведiть 1 або 2: ");
	scanf("%d", &input);


	if (input == 1) {
		//заповнення з клавiатури
		for (int i = 0; i < n; i++) {

			printf("Введiть число номер %d: ", i + 1);
			scanf("%d", &array[i]);
			if (array[i] >= max) {
				max = array[i];
				max_i = i;
			}
			if (array[i] <= min) {
				min = array[i];
				min_i = i;
			}
		}
	}
	//заповнення функцiєю rand()
	else if (input == 2) {
		srand(time(0));
		for (int i = 0; i < n; i++) {

			array[i] = ((rand() * 2) - RAND_MAX) % 100;
			if (array[i] >= max) {
				max = array[i];
				max_i = i;
			}
			if (array[i] <= min) {
				min = array[i];
				min_i = i;
			}
		}
	}
	else {
		printf("Некоректне введення");
		return 0;
	}


	//виведення масиву
	printf("\nВаш масив:\n");
	for (int i = 0; i < n; i++) {
		printf(" %d\t", array[i]);
		if ((i + 1) % 10 == 0)
			printf("\n");
	}
	printf("\nМаксимальний елемент: %d \nМiнiмальний елемент: %d", max, min);
	printf("\nДобуток елементiв масиву мiж максимальним i мiнiмальним елементами: %lld", product_func(max_i,min_i,array));

}
	//добуток всiх чисел мiж максимальним i мiнiмальним елементами
	long long product_func(int max_i,int min_i, int array[]) {
		long long product = 1;
		int check = 1;
		
		if (max_i < min_i) {
			for (int i = max_i + 1; i < min_i; i++) {
				product *= array[i];
				check=0;
			}
			
		}
		else  {
			for (int i = min_i + 1; i < max_i; i++) {
				product *= array[i];
				check=0;
			}
		}
		if (check)
			product = 0;
		return product;
	}

	
	
INFO