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

Как в одномерном массиве проводится сравнение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка оператора присваивания http://www.cyberforum.ru/cpp-beginners/thread301348.html
При перегрузке оператора присвоения выдает ошибки cpp(58) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> f:\c++\c++\vc\include\string.h(74): см. объявление 'strcpy cpp(63) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider...
C++ Книги Посоветуйте пожалуйста книги для Microsoft Visual C++ . Буду очень Благодарен!!!! http://www.cyberforum.ru/cpp-beginners/thread301333.html
Строки C++
Нужна помощь в написании программ на языке с . Строчные елементы
Не исполняется exe в openwatcom C++
Только недавно начал изучать C++. установил openwatcom, создал проект, исходный файл cpp куда сбросил вот эту простую программку из С++ туториала: // my second program in C++ #include <iostream> using namespace std; int main () { cout << "Hello World! "; cout << "I'm a C++ program";
C++ Проверрка ввода римских цифр http://www.cyberforum.ru/cpp-beginners/thread301284.html
Не знаю как реализовать следующее: Мы вводим римское число и программа отвечает, верно ли оно. Допустим V - верно, IIIIV - не верно
C++ создание GUI на C Гуглил не чё не нашёл(. У меня стоит Linux с Gnome. Где можно подчерпнуть информации по созданию GUI на C под линух? подробнее

Показать сообщение отдельно
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
21.05.2011, 20:20     Как в одномерном массиве проводится сравнение
Подскажите, как доделать программу:

Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального).
Требуется:
1) отсортировать массив со случайными числами;
2) в отсортированный массив, вставить случайное число, чтобы он оставался отсортированным;
3) на экране после выполнения программы должно появляться сообщение, о том, сколько сравнений элементов сделано программой;

Сделал толко 1 и 2 пункт, а как сделать 3 пункт незнаю, поэтому прошу о помощи...

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
#include <iostream>
#include<time.h>
using namespace std;
 
int main ()
{
        srand (time(NULL));
        int i, N, j, k;
        //Задаем количество элементов
        cout<<endl<<"Dlina massiva - N: "; //N - длина одномерного массива
        cin>>N;
        cout<<"\n";  
    if(N > 0)
    {
        //Резервируем место на диске под количество элементов
        int *a = new int[N+1];// резервируем память под массив на 1 элемент больше
 
 
        cout << "Vremennii massiv: " << endl;
                for(i=0; i<N; i++)
        {
                a[i]=rand()%20;
                
                cout<<a[i]<<" ";
        }            
        cout<<"\n";
 
        for (int i = 0; i < N - 1; i++)
                {
                        for(j = N-1; j>i; j--)
                        if (a[j-1] > a[j])
                        {
                                swap(a[j], a[j-1]);
                        }           
        }
        cout << "Massiv otsortirovannii po vozrastaniu: " << endl;        
        for (int i = 0; i < N; i++)
                cout << a[i] << " ";
 
                cout<<endl<<"k: "; //k - случайное число
        cin>>k;
        cout<<endl;
 
                i=0;
                while ((a[i]<k) && (i<N)) //ищем место, куда поставить случайное число
                        i++;
                for (j=N; j>i; j--) //сдвигаем все элементы массива на 1 в конец, чтобы вставить случайный элемент
                        a[j]=a[j-1];
 
                a[i]=k; //вставляем на найденное место случайный элемент
 
                cout << "Konechnii massiv: " << endl;        
        for (int i = 0; i < N+1; i++)
                cout << a[i] << " ";
 
        delete [] a;
        }
        
        else cout<<"\n Chislo elementov ne mozhet byt <=0";
 
    system("pause");
    
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru