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

нужно исправить ошибку в коде) кому не тяжело - C++

Восстановить пароль Регистрация
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
11.02.2013, 22:58     нужно исправить ошибку в коде) кому не тяжело #1
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
#include <iostream>
using namespace std;
 template< class T >
void insertSort(T* a, int size) 
{
    T tmp;
    for (int i = 1, j; i < size; ++i) // цикл проходов, i - номер прохода
    {
        tmp = a[i]; 
        for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент    
    }
}
 int main ()
{
    const int SIZE=6;
    int arr[SIZE]={0};
    cout << "Заполите мaссив:\n";
for(int i = 0; i < SIZE; i++)
 
{
cout << "a[" << i << "] = ";
cin >> arr[i];
}
    
    cout<<endl;
   
 
   for(int i = 0; i < SIZE; i++)
{
cout << "a[" << i << "] = ";
cout << arr[i];
cout<<endl;
}
}
МоЖеТе пожалуйста помочь исправить ошибку в коде,
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 22:58     нужно исправить ошибку в коде) кому не тяжело
Посмотрите здесь:

C++ Нужно исправить ошибку в коде!
Исправить ошибку в коде C++
Исправить ошибку в коде с++ C++
C++ Исправить ошибку в коде
нужно исправить ошибку, кто знает какая, напишите ее в новом коде программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
11.02.2013, 23:07     нужно исправить ошибку в коде) кому не тяжело #2
Да нормальный код.
В принципе можно вызвать функцию void insertSort(T* a, int size) но это по желанию
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
11.02.2013, 23:17     нужно исправить ошибку в коде) кому не тяжело #3
попробуйте в конце
........
getch();
return 0;
}
написать. А через что запускаете??

Добавлено через 43 секунды
Цитата Сообщение от Serezha Посмотреть сообщение
getch();
-эту строку не обязательно!
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
11.02.2013, 23:20  [ТС]     нужно исправить ошибку в коде) кому не тяжело #4
оно не сортирует, а то что ввел то и выводит
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
11.02.2013, 23:21     нужно исправить ошибку в коде) кому не тяжело #5
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
#include <iostream>
using namespace std;
template< class T >
T insertSort(T* a, int size)
{
T tmp;
for (int i = 1, j; i < size; ++i) // цикл проходов, i - номер прохода
{
tmp = a[i];
for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности
a[j + 1] = a[j]; // сдвигаем элемент направо, пока не дошли
a[j + 1] = tmp; // место найдено, вставить элемент
}
return 0;
}
int main ()
{
const int SIZE=6;
int arr[SIZE]={0};
cout << "Заполите мaссив:\n";
for(int i = 0; i < SIZE; i++)
 
{
cout << "a[" << i << "] = ";
cin >> arr[i];
}
 
cout<<endl;
insertSort(arr, SIZE);
 
for(int i = 0; i < SIZE; i++)
{
cout << "a[" << i << "] = ";
cout << arr[i];
cout<<endl;
}
}
вот так

Добавлено через 52 секунды
Цитата Сообщение от VlaDdislav Посмотреть сообщение
оно не сортирует, а то что ввел то и выводит
ну дык ты функцию сортировки не вызвал))
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
11.02.2013, 23:55  [ТС]     нужно исправить ошибку в коде) кому не тяжело #6
спасибо большое))

Добавлено через 31 минуту
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
#include <iostream>
using namespace std;
template< class T >
T insertSort(T* a, int size)
{
    T tmp;
    for(int i = 0; i < SIZE; ++i) // i - номер текущего шага
    { 
        int pos = i; 
        tmp = arr[i];
        for(int j = i + 1; j < SIZE; ++j) // цикл выбора наименьшего элемента
        {
            if (arr[j] < tmp) 
           {
               pos = j; 
               tmp = arr[j]; 
           }
        }
        arr[pos] = arr[i]; 
        arr[i] = tmp; // меняем местами наименьший с a[i]
    }
}
int main ()
{
const int SIZE=6;
int arr[SIZE]={0};
cout << "Заполите мaссив:\n";
for(int i = 0; i < SIZE; i++)
 
{
cout << "a[" << i << "] = ";
cin >> arr[i];
}
 
cout<<endl;
insertSort(arr, SIZE);
 
for(int i = 0; i < SIZE; i++)
{
cout << "a[" << i << "] = ";
cout << arr[i];
cout<<endl;
}
}
а где у меня тут ошибка?
не могу понять((
Yandex
Объявления
11.02.2013, 23:55     нужно исправить ошибку в коде) кому не тяжело
Ответ Создать тему
Опции темы

Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru