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

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

Восстановить пароль Регистрация
 
oleksandra
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 5
30.10.2012, 14:51     как применить assert (запрограммировать суждение)? #1
Приветствую! Задание следующее: выбрать алгоритм сортировки(я выбрала быструю сортировку), отсортировать массив, запрограммировать суждение (что-то связанное с 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 (запрограммировать суждение)?
Посмотрите здесь:

C++ Как запрограммировать экспоненту
assert.h C++
C++ Как запрограммировать в рекурсивной форме алгоритм бинарного поиска
C++ Как запрограммировать функцию со сменным количеством параметров
Assert C++
C++ Threads или как запрограммировать кнопку Старт и Стоп C++
C++ Деректива assert
C++ Как применить strcat?

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

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

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