Форум программистов, компьютерный форум CyberForum.ru

однонаправленный список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ EXE. файл http://www.cyberforum.ru/cpp-beginners/thread96382.html
Как правильно надо сохранить готовую программу в EXE. файл что бы тот у которого нет с++ мог ее открыть.
C++ Определить символ,порядковый номер которого соответствует введенному числу. Помогите пожалуйста решить задачку! думаю-думаю...ничего не понятно%-) завтра сдавать надо:( Задача: ввести любое целое двухзначное число.Определить символ,порядковый номер которого соответствует введенному числу.Вывести на печать полученный символ,следующий за ним. заранее благодарен. Добавлено через 30 минут http://www.cyberforum.ru/cpp-beginners/thread96376.html
СЛАУ метод Зейделя C++
Решить СЛАР методом Зейделя вида АХ=В с точностью до 0,0001. Пример на рисунке ниже что не могу не как реализовать нормально. Точнее недопонимаю самого метода Язык С Помогите буду очень благодарен
C++ прокоментируйте программу C++
Напишите в кругах первые пять натуральных чисел так, чтобы стрелка все время показывала на круг с большим числом. где задаються ячейки с кругами? #include<stdio.h> #include<conio.h> //int a={0,1,0,0,1, 0,0,1,1,1, 0,0,0,0,1, 0,0,0,0,1, 0,0,0,0,0};//Graf zvjazkiv(1-zv'jazok je,0-nemaje) int a={0,0,0,0,0, 1,0,0,1,1, 1,1,0,0,0, 1,0,0,0,0, 1,0,0,0,0};//1-zv'jazok je,0-nemaje int...
C++ хочу понять http://www.cyberforum.ru/cpp-beginners/thread96367.html
ребята, подскажите, хочу не тупо решение, хочу поять. Написать программу, которая позволяет заполнить массив случайным образом значениями в диапазоне от -9 до 9 //и выводит среднее значение элементов массива с четными номерами. srand(time(NULL)); const int size=20; int ar,chetn=0,sredn=0; for(int i=0;i<size;i++) {
C++ Защита доступа к оптическому диску Здравствуйте!!! Меня интересует следующее: возможно ли написать такую программу, которая бы ограничивала доступ к оптическому диску или же запрещала копирование данных с диска? Тоесть, если надо создать диск данных, допустим с помощью Nero, то: -вместе с данными записываю на диск эту программу; -при вставке диска в дисковод запускается эта программа и предлагает ввести пароль, иначе диск не... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.02.2010, 15:52     однонаправленный список
Если задание понял правильно, то вот:
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);
}
 
Текущее время: 08:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru