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

Макрос assert - C++

Восстановить пароль Регистрация
 
Анна Лето
0 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 47
24.11.2014, 20:12     Макрос assert #1
Напишите функцию accumulate, которая подсчитает сумму элементов в переданном
массиве целых чисел. Перед обработкой массива убедитесь в корректности
переданного адреса и количества элементов в массиве при помощи
диагностического макроса assert. Проверьте корректность работы функции при
помощи произвольной тестовой программы в функции main(). Пример вызова
функции:

i n t d a t a [ ] = { 1 , 2 , 3 , 4 , 5 } ;
i n t r e s u l t = a c c u m u l a t e ( d a t a , 5 ) ;

В результате, переменная result должна содержать значение 15..
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 "stdafx.h"
#include <stdio.h>
#include <math.h>
 
void getClosestPowersOf2 ( int a, int* p, int* k)
{
    for ( int n=0;;n++)
    {
        if( a<(pow ((double)2,n)) && a> (pow((double)2,(n-1))))
        {
            *p=n-1; *k=n; 
            printf( "previous power = %d next power=%d\n", *p, *k);
            break;
        }
        if( pow( (double)2, n) == a)
        {
            printf("%d=2^%d\n",a, n); break;
        }
    }
}
 
int main()
{
    int x, previousPower, nextPower;
    scanf ("%d", &x);
 
    getClosestPowersOf2( x, &previousPower, &nextPower );
 
    
 
    return 0;
}
как осуществить проверку корректности
переданного адреса и количества элементов в массиве при помощи
диагностического макроса assert?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2014, 20:12     Макрос assert
Посмотрите здесь:

C++ Исключения, возврат кодов ошибок, assert и 1 вопрос про исключение.
assert.h C++
ошибка (на проверке ASSERT(::IsWindow(m_hWnd))) Почему-то m_hWnd этого ComboBox'a NULL. C++
Если макрос на VBA переписать на С++, то макрос станет работать быстрее? C++
C++ Необходимо помочь с след. функциями assert(), malloc(), iterator
Assert C++
макрос assert() для считывания даных из файла из указаного диапазона C++
C++ Деректива assert

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

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

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