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

перемена элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблон класса "множество" http://www.cyberforum.ru/cpp-beginners/thread305899.html
Задание: Создать шаблон класса "множество", позволяющий выполнять основные операции - добавление и удаление элемента, пересечение, объединение и разность множеств. Вот что я набросал... класс создал.. осуществил ввод/вывод... затем делал добавление элемента.. и тут наткнулся на проблему, ну и соответственно, дальше не пошло ничего. :wall: Помогите пожалуйста! Укажите на ошибки!:boredom: ...
C++ От куда начать решать Доброе время суток! моя задаче написать программу для вычисления многочленов на С++. Последовательность многочленов определяется следующим образом: Н0(х)=1, Н1(х)=х, … ,НК(х)= (х-К)НК-1(х)+(х+К)НК-2(х). Даны действительные числа А0..АN. Получить многочлен А0Н0(х)+…+АNНN(х). Но проблема не в написании программы, а в том, что я не могу понять, алгоритмма. Вот что смог надумать:... http://www.cyberforum.ru/cpp-beginners/thread305896.html
C++ syscalls.h
Доброго вечер народ)... вот решил как нибудь обойтись без stdio.h { про iostrem.h знаю}...вот и наткнулся на syscalls.h такую библиотеку... тока что т у меня его нет) кто нибудь подскажет что там про read и write написанно... вот тут наткнулся
как вытащить из for(...){...; b=5;...} переменную b с новым значением чтоб потом ее использовать C++
как вытащить из for(...){...; b=5;...} переменную b с новым значением чтоб потом ее использовать.
C++ Бинарное дерево. Поиск числа ветвей по значению http://www.cyberforum.ru/cpp-beginners/thread305866.html
Задание: Написать программу, к-я находит длину пути (число ветвей) от корня до ближайшего значения x. Если такой вершины нет, то вернуть -1. Господа, нуждаюсь в вашей помощи. Я написал что-то похожее на программу, но работает она то корректно, то нет. Порой функция возвращает все нормально, т.е. если вводим x , которое находится на 3 ветви от корня, то функция возвращает 3. все гуд.. а порой...
C++ Создать список вещественых чисел.Найти разность между наибольшим и наименьшим элементами. Создать список вещественых чисел.Найти разность между наибольшим и наименьшим элементами. Помогите пожалуйста!Вообще эти списки не разбираю(( Добавлено через 1 час 49 минут ВОТ ЧТО ПОЛУЧИЛОСЬ!!Нашла минимум и максимум!Помгите найти разность.Пожалуйста!!! /--------------------------------------------------------------------------- #include <vcl.h> подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
27.05.2011, 16:45     перемена элементов
Вот они, произвольные перестановки:
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
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
 
#define element_l -5
#define element_r  5
#define swaps_cnt_l 15
#define swaps_cnt_r 42
 
int random_range(int, int);
void display(int**, size_t);
 
int main()
{
    size_t n, k, i, j;
 
    size_t cnt;
    
    size_t row_cnt = 0;
    size_t k_cnt = 0;
 
    size_t row1, row2;
 
    int t;
    int* t_row;
            
    int** matrix;
 
    srand((size_t) time(NULL));
    
    puts("Введите порядок матрицы n и номер столбца k (k < n): ");
    scanf("%u %u", &n, &k);
        
    assert(k < n);
 
    matrix = malloc(n * sizeof(int*));
    assert(matrix != NULL);
 
    for(i = 0; i < n; ++i)
    {
    matrix[i] = malloc(n * sizeof(int));
    assert(matrix[i] != NULL);
 
    for(j = 0; j < n; ++j)
        matrix[i][j] = random_range(element_l, element_r);
    }
 
    printf("Сгенерированная матрица порядка %u:\n", n);
    
    display(matrix, n);
 
    cnt = random_range(swaps_cnt_l, swaps_cnt_r);
 
    printf("Будет выполнено произвольных перестановок "
       "(элементов %u-ого столбца или строк матрицы): %u\n", k, cnt);
 
    for(i = 0; i < cnt; ++i)
    {
    do
    {
        row1 = random_range(0, n - 1);
        row2 = random_range(0, n - 1);
    }
    while(row1 == row2);
    
    if(rand() % 2)
    {
        t = matrix[row1][k];
        matrix[row1][k] = matrix[row2][k];
        matrix[row2][k] = t;
        ++k_cnt;
    } else {
        t_row = matrix[row1];
        matrix[row1] = matrix[row2];
        matrix[row2] = t_row;
        ++row_cnt;
    }
    }
 
    printf("Было выполнено\n\tперестановок строк: %u\n"
       "\tперестановок элементов в %u-ом столбце: %u\n", row_cnt, k, k_cnt);
    puts("Матрица после перестановок: ");
 
    display(matrix, n);
    
    for(i = 0; i < n; ++i)
    free(matrix[i]);
    free(matrix);
    
    exit(0);
}
 
int random_range(int l_t, int r_t)
{
    return rand() % (r_t - l_t + 1) + l_t;
}
 
void display(int** matrix, size_t n)
{
    int i, j;
 
    for(i = 0; i < n; ++i, putchar('\n'))
    for(j = 0; j < n; ++j)
        printf("%4d", matrix[i][j]);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru