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

Одномерный массив, сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите новичку http://www.cyberforum.ru/cpp-beginners/thread1147215.html
Подскажите новичку какой интегрированной средой разработки пользоваться и как ?
C++ Изменение данных в txt Всем доброго времени. Есть txt, нужно считать с него инфу в структуру, если подходит по условию сделать изменения и записать в тот же файл. Путем проб и ошибок сделал так, считываю ифну из файла(проверяю на условие) и записываю во временный файл, произвожу удаление оригинального файла и переименовываю временный файл в оригинальный. Проблема состоит в том что если проект переложить эти строки... http://www.cyberforum.ru/cpp-beginners/thread1147206.html
C++ Поиск в массиве строк
Добрый день Возник глупый вопрос. Пытаюсь сделать поис в строковом массиве не как не получается подскажите что не такк. Сам массив char *cK_Words = {"procedure", "case", "of", "end", "begin", "if", "than", "inherited", "Boolean", "Word", "nil"}; Пытаюсь найти это char cTest = {"than"}; for(int i = 0; i <11; i++) { n = memcmp(cTest,*cK_Words,sizeof(cTest));
C++ Исключение
Помогите пожалуйста, сделать исключения в этом задании: Добавьте в класс, разработанный на предыдущих занятиях (LR_18 «Перегрузка операций»), возможность генерировать исключения в тех ситуациях, когда это целесообразно. В программе, иллюстрирующей работу с объектами класса, продемонстрируйте обработку исключительных ситуаций разных типов. #include <iostream> using namespace std;
C++ Дерево отрезков. Изменение всех чисел на отрезке на какое-нибудь значение http://www.cyberforum.ru/cpp-beginners/thread1147182.html
Никак не могу справиться с этой задачей. Попробовал приспособить под свои нужды алгоритм с e-maxx.ru , но никаких результатов это не принесло. Буду рад любой помощи (объяснению моих ошибок/Вашему варианту реализации/ссылке на понятную для начинающего статью) #include <iostream> #include <iomanip> #include <math.h> #include <conio.h> using namespace std;
C++ Шаблоны функций Надо в этом задании добавить "шаблоны ф-ций", помогите пжл Задачи надо переписывать в текст сообщения!!! Одно сообщение - одна задача! //Задание 1.1 #include <iostream> #include <cstdlib> подробнее

Показать сообщение отдельно
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
13.04.2014, 18:56     Одномерный массив, сортировка
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <ctime>
#include <iostream>
using namespace std;
 
void print(int *a, int n)
{
    for (int i=0;i<n;i++)     //вывод массива
    cout << a[i] << ' ';
    cout <<endl;              //перевод строки
}
 
void bubbleSort(int* arr, int size)// пузырьком
{
    int tmp;
 
    for(int i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(int j = 0; j < size - 1; ++j) // внутренний цикл прохода
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
        }
    }
}
//---------------------------------------------------------------------------
 
 
void main()
{
setlocale(0,"");
srand(time(NULL));         //типа рандомайз в делфи
const int n1=20;                //размерность массива
int a[n1];                  //целочисленный массив
int n;
n=10;
for (int i=0;i<n;i++)    //заполнение массива
    a[i]=rand()%99+1;
 
print(a,n);// вывод массива
 
int s;// удаление элемента
do
{
    cout<<"Введите номер элемента который хотите удалить\n";
    cin>>s;
    for (int i=s-1;i<n-1;i++)
        a[i]=a[i+1];
    n--;
    cout<<"Хотиту удалить ещё 1 элемент?\nесли да нажмите 1\nесли нет то нажмите 2\n";
    cin>>s;
}
while(s==1);
 
print(a,n);// вывод массива
 
do// добавление элемента
{
    cout<<"Введите элемент который хотите добавить\n";
    cin>>s;
    for (int i=n;i>0;i--)
        a[i]=a[i-1];
    a[0]=s;
    n++;
    cout<<"Хотиту добавить ещё 1 элемент?\nесли да нажмите 1\nесли нет то нажмите 2\n";
    cin>>s;
}
while(s==1);
 
print(a,n);// вывод массива
 
do// перестановка элементов
{
    int s1,s2;
    cout<<"Введите номера элементов которые хотите переставить местами\n";
    cin>>s>>s1;
    s2=a[s-1];
    a[s-1]=a[s1-1];
    a[s1-1]=s2;
    cout<<"Хотиту переставить ещё пару элементов?\nесли да нажмите 1\nесли нет то нажмите 2\n";
    cin>>s;
}
while(s==1);
 
print(a,n);// вывод массива
 
do// поиск элементов
{
    cout<<"Введите элемент который хотите найти\n";
    cin>>s;
    cout<<"номера элементов равных "<<s<<endl;// количество сравнений равно индексу найденного элемента
    int s1=0;
    for (int i=0;i<n;i++)
        if(a[i]==s)
        {
            cout<< i+1<<" ";
            s1++;
        }
    if(s1==0) cout<<"Таких элементов нет\n";
    cout<<"\nХотите найти другой элемент?\nесли да нажмите 1\nесли нет то нажмите 2\n";
    cin>>s;
}
while(s==1);
 
 
for (int j=1;j<n;j++){// сортировка методом простого включения
    int i=0;
    if (a[j]< a[j-1]) {
      //Что бы значение j мы не меняли а работали с i
        i=j;
     //Меняем местами пока не найдем нужное место
        do{
           swap(a[i],a[i-1]);
           i--;
           //защита от выхода за пределы массива
           if (i == 0) break;
           }
        while (a[i]< a[i-1]) ;
   }
}
cout<<"Отсортированный массив\n"
print(a,n);// вывод массива
 
do// поиск элементов
{
    cout<<"Введите элемент который хотите найти\n";
    cin>>s;
    cout<<"номера элементов равных "<<s<<endl;// количество сравнений равно индексу найденного элемента
    int s1=0;
    for (int i=0;i<n;i++)
        if(a[i]==s)
        {
            cout<< i+1<<" ";
            s1++;
        }
    if(s1==0) cout<<"Таких элементов нет\n";
    cout<<"\nХотите найти другой элемент?\nесли да нажмите 1\nесли нет то нажмите 2\n";
    cin>>s;
}
while(s==1);
 
system("pause");
 
}
поправил сортировку, теперь сортирует методом простого включения, теперь правильны все 14 пунктов задания )
 
Текущее время: 08:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru