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

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

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

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

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

#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;


int main()
{
	
	int N = 4;
	char str1[] = "1011";
	char str2[] = "1000";
	bool fl = true;
	for (int i = 0; i < N && fl; i++)
		fl = fl && (str1[i] >= str2[i]);
	if (fl)
		for (int i = 0; i < N; i++)
		cout  << (str1[i] == str2[i] ? str1[i] : '-');	
	else
		cout << "ne interval\n";
    return 0;
}
ее нужно сделать через функцию ввода булевых векторов
возможно это и есть функция , но я не уверен

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

unsigned int vvod(char str1[32], int n)
{
	unsigned int b = 0;
	for (int i = 0; i<n; i++)
		if (str1[i] == '1') b = b | (1<<(n - i - 1));
	return b;
}
Ответить