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

Однонаправленный список: получить сумму значений элементов списка, принадлежащих заданному отрезку

17.02.2010, 08:30. Показов 1985. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребятушки милые мои
Помогите решить задачу !!!

Даны натуральное число n и однонаправленный список, содержащий действительные числа x1,...,xn. Получить сумму значений элементов списка, принадлежащих отрезку [3,7], а также число таких элементов. В конец списка добавить звенья, содержащие получившиеся значения. Организо¬вать вывод начальной и конечной последовательности значений в спис¬ке.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2010, 08:30
Ответы с готовыми решениями:

Подсчитать сумму элементов массива, принадлежащих заданному отрезку
24. Дан целочисленный массив размера n x m и два числа a и b. Посчитайте сумму элементов массива,...

Составить программу, позволяющую в одномерном массиве вычислить сумму элементов, принадлежащих заданному отрезку [c, d]
Составить программу, позволяющую в одномерном массиве вычислить сумму элементов, принадлежащих...

Вычислить произведение элементов массива, принадлежащих заданному отрезку
В одномерном массиве, состоящем из N целых чисел, вычислить: 1. индекс минимального элемента;...

Получить сумму членов, принадлежащих отрезку
Помогите с задачей: Даны натуральное число n,действительные числа x1..xn.В последовательности...

2
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
17.02.2010, 11:17 2
Так вам помочь или тупо написать за вас задачу?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12715 / 7546 / 1761
Регистрация: 25.07.2009
Сообщений: 13,897
17.02.2010, 15:52 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
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/*
*   Даны натуральное число n и однонаправленный список, содержащий действительные числа x1,...,xn. 
*   Получить сумму значений элементов списка, принадлежащих отрезку [3,7], а также число таких элементов. 
*   В конец списка добавить звенья, содержащие получившиеся значения. Организовать вывод начальной и конечной 
*   последовательности значений в списке.
*/
 
typedef struct tagThing {
    int val;
    struct tagThing *next;
} Thing_t;
 
/* добавляет новый элемент к списку */
Thing_t *newThing(int val, Thing_t *last){
    Thing_t * t;
    if ( ( t = (Thing_t*)malloc(sizeof(Thing_t)) ) == NULL )
        return NULL;
    t->val = val;
    t->next = NULL;
    if ( last != NULL )
        last->next = t;
    return t;
}
 
/* печатает список по одному значению в строке */
void printThings(const Thing_t *first){
    while ( first ){
        printf("%d\n", first->val);
        first = first->next;
    }
}
 
/* удаляет весь список */
void removeThings(Thing_t *first){
    Thing_t *t;
    while ( first ){
        t = first->next;
        free(first);
        first = t;
    }
}
 
#define LO_BOUND 3
#define HI_BOUND 7
 
int main(void){
    Thing_t *head = NULL, *tail = NULL, *current = NULL;
    int tmp, cnt, sum, n;
    
    printf("Number of elements in list: ");
    if ( scanf("%d", &n) != 1 || n < 1 ) /* ошибка ввода, или недопустимое значение */
        exit(1);
    srand(time(NULL));
    
    /* создать список из n элементов со случайными значениями от 1 до 10 */
    while ( n-- ){
        tmp = rand() % 10 + 1;
        if ( ( tail = newThing(tmp, tail) ) == NULL ){
            printf("Can't create new thing!\n");
            exit(1);
        }
        if ( !head )
            head = tail;
    }
    
    /* вывод всех значений */
    printf("\nAll things:\n");
    printThings(head);
    
    /* подсчёт суммы и количества элементов со значениями LO_BOUND <= x <= HI_BOUND */
    cnt = sum = 0;
    for ( current = head; current != NULL; current = current->next ){
        if ( LO_BOUND <= current->val && current->val <= HI_BOUND ){
            sum += current->val;
            cnt++;
        }
    }
    printf("\n%d values between %d and %d\n", cnt, LO_BOUND, HI_BOUND);
    printf("Sum of them is %d\n", sum);
    
    /* добавить два значения к списку */
    if ( ( tail = newThing(cnt, tail) ) == NULL ){
        printf("Can't create new thing!\n");
        exit(1);
    }
    if ( ( tail = newThing(sum, tail) ) == NULL ){
        printf("Can't create new thing!\n");
        exit(1);
    }
    
    /* и снова вывести */
    printf("\nAll with some new:\n");
    printThings(head);
    
    /* очистка памяти и выход */
    removeThings(head);
    /* по просьбам трудящихся ;) */
    getchar();
    getchar();
    exit(0);
}
1
17.02.2010, 15:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2010, 15:52
Помогаю со студенческими работами здесь

Получить сумму членов последовательности, принадлежащих отрезку
Собственно вот... Даны натуральное число n, действительные числа x1, … , xn. В...

Получить сумму членов последовательности, принадлежащих отрезку
Кого не затруднит помочь? Буду примного благодарен. Дано натуральное число n, действительные числа...

Составить программу,позволяющую в файле вычислить наименьший из элементов, принадлежащих заданному отрезку [a,b]
Помогите пожалуйста, вообще не шпарю

Заданы числа k m,n. Вычислить сумму значений функции f(X)=sqrt(1+2X+3x^3) для х принадлежащих отрезку [k,m]
Продолжение: и изменяющихся с шагом h


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

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

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