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

Определить когда массив меняет знак. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Абстракция данных...модули определяющие типы http://www.cyberforum.ru/cpp-beginners/thread342582.html
//--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <dos.h> //--------------------------------------------------------------------------- #pragma argsused // абстракция данных namespace Stack {
C++ namespace Страуструп 3-е издание Добрый вечер народ) Читаю книгу Страуструпа 3-е издание там встретился такой фрагмент кода: namespace Stack { void push(char); char pop(); } void f() { http://www.cyberforum.ru/cpp-beginners/thread342566.html
Преобразование типа C++
class ne { public: ne(); ~ne(); double x1; char l; }; ne O; ne::~ne(){};
C++ Необходимо указать на ошибки. Код по заданию из книги.
Начал учить c++ по книге. Компилирую под debian в g++. Поскольку я почти ничего не смыслю в программировании, то мне необходима помощь тех, кто бы смог тыкнуть носом в ошибки. Задание в книге было такое: написать программу, где бы использовался цикл while. Замечания интересны все, от комментариев и имен переменных до синтаксиса и ошибок в коде. P.S. все это компилируется и работает =) ...
C++ Сбор release версии программы с++, на MinGW http://www.cyberforum.ru/cpp-beginners/thread342545.html
Есть такая проблема: компилирую программу из под Windows 7, на MinGW g++ -o test.exe test.cpp например. Я не пользуюсь средами, так как они мне пока не нужны, и все компилирую с консоли. Проблема в том что таким образом откомпилированная программа не запускается на Windows xp. Я знаю что в средах Visual Studio или Borland можно поставить галочку release, и тогда программа будет работать...
C++ Тема для диплома Помогите подобрать тему для дипломной работы! Хочу чтобы диплом включал в себя возможность показать знание язака программирования,а также чтобы в нем была задействованна практическая предметная область.Думаю написать экспертную систему. Хотелось бы услышать ваше мнение! подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.08.2011, 20:05     Определить когда массив меняет знак.
Может тут лучше два раза пройтись по массиву, с начала и с конца?
Осторожно, плохой код!
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
#include <stdio.h>
#include <assert.h>
 
#define SIZE 7
 
size_t first_of_sign_changing(const int *p, size_t size) 
{
    size_t i = 1, sign = 0;
    assert(p);
 
    sign = (*p) >> 31;
    while (size-- && sign == *(p + i) >> 31) {
        ++i;
    }
 
    return i;
}
 
size_t last_of_sign_changing(const int *p, size_t size)
{
    size_t i = size - 1, sign = 0;
    assert(p);
 
    sign = *(p + i) >> 31;
    while (size-- && sign == *(p + i) >> 31) {
        --i;
    }
 
    return i;
}
 
int main() 
{
    int data[SIZE] = { 
        -1, -1, 2, -1, 1, -6, -7 
    };
 
    printf("%lu, %lu\n", 
        first_of_sign_changing(data, SIZE),
        last_of_sign_changing(data, SIZE));
 
    return 0;
}
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru