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

Слияние двух массивов в отсортированный по не убыванию массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры и строковые переменные http://www.cyberforum.ru/cpp-beginners/thread438377.html
Помогите, пожалуйста, найти ошибку. Четвёртый час сношаюсь с задачей, не могу найти, в чём баг. Задача простейшая с массивом из двух структур и строками. Компилится без ошибок и без предупреждений. работаю в Visual Studio 6. всё работает, но после выполнения программы вылазит окно с ошибкой. Постановка задания: Описать структуру с именем TRAIN, содержащую следующие поля: название пункта...
C++ функция rand() функция rand(). Расскажите об этой функции плиз. Смотрел в инете но везде какойто бред. Как с её помощью можно задать последовательность доустим с 45 до 66, и что для этого надо. http://www.cyberforum.ru/cpp-beginners/thread438368.html
C++ Проблемы с кодировкой при сравнении строк
Здравствуйте! Мне, нужно сравнить две строки: одну получаю get запросом(на сайте кодировка windows 1251), а вторая указывается непосредственно в коде. Но из-за кодировок, они не равны. Если вывести в консоль обе, первая явно короче(у меня иероглифы, и не вижу что там написано), если в файл, то одно и тоже. Длина строк так же различна. Какие есть пути решения проблемы? Скрин консоли:
C++ Найти нулевой(ые) элемент(ы) в матрице, вывести на пересечение какой строки и столбца располагается(ются) этот(эти) элемент(ы)
Ребят, программа нужна срочно, мне на неё нужно много потратить времени, помогите. Язык Си.
C++ Проверка задачи. http://www.cyberforum.ru/cpp-beginners/thread438334.html
вечер добрый. решал тут задачу, был уверен в решении, получил 30/100 баллов. у кого будет время, посмотрите пожалуйста, и дайте пример, где она будет валится, у меня не получилось. Задача B. Сокращение ссылок. - http://neerc.ifmo.ru/school/io/archive/20120129/problems-individual-20120129.pdf #include <fstream> #include <string> #include <cctype>
C++ Считывание расположения (пути) файла с клавиатуры Нужно реализовать в консольной программе открытие файла, путь которого будет считан с клавиатуры. Если файл находится в директории программы, то его ввести его название не составляет большого труда и программа этот файл без проблем читает, но когда дело подходит к вводу полного пути (например, C:\Games\2.bmp), то программа не читает файл. Это касается только ввода пути как аргумента командной... подробнее

Показать сообщение отдельно
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
31.01.2012, 09:43     Слияние двух массивов в отсортированный по не убыванию массив
блин. ошибся.
вот теперь по заданию вроде верно
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
void sortDown   ( int *, int );  // сортировка по возрастанию
void sortUp     ( int *, int );  // сортировка по убыванию
void print      ( int *, int );  // вывод массива
void randomize  ( int *, int );  // рандомное заполнение массива
 
int main()
{
    srand( time ( NULL ) );
 
    int *array_A;
    int *array_B;
    int *array_C;
 
    int N, M;
 
    std::cout << "Enter size of A: ";
    std::cin  >> N;
    std::cout << "\nEnter size of B: ";
    std::cin  >> M;
 
    array_A = new int [N];
    array_B = new int [M];
    // заполняем
    randomize ( array_A, N );
    randomize ( array_B, M );
    // сортируем
    sortDown  ( array_A, N );
    sortDown  ( array_B, M );
 
    // отображаем
    std::cout << "\nArray A[N]: \n";
    print     ( array_A, N );
    std::cout << "\nArray B[M]: \n ";
    print     ( array_B, M );
 
    array_C = new int [N + M]; // массив ц с кол-вом эл-ов Н+М
    for ( int i = 0; i < N; i ++ )
        array_C[i] = array_A[i];  // заполняем С массивом А
    for ( int i = N; i < N + M; i ++ )
        array_C[i] = array_B[i - N]; // заполняем С массивом Б
 
    sortUp     ( array_C, M+N ); // сортируем С
    std::cout << "Array C[N+M]: \n";
    print      ( array_C, M+N );
 
 
    delete [] array_A;  // удаление массивов
    delete [] array_B;
    delete [] array_C;
 
 
    std::cin.get();
    std::cin.get();
 
    return 0;
}
 
 
void sortDown ( int * array, int size )  // пузырек
{
        int tmp;
        for (int i = 1;  i < size ; i++)
            for (int j = 0;  j < size - i; j++)
                if (array[j] > array[j+1])
                {
                    tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                }
}
 
void sortUp ( int * array, int size )  // пузырек
{
        int tmp;
        for (int i = 1;  i < size ; i++)
            for (int j = 0;  j < size - i; j++)
                if (array[j] < array[j+1])
                {
                    tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                }
}
 
 
void print ( int * array, int size )
{
        std::cout << std::endl;
        for ( int i = 0; i < size; i ++ )
                std::cout << array[i] << "\t";
        std::cout << std::endl;
}
 
void randomize ( int * array, int size )
{
        for ( int i = 0; i < size; i ++ )
                array[i] = rand() % 35 - 15;  // диапазон [-15; 20];
}
 
Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru