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

Поменять местами две серии в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему включение сторонних библиотек не рекомендуется? http://www.cyberforum.ru/cpp-beginners/thread189685.html
Почему нежелательно включать в программу под linux ну например ncurses.h (сторонняя популярная библиотека)? Почему нужно включать только библиотеки, идущие в состав компилятора? Чем мне "угрожают" сторонние библиотеки? Зачем их тогда писать?
C++ min, max функции. Даны числа a(1), a(2), , a(2n). Вычислить: 1) max (a(1)+a(2n), a(2)+a(2n-1), , a(n)+a(n+1));и 2) min (a(1)*a(n+1), a(2)*a(n+2), , a(n)*a(2n)) Что именно тут надо вычислить? О_о http://www.cyberforum.ru/cpp-beginners/thread189684.html
C++ указатели с++, дорешать)
Пожалуйста, помогите дорешать задачку: SuperSum функция, найденная из: • SuperSum(0 , n) = n, для положительных n. • SuperSum(k , n) = SuperSum(k-1 , 1) + SuperSum(k-1 , 2) + ... + SuperSum(k-1 , n), для положительных k, n. Для данных k , n вернуть значение функции SuperSum(k , n) например: вводятся числа 2 и 3: (2, 3) = (2, 2) + (1, 2) + (1, 3)
C++ метод создания двух массивов, для дальнейшего умножения их между собой
Помогите правильно описать метод создания двух массивов А и В. Как правильно записать все это??? Создание должно описываться в классе.........То есть я создаю класс, там обьявляю нужные данные, в pablic создаю массивы а потом при помощи random я должен заполнить эти массивы......
C++ вывод сортировки по алфавиту (ошибка) http://www.cyberforum.ru/cpp-beginners/thread189664.html
Скажите пожалуйста в чем ошибка прога не дорабатывает идею. Вот условие: Ввести данные. Отсортировать список студентов по принадлежности к кафедре. В рамках кафедры разместить информацию по алфавиту. Вывести результаты сортировки. вот мой код: #include<iostream> using namespace std; struct Student{ char name;
C++ програама файл на с++ напишите программу считывающую текст из файла и выводящая этот текст в консоли подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
14.11.2010, 23:37     Поменять местами две серии в массиве
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
 
#define SIZE 20
 
int main(void){
    int arr[SIZE], i, j, num, * buf;
    
    srand(time(NULL));
    printf("Array:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%02d ", ( arr[i] = rand() % 100 ));
    
    printf("\nNumber of elements to change: ");
    if ( scanf("%d", &num) != 1 || num < 1 || num > SIZE ){
        fprintf(stderr, "Wrong input!\n");
        exit(1);
    }
    printf("First index: ");
    if ( scanf("%d", &i) != 1 || i < 0 || i + num > SIZE ){
        fprintf(stderr, "Wrong input!\n");
        exit(1);
    }
    printf("Second index: ");
    if ( scanf("%d", &j) != 1 || j < 0 || j + num > SIZE ){
        fprintf(stderr, "Wrong input!\n");
        exit(1);
    }
    
    if ( ( buf = (int*)malloc(sizeof(int) * num) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    memcpy(buf, arr + i, sizeof(int) * num);
    memmove(arr + i, arr + j, sizeof(int) * num);
    memcpy(arr + j, buf, sizeof(int) * num);
    free(buf);
    
    printf("Result:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%02d ", arr[i]);
    printf("\n");
    
    exit(0);
}
Код
$ ./swap_n_elements
Array:
33 25 40 05 58 63 31 04 44 71 02 50 81 67 48 45 21 56 79 43
Number of elements to change: 10
First index: 0
Second index: 10
Result:
02 50 81 67 48 45 21 56 79 43 33 25 40 05 58 63 31 04 44 71
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru