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

Дано массивы. Посортировать их указанным в соответствии с вариантом методами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны сведения о высоте над уровнем моря 8 горных вершин http://www.cyberforum.ru/cpp-beginners/thread969023.html
1) Даны сведения о высоте над уровнем моря 8 горных вершин. Все значения выражены в метрах. Распечатать названия вершин, высота которых превышает 3000 м над уровнем моря. Помогите, хоть чуточку!!! Пожалуйста! Спасибо! ! !
C++ Как получить число в текстовом десятичном виде (!) в кодировке ASCII? ответ к задаче мне надо представить в файле .txt. Ответ должен представлять не отрицательное число в текстовом десятичном виде в кодировке ASCII.Суть самой задачи не важна. в файл output.txt записываю переменную bstr. bstr - это преобразованная к строке переменная b, плюс к ней дописываю строку ".00" чтобы получить "десятичный вид". Но это не правильно. Код приведенный ниже работает, но ответ не... http://www.cyberforum.ru/cpp-beginners/thread969011.html
C++ Поправить код
всем привет, на днях открывал тему - про Октаэдр, нужен был код, не кто не смог помочь, я тут искал и нашёл то что нужно, только проблема в том что там другая фигара((, нужно немного код изменить, у мня с математикой плохо , а сдавать надо завтра, кто может запустите код посмотрите - что нужно в формулах поменять, спасибо. вот код: #include <iostream> #include <graphics.h> #include...
C++ орогие программисты
Очень нужна ваша помощь. Нужно написать программу, которая выводит содержимое файла на экран и определяет символ, с которого начинается самое длинное слово текста. По нажатию произвольной клавиши выделить все вхождения данного символа в тексте. Пока сделал вот что int main () { setlocale(LC_CTYPE, "rus"); FILE *f1=fopen("C:/Users/User/Desktop/file.txt","r+"); if(f1==NULL) { ...
C++ Глюк gcc? http://www.cyberforum.ru/cpp-beginners/thread968998.html
Компилируя программу в gcc, выводит от части неверный ответ. В code::blocks все в порядке. Как это понимать? Программа выполняет сдвиг массива: 45, 88, 71, 31, 72, 55, 64, 81, 99, 10. При введенном шаге - 1, массив должен принять вид: 10, 45, 88, 71, 31, 72, 55, 64, 81, 99. Но в gcc это не так. #include <stdio.h> #define SIZE 10 int main() { int a = {45, 88, 71, 31, 72, 55, 64, 81,...
C++ Оператор присваивания Какая разница между оператором "=" и "==" Почему , например , в цикле нужно писать while(count==1) а не while(count=1) подробнее

Показать сообщение отдельно
Alexdemath
 Аватар для Alexdemath
125 / 122 / 6
Регистрация: 11.04.2010
Сообщений: 253
05.10.2013, 18:37     Дано массивы. Посортировать их указанным в соответствии с вариантом методами
baykonurr, так это только расчетная часть Вашего задания.
Нужно ещё оформить ввод-вывод, что, думаю, Вы осилите самостоятельно.

Добавлено через 19 часов 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
#include <iostream>
using namespace std;
 
 
void SortsAndMerge(int a[], int b[], int c[], int n, int m)
{
    for (int i = 1; i < n; i++)   // Сортировка a вставками
     { int j, t = a[i];
       for (j = i; j > 0 && t < a[j-1]; j--)
        { a[j] = a[j-1]; }
       a[j] = t;
     }
 
    for (int i = 0; i < m-1; i++)  // Сортировка b выбором мин.элемента
     { int min = i;
       for (int j = i+1; j < m; j++)
        { if (b[j] < b[min]) min = j; }
       if (min != i)
        { int t = b[i]; b[i] = b[min]; b[min] = t;}
     }
 
    for (int i = 0, j = 0, k = 0; k < n+m; k++)  // Слияние a и b в c
     { if (i == n){ c[k] = b[j++]; continue; }
       if (j == m){ c[k] = a[i++]; continue; }
       c[k] = (a[i] < b[j]) ? a[i++] : b[j++];
     }
}
 
int main()
{
    setlocale(0, ""); 
 
    int a[] = {7, 4, 0, 7, 5, -4, -9, 0, 1, 1, 2, -2, 5, 0},
        b[] = {2, 3, 6, 8, 15, -5}, n = 14, m = 6,
        c[20], k = 20;
 
    cout << "a = {";
    for(int i = 0; i < n-1; ++i) cout << a[i] << ", ";
    cout << a[n-1] << "}\n" << "b = {";
    for(int i = 0; i < m-1; ++i) cout << b[i] << ", ";
    cout << b[m-1] << "}\n\n";
    cout << "Размер a: n = " << n << "\n";
    cout << "Размер b: m = " << m << "\n\n";
 
    SortsAndMerge(a, b, c, n, m);
 
    cout << "Сортировка массивов a и b:\n\n";
    cout << "a = {";
    for(int i = 0; i < n-1; ++i) cout << a[i] << ", ";
    cout << a[n-1] << "}\n";
    cout << "b = {";
    for(int i = 0; i < m-1; ++i) cout << b[i] << ", ";
    cout << b[m-1] << "}\n\n";
    
    cout << "Слияние массивов a и b в массив c:\n\n";
    cout << "c = {";
    for(int i = 0; i < k-1; ++i) cout << c[i] << ", ";
    cout << c[k-1] << "}\n\n";
    cout << endl;
 
    return 0;
}
 
Текущее время: 21:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru