1 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 43

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

26.11.2013, 23:16. Показов 1396. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа запускается но выводит не то, что нужно.
Задание:
Дан массив из 18 вещественных чисел, все элементы которого различны.
1) Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3.
2) Найти квадраты всех чисел, расположенных между минимальным и максимальным значениями.
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#define SIZE 18
 
void search(int [], int);
void MaxMin(int [], int);
void increase(int [], int);
 
int main()
{
int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
 
search(arr, SIZE);
MaxMin(arr, SIZE);
increase(arr, SIZE);
 
return 0;
}
 
void search(int a[], int size) //произведение на позициях кратных трем
{
int f1 = 1;
int i;
for (i = 0; i < size; i++)
{
if (i % 3 == 0)
{
f1 *= a[i];
}
}
 for(i = 0; i < size; i++)
    printf("% d", a[i]);
}
 
void MaxMin(int a[], int size) //нахождение квадратов
{
int max = a[0], min = a[0];
int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
int i;
 
for (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 (i = 0; begin <= end; begin++)
{
A[i] = a[begin] * a[begin];
i++;
}
for(i = 0; i < size; i++)
    printf("% d", A[i]);
}
void increase(int a[], int size) //сортировка по возрастанию всех элементов не кратных трем
{
int hold;
int i, j;
 
for (i = 0; i < size; i++)
 
for (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;
}
for( i = 0; i < size; i++)
printf("% d", a[i]);
}
Миниатюры
Найти произведение (ненулевых) элементов массива, находящихся на позициях, кратных числу 3  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2013, 23:16
Ответы с готовыми решениями:

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

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

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

1
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
27.11.2013, 12:55
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 18
 
void MaxMin(float[], int);
void increase(float[], int);
float mul(float a[], int size);
void print(float a[], int size) {
    int i = 0;
    for (i = 0; i < size; ++i)
        printf("%6.0f", a[i]);
 
}
void swap(float *a, float *b) {
    float t = *a;
    *a = *b;
    *b = t;
}
 
void swap_i(int *a, int *b) {
    int t = *a;
    *a = *b;
    *b = t;
}
void seed_arr(float *a, int sz){
        srand(time(0));
        int i = 0;
        for (i = 0; i < SIZE; ++i)
            swap(&a[i], &a[rand() % 18]);
}
 
int main() {
    float arr[SIZE] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
            16, 17 };
    seed_arr(arr, SIZE);
    puts("Massiv:");
    print(arr, SIZE);
    MaxMin(arr, SIZE);
    increase(arr, SIZE);
    printf("\nAfter mul %6.0f\n", mul(arr, SIZE));
 
    return 0;
}
// Найти произведение (ненулевых) элементов массива,
// находящихся на позициях, кратных числу 3.
float mul(float a[], int size) //произведение на позициях кратных трем
{
    float f1 = 1;
    int i;
    for (i = 0; i < size; i++) {
        if (i != 0 && (i % 3 == 0 && a[i] > 0)) {
            //printf("%4.0f ", a[i]);
            f1 *= a[i];
        }
    }
    return f1;
}
// Найти квадраты всех чисел, расположенных между минимальным и
// максимальным значениями.
void MaxMin(float a[], int size) //нахождение квадратов
{
    int max = 0, min = 0;
    int i;
 
    for (i = 1; i < size; i++) {
        if (a[max] < a[i])
            max = i;
        if (a[min] > a[i])
            min = i;
    }
    if (min > max)
        swap_i(&min, &max);
 
    printf("\nmin=%d max=%d\n", min, max);
 
    puts("\nKvadraty");
    for (i = 0; i < size; i++)
        if (i > min && i < max)
            printf("% 6.0f", a[i] * a[i]);
        else
            printf("% 6.0f", a[i]);
    puts("");
}
 
//сортировка по возрастанию всех элементов на местах, не кратных числу 3.
void increase(float a[], int size) {
    float hold;
    int i, j;
 
    for (i = 0; i < size - 1; ++i) // i - номер прохода
            {
        for (j = 0; j < size - 1; ++j) // внутренний цикл прохода
                {
            int k = j + 1;
            if (j != 0 && (j % 3 == 0))
                continue;
            if (k % 3 == 0)
                k = k + 1;
            if ((a[j]> a[k])) {
 
                swap(&a[j], &a[k]);
            }
        }
    }
    puts("After sort");
    print(a, SIZE);
    puts("");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2013, 12:55
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru