Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Вадим52129209
0 / 0 / 0
Регистрация: 22.11.2018
Сообщений: 13
1

Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3

27.11.2018, 23:33. Просмотров 424. Ответов 2
Метки нет (Все метки)

Дан массив из 18 вещественных чисел, все элементы которого различны. а) Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3. б) Найти квадраты всех чисел, расположенных между минимальным и максимальным значениями. в) Сортировать по возрастанию элементы, находящиеся на местах, не кратных числу 3

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#define SIZE 18
 
void search(int [], int);
void MaxMin(int [], int);
void increase(int [], int);
 
main()
{
    int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
 
    void search(arr, SIZE);
    void MaxMin(arr, SIZE);
    void increase(arr, SIZE);
 
}
 
void search(int a[], int size) //произведение на позициях кратных трем
{
    int f1 = 1;
 
    for (int i = 0; i < size; i++)
    {
        if (i % 3 == 0)
            f1 *= a[i]
    }
}
 
void MaxMin(int a[], int size) //нахождение квадратов
{
    int max = a[0], min = a[0];
    int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
 
    for (int i = 0; i < size; i++)
    {
        if (max < a[i]) max = i;
        if (min > a[i]) min = i;
    }
 
    int begin = min < max ? min : max;
    int end = min > max ? min : max;
 
    for (int i = 0; begin <= end; begin++)
    {
        A[i] = a[begin] * a[begin];
        i++;
    }
}
 
void increase(int a[], int size)  //сортировка по возрастанию всех элементов не кратных трем
{
    int hold;
 
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
            if (i % 3 != 0 && a[i] > a[i + 1])
            {
                hold = a[i];
                a[i] = a[i + 1];
                a[i + 1] = hold;
            }   
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2018, 23:33
Ответы с готовыми решениями:

Найти произведение ненулевых элементов массива, находящихся на позициях, кратных числу 3
Пишу в CodeBlocks. Задание: Дан массив из 18 вещественных чисел,...

Найти произведение ненулевых элементов массива, находящихся на позициях, кратных числу 3
Дан массив из 18 вещественных чисел, все элементы которого различны. 1) Найти произведение...

Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3
Программа запускается но выводит не то, что нужно. Задание: Дан массив из 18 вещественных чисел,...

Массив: Найти произведение ненулевых элементов массива
2 задачи в си

Найти сумму элементов одномерного массива, кратных заданному числу
2. Найти сумму элементов одномерного массива, кратных заданному числу.

2
ValeryS
Модератор
7910 / 5886 / 774
Регистрация: 14.02.2011
Сообщений: 20,241
Завершенные тесты: 1
28.11.2018, 00:03 2
Цитата Сообщение от Вадим52129209 Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
void search(int a[], int size) //произведение на позициях кратных трем
{
int f1 = 1;
for (int i = 0; i < size; i++)
{
if (i % 3 == 0)
f1 *= a[i]
}
}
а так не проще?
C
1
2
3
4
5
6
7
void search(int a[], int size) //произведение на позициях кратных трем
{
int f1 = 1;
for (int i = 0; i < size; i+=3)
  if(a[i]) f1 *= a[i];
 
}
Цитата Сообщение от Вадим52129209 Посмотреть сообщение
вещественных
сдается мне это не
Цитата Сообщение от Вадим52129209 Посмотреть сообщение
int
0
Вадим52129209
0 / 0 / 0
Регистрация: 22.11.2018
Сообщений: 13
28.11.2018, 20:37  [ТС] 3
Дан массив из 18 вещественных чисел, все элементы которого различны. а) Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3. б) Найти квадраты всех чисел, расположенных между минимальным и максимальным значениями. в) Сортировать по возрастанию элементы, находящиеся на местах, не кратных числу 3

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#define SIZE 18
 
void search(int [], int);
void MaxMin(int [], int);
void increase(int [], int);
 
main()
{
int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
 
void search(arr, SIZE);
void MaxMin(arr, SIZE);
void increase(arr, SIZE);
 
}
 
void search(int a[], int size) //произведение на позициях кратных трем
{
int f1 = 1;
 
for (int i = 0; i < size; i++)
{
if (i % 3 == 0)
f1 *= a[i]
}
}
 
void MaxMin(int a[], int size) //нахождение квадратов
{
int max = a[0], min = a[0];
int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
 
for (int i = 0; i < size; i++)
{
if (max < a[i]) max = i;
if (min > a[i]) min = i;
}
 
int begin = min < max ? min : max;
int end = min > max ? min : max;
 
for (int i = 0; begin <= end; begin++)
{
A[i] = a[begin] * a[begin];
i++;
}
}
 
void increase(int a[], int size) //сортировка по возрастанию всех элементов не кратных трем
{
int hold;
 
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
if (i % 3 != 0 && a[i] > a[i + 1])
{
hold = a[i];
a[i] = a[i + 1];
a[i + 1] = hold;
} 
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2018, 20:37

Найти сумму элементов массива, кратных удвоенному заданному числу
Заполнить массив из 12 элементов (случайным образом) вещественными числами в диапозоне от (-50,50)....

Ввести массив. Вывести его. Найти сумму элементов на четных позициях и произведение на нечетных позициях
Помогите пожалуйста решить. ввести массив. Вывести его. Найти сумму элементов на четных позициях и...

Найти произведение ненулевых элементов массива, увеличить положительные элементы на 10
В одномерном массиве A из n элементов найти произведение ненулевых элементов и увеличить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.