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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
oleksandra
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 5
#1

как применить assert (запрограммировать суждение)? - C++

30.10.2012, 14:51. Просмотров 222. Ответов 0
Метки нет (Все метки)

Приветствую! Задание следующее: выбрать алгоритм сортировки(я выбрала быструю сортировку), отсортировать массив, запрограммировать суждение (что-то связанное с assert) для проверки 1. в отсортированном массиве содержаться только те элементы, которые были в не отсортированном
2. каждый элемент отсортированного массива <= следующего элемента отсортированного массива.
Второе задание - еще пол-беды, сделала. а вот суждение (первое задание ) понятия не имею, как запрограммировать.
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
Код реализации:
#include <iostream>
#include <algorithm>
#include <cassert>
#include "quick_sort.h"
using namespace std;
 
void qsort(int *ar, const int size ){
 
  int i = 0, j = size -1 ;      
  int temp, p; 
  p = ar[size/2];       
  
  do {
    while ( ar[i] < p ) i++;
    while ( ar[j] > p ) j--;
 
    if (i <= j) {
         temp = ar[i]; ar[i] = ar[j]; ar[j] = temp;
        i++; j--;
    }
  } while ( i<=j );
 
  if ( j > 0 ) qsort(ar, j+1);
  if ( size > i ) qsort(ar+i, size-i);
 
  }
 
void check_assertion(int* ar, const int size){
for(int i = 0; i < size-1; i++)
        assert( ar[i] <= ar[i+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
#include <iostream>
#include <time.h>
#include <algorithm>
#include <cassert>
#include "quick_sort.h"
using namespace std;
 
int main(void){
    srand((unsigned) time (0));
    const int size = 7;
    int ar[size] = {0};
 
    for (int i = 0; i< size; i++){
        ar[i] = rand()%100 + 1;
        cout << ar[i] << "\t";
        }
 
    qsort(ar, size);
    check_assertion(ar, size);
    cout << endl;
    for (int i = 0; i< size; i++){
        cout << ar[i] << "\t";
        }
 
    return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 14:51     как применить assert (запрограммировать суждение)?
Посмотрите здесь:

Как исправить Debug Assert Failed в коде работы с матрицей? - C++
Здравствуйте, мне нужно сделать такое задание: Написать функцию для произвольного двухмерного классического массива с использованием...

Как запрограммировать экспоненту - C++
Добрый вечер! Помогите пожалуйста с вопросом: как запрограммировать функцию exp(x). Это стандартная функция, мне нужно сделать аналог...

Как запрограммировать тест-программу на C++? - C++
привет всем.у меня такая задача,я должна написать тестовую систему на C++,с помошью которого должно проверяться знание студента о какой то...

assert.h - C++
Как понять часть после &quot;||&quot;? Оно выводит на экран, или куда то еще записывает ? assert(value == 0 || !&quot;Value not...

Assert - C++
Помогите пожалуйста написать функцию ассерт в файле... не знаю как((( объяяяясните..вопрос жизни и смерти

Как запрограммировать в рекурсивной форме алгоритм бинарного поиска - C++
Помогите пожалуйста!!! Как запрограммировать в рекурсивной форме алгоритм бинарного поиска

Деректива assert - C++
Как правильно? #include &lt;iostream&gt; #include &lt;assert.h&gt; #define NDEBUG assert(n == 0); int main() { int n=0; ...

Как применить strcat? - C++
char* strcat(char *s1, const char *s2) зачем нужны * перед strcat, s1 и s2? И как можно эту функцию применить?

Рекурсивная функция. Как применить - C++
Для заданного одномерного массива X из N элементов проверить, что для всех элементов массива выполняется условие –10&lt;x3i&lt;20. Рекурсивную...

Как применить функцию в потомке - C++
Есть 3 класса: A предок B, B предок C. У А есть функция foo, к которой хочет обратиться метод blah функции С. Помимо этого, blah хочет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru