Булев вектор C++

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
uncontrol1
Сообщения: 11
Зарегистрирован: 27 дек 2015, 10:09

интервал в булевом пространстве размерности N задан своими максимальными и минимальными элементам. Вывести соответствующий интервалу троичный вектор ( 1011 , 1000-->10--).

Код: Выделить всё

#include "stdafx.h"
#include "iostream"
using namespace std;
 
 
int main()
{
    int N = 4;
    char str1[] = "1011";
    char str2[] = "1000";
    for (int i = 0; i < N; i++)
        cout << (str1[i] == str2[i] ? str1[i] : '-');
    return 0;
}
правильно ли ?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Если вектор троичный, то, видимо, подразумевается вывод не только схематического представления интервала, но и максимального, минимального элемента (отсюда число три).

По поводу алгоритма. Похоже на правду, судя по приведённому примеру. Но не факт, что именно такой подход подразумевается. Я к тому, что другие примеры могут показать, что алгоритм должен быть не таким, и это просто совпадение. По-хорошему было бы неплохо раздобыть либо более строгую постановки задачи, где детально описан способ построения схематического представления интервала, либо ещё несколько примеров, по которым можно было бы с уверенностью судить о верности выбранного алгоритма.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить