Вы находитесь на странице: 1из 8

По теме: ОДНОМЕРНЫЕ МАССИВЫ

Лабораторная Nr.2
6 вариант

Сделал : группа AI-212 Мельник Роман

Проверил: Максим Игнатов


Пример задания: В одномерном массиве, состоящем из п вещественных элементов,
вычислить:

1)сумму отрицательных элементов массива;


2)произведение элементов массива, расположенных между максимальным
и минимальным значениями.
Упорядочить элементы массива по возрастанию.

Примечание: Размерности массивов задаются именованными константами.

Вариант 6

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) минимальный элемент массива;


2) сумму элементов массива, расположенных между первым и последним положительными
элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю,
а потом - все остальные.
Код:
#include <stdio.h>

int main()

int MAX_ELEMENTS = 0;

printf("Enter n: ");

scanf("%d", &MAX_ELEMENTS);

float m[MAX_ELEMENTS];

float sum = 0;

float minElement = 0;

int firstPositiveI = 0;

int secondPositiveI = 0;

int isFirstPositive = 0;

int isSecondPositive = 0;

for (int i = 0; i < MAX_ELEMENTS; i++)

printf("m[%d] = ", i);

scanf("%f", &m[i]);

minElement = m[0];

for (int i = 0; i < MAX_ELEMENTS; i++)

if(minElement > m[i]) {

minElement = m[i];

}
if(isFirstPositive == 0 && m[i] > 0) {

isFirstPositive = 1;

firstPositiveI = i;

for(int i = MAX_ELEMENTS - 1; i >= 0; i--) {

if(isSecondPositive == 0 && m[i] > 0) {

isSecondPositive = 1;

secondPositiveI = i;

for (int i = 0; i < MAX_ELEMENTS; i++)

if(firstPositiveI < i && i < secondPositiveI) {

sum += m[i];

printf("\nMinimalnii element: %.2f\n", minElement);

printf("Summa mejdu polojitelnimi: %.2f\n", sum);

for (int i = 0; i < MAX_ELEMENTS; i++)

for(int j = i+1; j < MAX_ELEMENTS; j++) {

if(m[i] != 0 && m[j] == 0) {

m[j] = m[i];

m[i] = 0;

}
}

printf("Otsortirovanii massiv: \n");

for (int i = 0; i < MAX_ELEMENTS; i++)

printf("%.2f ", m[i]);

return 0;

Пример:
Вторая задача.

Вариант 6. Определить значения и количество минимальных элементов, и их позиции в


массиве

Код:
#include <stdio.h>

int main()
{
int MAX_ELEMENTS = 0;

printf("Enter n: ");
scanf("%d", &MAX_ELEMENTS);

float m[MAX_ELEMENTS];
int sum = 0;
float minElement = 0;
int firstPositive = 0;

for (int i = 0; i < MAX_ELEMENTS; i++){


printf("m[%d] = ", i);
scanf("%f", &m[i]);
}

minElement = m[0];

for (int i = 0; i < MAX_ELEMENTS; i++) {


if(minElement > m[i]) {
minElement = m[i];
}
}

printf("\n");
for(int i = 0; i < MAX_ELEMENTS; i++) {
if(m[i] == minElement) {
sum++;
printf("Min[%d] value: %f, min[%d] index: %d\n", sum, m[i],
sum, i);
}
}

printf("\nCount of mins: %d", sum);

return 0;
}
Пример:

Вам также может понравиться