Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 9
1

Найти произведение чисел с нулевой дробной частью, наименьшее из таких чисел, номер числа

02.07.2014, 19:41. Показов 2379. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализовать программу обработки массива на алгоритмическом языке С. Длина масси-ва не более 20 элементов. Элементы массива вводятся вручную . Размер массива задается пользователем с клавиатуры.

Дана последовательность вещественных чисел {Aj} произвольной длины. Найти произведение чисел с нулевой дробной частью, наименьшее из таких чисел, и номер этого числа в последовательности.


Помогите,пожалуйста)Очень надо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2014, 19:41
Ответы с готовыми решениями:

Написать функцию нахождения в массиве вещественных чисел числа с наименьшей дробной частью
Написать функцию нахождения в массиве вещественных чисел числа с наименьшей дробной частью.

Работа функции нахождения в массиве вещественных чисел числа с наименьшей дробной частью
Задание: Написать функцию нахождения в массиве вещественных чисел числа с наименьшей дробной...

Литералы, поиск чисел с целой и дробной частью
в исходной стpоке ищутся и pаспечатываются в столбик все последовательности литеp, пpедставляющие...

Вывести количество чисел с ненулевой дробной частью и их сумму
Задание: Дан текстовый файл, каждая строка которого изображает целое или вещественное число,...

2
31 / 31 / 32
Регистрация: 21.06.2014
Сообщений: 81
02.07.2014, 22:26 2
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    int i,n=0,mini=-1;
    float* arr,result,min;
 
    printf("Vvedite razmer massiva:");
    scanf("%d",&n);
    while(n>20 || n<=0)
    {
        printf("\nNevernij razmer.Povtorite vvod:");
        scanf("%d",&n);
    }
    arr=(float*)malloc(n*sizeof(float));
    printf("\nVvedite elementi massiva:\n");
    for(i=0;i<n;i++)
    {
        scanf("%f",&arr[i]);
    }
    for(i=0;i<n;i++)
    {
        if(arr[i]==floorf(arr[i]))
        {
            if(mini==-1)
            {
                mini=i;
                min=arr[i];
                result=arr[i];
                continue;
            }
            if(arr[i]<min)
            {
                mini=i;
                min=arr[i];
            }
            result=result*arr[i];
        }
    }
    if(mini==-1)
    {
        printf("\n Chisel s 0 drovnoj chastu net \n");
    }
    else
    {
        printf("\n Proizvedenie chisel s 0 drobnoj chastu = %f\n",result);
        printf("\n Minimalnoe takoe chislo= %f ego poziciya-  %d\n",min,mini+1);
    }
    free(arr);
    return 0;
}
0
430 / 384 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
05.07.2014, 11:45 3
Лучший ответ Сообщение было отмечено Tonic1203 как решение

Решение

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 <stdbool.h>    // bool
#include <math.h>       // modf, NAN
#include <stdlib.h>     // strtod
#include <stdio.h>      // fgets
 
bool is_zero_fracpart(double x)
{
    double intpart;
    return modf(x, &intpart) == 0.0;
}
 
int find_min(double* arr, size_t siz)
{
    double min = NAN;
    int idx_min = -1;
    for( size_t i = 0; i < siz; ++i ) {
        if( is_zero_fracpart(arr[i]) && ( min != min || arr[i] < min ) ) {
            min = arr[i];
            idx_min = i;
        }
    }
    return idx_min;
}
 
double calc_product(double* arr, size_t siz)
{
    double product = NAN;
    for( size_t i = 0; i < siz; ++i ) {
        if( is_zero_fracpart(arr[i]) ) {
            if( product == product ) {
                product *= arr[i];
            } else {
                product = arr[i];
            }
        }
    }
    return product;
}
 
double input(int i)
{
    char buf[10];
    printf("Input element %d: ", i);
    fflush(stdin);
    fgets(buf, sizeof(buf), stdin);
    if( buf[0] == '\n' ) {
        return NAN;
    } else {
        return strtod(buf, NULL);
    }
}
 
int main(void)
{
    const size_t max_length = 20;
    double array[max_length];
 
    size_t length;
    for( length = 0; length < max_length; ++length ) {
        array[length] = input(length);
        if( array[length] != array[length] ) { break; }
    }
 
    int idx_min = find_min(array, length);
    if( idx_min != -1 ) {
        printf("min = %d\n", idx_min);
    } else {
        puts("No min");
    }
 
    double product = calc_product(array, length);
    if( product == product ) {
        printf("product = %f\n", product);
    } else {
        puts("No product");
    }
 
    return 0;
}
0
05.07.2014, 11:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2014, 11:45
Помогаю со студенческими работами здесь

Ввести 10 положительных действительных чисел, вывести число с наименьшей дробной частью
Ввести 10 положительных действительных чисел, вывести число с наименьшей дробной частью. Вот такое...

Ввести 10 положительных действительных чисел, вывести число с наименьшей дробной частью - Free Pascal
Мы только начали изучить С, я тупая, я вообще ничего не понимаю Прошли только циклы, такие как for...

Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности
Всем привет! Благодарю, за то что читаете это. Я являюсь студентом в одном из вузов Белгорода. Есть...

Массивы: Найти наименьшее из чисел с нечетной цепной частью и номер этого числа в последовательности
Дана последовательность вещественных чисел {Aj} j=1...n. Найти наименьшее из чисел с нечетной...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru