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

Массив: сортировка и поиск элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработка шаблонного класса очередь http://www.cyberforum.ru/cpp-beginners/thread105112.html
цель: разработать шаблонный класс, реализующий процедуру обслуживания FIFO для объектов произвольных типов с основными операциями: добавить в конец очереди; удалить из головы; проверить, не пуста ли...
C++ Разработка класса вектор цель: Разработать класс вектор для хранения целых чисел с проверкой правильности обращения по индексу и встроенными операциями сложения и вычитания векторов, умножения на скаляр, скалярного... http://www.cyberforum.ru/cpp-beginners/thread105111.html
задание с использованием функций и текстовых файлов C++
Если есть свободная минутка, напишите плиз что тут да как. Не успеваю сдать лабу. Буду очень признателен! Компоненты файла f – целые числа в диапазоне от 0 до 255. Получить файл g, образованный...
Выполнить задание с использованием функций и текстовых файлов C++
Завал по лабам. Помогите плиз. Надо написать вот такую программку. По первой части мне все понятно. По второй смог написать только ввод( точнее написал все, но препод не принял). Мне идея понятна, но...
C++ Информация о требованиях компонентов VISUAL C 2008 http://www.cyberforum.ru/cpp-beginners/thread105101.html
Здравствуйте, меня интересует такой вопрос: Сколько виртуальной памяти и памяти КЭШ (1го второго уровня), частоты процессора и оперативной памяти используют следующие библиотеки в Microsoft VISUAL C...
C++ Разработка класса строка Люди, всем доброго времени суток... кому не трудно. Помогите написать программу: Разработать класс STRING, предоставляющий более удобные и безопасны средства для операции со строками, нежели тип... подробнее

Показать сообщение отдельно
paradox92
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 38

Массив: сортировка и поиск элемента - C++

16.03.2010, 23:44. Просмотров 494. Ответов 2
Метки (Все метки)

Поставленно задание было такое:
1. Написать программу, которая создаёт массив, количество элементом которого задаётся пользователем с клавиатуры. Все элементы генерируются псевдослучайной последовательностью от "0" до числа, которое вводится с клавиатуры. Программы должна выводить массив до сортировки и после. Вывод массива до сортировки и после сделать используя функции. Сортировку сделать блочным методом
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
//реализация блочного метода (не знаю где в программе вставить этот кусок)
for (i=0;i<10;i++)
{
for (j=0;j<=n-1;j++)
{
mas[i][j]=-1;
}
} 
//сортировка 
for (l=0;l<=5;l++)
{
//распределение
for(i=0;i<n;i++)
{
j=a[i]/num%10; 
mas[j][i]=a[i];
}
//сбор 
t=0; 
for (i=0;i<=9;i++)
{
for (j=0;j<n;j++)
{
if(mas[i][j]!=-1)
a[t++]=mas[i][j];
mas[i][j]=-1;
}
}
num*=10; 
}
2. Использовать двоичныq метод (это уже сделал)

Исправьте, пожалуйста:
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
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
 
int BinSearch(int M[], int mas1, int k);
int VivodMassivaDoSortirovki ( int b[], int mas1);
 
int main()
{
    int mas1, mas2, j, i, max, z=1, k;
cout << "vvedit' kilkist chisel= ";
cin >>mas1;
cout << "vvedit' granicu= ";
cin >>max;
mas2=mas1-1;
int a[mas1];
    for (i=0;i!=mas1;i++)
    a[i]=rand()%(max+1);
cout << " Vivod Massiva Do Sortirovki: " << VivodMassivaDoSortirovki ( a , mas1);
 
for (j=0;j!=mas2;j++)
{
    for (i=0;i!=mas2;i++)
    {if(a[i]>a[i+1])
    {z=a[i];
    a[i]=a[i+1];
    a[i+1]=z;}
}
}
for (i = 0; i != mas1; i++)
cout <<a[i]<<" ";
cout <<"\n";
cout << "vvedite iskomiy element: ";
cin >> k;
cout << "naiden v elemente massiva " << BinSearch(a, mas1, k) << endl;
return 0;
}
int BinSearch(int M[], int mas1, int k)
{
    int L = 0;
    int R = mas1;
    int m;
    while (L<R)
    {
        m = (L+R)/2;
        if (k > M[m]) L = m;
        if (k < M[m]) R = m;
        if (k == M[m]) break;
    }
    return m;
}
int VivodMassivaDoSortirovki ( int b[], int mas1 )
{
    for ( int i=0; i!=mas1; i++ )
    cout << b[i] << " ";
 
    cout << "\n";
    return 0;
}
Добавлено через 17 часов 14 минут
кто-нибудь знает как это отредактировать??

Добавлено через 6 часов 0 минут
кто-то поможет??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru