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

Сортировка методом вставок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при выходе из программы, а в отладке с самого начала её нет http://www.cyberforum.ru/cpp-beginners/thread1853028.html
Программа должна повторять действия калькулятора. Условия таковы вводим строку и после работаем с ней как с числами и символами, но при дальнейшей работе наткнулся на подобного рода ошибку, на форуме было что то похожие но оно мне особо не помогло, Unhandled exception at 0x7792E41B (ntdll.dll) in Stak.exe: 0xC0000005: Access violation writing location 0x00058800. И такое ТОЛЬКО через раз или два...
C++ Переделать программу Нужно переделать программу так, чтобы она выводила на консоль сумму в виде 5+10+15+20+25+...+95=950 (я думаю последовательность ясна). У меня получается так: У меня выводит по две одинаковых цифры наверное потому что формула, которая подсчитывает каждый член сложения, выдает значения с точкой, то есть 0+0,5+1+1,5 и так далее, а тип int округляет до целого и получается 0+0+1+1+... Изменив... http://www.cyberforum.ru/cpp-beginners/thread1853024.html
Найти сумму элементов наиболее длинной последовательности, не содержащей 0 C++
Ребят, помогите, пожалуйста. Нужно написать небольшую программку . Задан одномерный массив X вещественных чисел. Найти сумму элементов наиболее длинной последовательности, не содержащей 0. Буду рада любой помощи. Заранее спасибо!
C++ Насилуем код: минимальный размер кода задачи A+B
Здравствуйте. Нужно получить A,B, и вывести A+B; Мой собственный рекорд: 65 символов Как можно укоротить этот код? На "другом" сайте 54 #include <iostream> main(int a, int b){ std::cin>>a>>b,std::cout<<a+b; }
C++ Сложение строк strcat и указатели http://www.cyberforum.ru/cpp-beginners/thread1853000.html
Я уже второй день бьюсь над проблемой складывания строк. В общем, код: char extensionOfBinaryFile = ".bin"; char nameOfBinaryFile = "score"; char *ptrnameOfBinaryFile = nameOfBinaryFile; char *ptrextensionOfBinaryFile = extensionOfBinaryFile; char *ptrfullNameOfBinaryFile = nameOfBinaryFile; --------------------------------------------------------------- void BinFileOfScore() {
C++ Обработка забоя в консоли вот есть метод, который пускает в консоль только числа и '-' Но в консоли на запрос можно вводить число примера 12-12, в выводе оно станет -1212, как сделать чтобы минус можно было ставить только в начале а не внутри? и ещё вопрос, как разрешить ввод точки, и только одной, для всего потока : 12.12 , а вот точку именно только внутри ? int GetInt() { int k, n = 0, flgS = 0, c = 0; подробнее

Показать сообщение отдельно
redseven
49 / 8 / 7
Регистрация: 07.02.2015
Сообщений: 252
17.11.2016, 18:08     Сортировка методом вставок
Вот пожалуйста

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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctime>
 
using namespace std;
 
void randmas(int myArr1[])
{
    srand(time(NULL));
    cout<<"Сгенерированный массив"<<endl;
    for(int i=1;i<20;i++)
    {
        myArr1[i]=rand()%200-0;
        cout<<' '<<myArr1[i];
        cout<<endl;
    }
}
 
void otbor(int myArr1[])
{
    int j,k=0,id=0;
    int temp=0,key=0;
    for(int i=1;i<20;i++)
    {
        if(myArr1[i]>10 && myArr1[i]<100)
k++;            
    }   
    cout<<"Количество двухзначных элементов ="<<k<<endl;
    int *myArr2 = new int[k];
    cout<<"Отбираем двухзначные числа -> Получаем новый массив"<<endl;
        for(int i = 0;i<20;i++)
        {
            if(myArr1[i]>10 && myArr1[i]<100)
            {
                myArr2[id]=myArr1[i];
                id++;
            }
        }
        for(int i = 0;i<k;i++)
        {
    cout<<myArr2[i];    
    cout<<endl;
        }
    cout<<"Сортировка методом вставки->Отсортированный массив"<<endl;    
for (int i=0; i<k-1; i++)
{
key=i+1;
temp=myArr2[key];
for (j=i+1; j>0; j--)
{
if (temp<myArr2[j-1])
{
myArr2[j]=myArr2[j-1];
key=j-1;
}
}
myArr2[key]=temp;
}
for (int i=0; i<k; i++) //вывод массива
cout<<myArr2[i]<<" ";
cout<<endl;
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    int myArr1[20];
    randmas(myArr1);
    otbor(myArr1);
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru