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

Подскажите в чем ошибка. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со структурами и файлами.Нуждаюсь в программисте( http://www.cyberforum.ru/cpp-beginners/thread405410.html
Имя файла задается в командной строке. Если оно там не было зада-но, то после соответствующего запроса вводится пользователем. 2. Использовать динамическое выделение памяти (размер массива задается пользователем после соответствующего запроса). Освобождать память, выделенную под динамические переменные, ОБЯЗАТЕЛЬНО. Задача)Есть матрица m*n, где m и n – целые числа. Упорядочить ее за ростом...
C++ Найти сумму четных чисел во вводимой с клавиатуры последовательности чисел Для решения задания следует использовать "однопроходные" алгоритмы, позволяющие получить требуемый результат после однократного просмотра набора исходных данных. Однопроходные алгоритмы обладают важным преимуществом: для решения задачи не требуется хранить в памяти одновременно весь набор данных. Поэтому при программировании таких алгоритмов не нужно использовать массивы. Найти сумму четных... http://www.cyberforum.ru/cpp-beginners/thread405390.html
создать абстракный тип данных (структура) вектор, который имеет указатель на float и число элементов C++
создать абстракный тип данных (структура) вектор, который имеет указатель на float и число элементов. определить функцию, которая выдиляет память для массива и инициализирует данные. опредилить 2 функции, отличающеся только спецификатором inline, которые устанавливают элемент массива в некоторое значение, использувать их при инициализации. освободить память.
C++ Группу элементов переписать в «хвост» массива
Помогите пожалуйста Cоставить программу заданной обработки массива целых чисел. В процессе обработки использовать перестановки элементов внутри массива, не создавая новых массивов. Заполнение исходного массива организовать с клавиатуры. Исходный и обработанный массив выводить на экран. При написании программ необходимо следить за тем, чтобы значе-ния индексов не превышали границ,...
C++ Доброго времени суток! Тут задачку такую не хилую подогнали. Нужна опытных программистов. http://www.cyberforum.ru/cpp-beginners/thread405381.html
создать абстракный тип данных (структура) вектор, который имеет указатель на float и число элементов. определить функцию, которая выдиляет память для массива и инициализирует данные. опредилить 2 функции, отличающеся только спецификатором inline, которые устанавливают элемент массива в некоторое значение, использувать их при инициализации. освободить память.
C++ Составить блок-схему и программу табулирования Задание: Составить блок-схему и программу табулирования двух функций S и Y в заданном диапазоне изменения аргумента x. Здесь n - число слагаемых суммы S. Результат табулирования вывести в форме следующей таблицы: ------------------------------------------------------------------ ! X ! y = f(x) ! S !... подробнее

Показать сообщение отдельно
top4er
0 / 0 / 0
Регистрация: 16.12.2009
Сообщений: 12
12.12.2011, 20:07     Подскажите в чем ошибка.
Я уже обращался на форум,помогли. Но столкнулся с рядом следующих проблем.

Программа работает как надо,НО в итоге выводит неправильный ответ.Подскажите,что добавить\исправить\удалить.

П.С. Извиняюсь за монотонность кода.

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
unsigned int i,a,b,h_tetr,l_tetr, temp_h_tetr, temp_l_tetr, x = 0x80000000, w = 0x0000000F, y = 0;
 
bool z = false;
 
  cin >> a;
    
      for (i = 0; i < sizeof(a)*8; i++)
{
 
y = a & x;
 
      if(y != 0)
{
    cout << "1";
++z;
}
   else
{
    if(z == true)
cout << "0";
}
x >>= 1;
}
x = 0x80000000;
z = false;
cout << endl;
 
int temp_l, temp_h;
 
for (i [=0] ; i
{
temp_h = 0x000000f0 << (i*8);
temp_l = 0x0000000f << (i*8);
 
cout <<"high = "<< (h_tetr = ((a & temp_h) >> (4+i*8))) << "\n";
cout <<"low = "<< (l_tetr = ((a & temp_l) >> (i*8))) << "\n";
 
temp_h_tetr = h_tetr;
temp_l_tetr = l_tetr;
 
h_tetr = ((~(temp_h_tetr ^ temp_l_tetr))&(w));
cout << h_tetr << endl;
l_tetr = ((~(temp_h_tetr & temp_l_tetr))&(w));
cout << l_tetr << endl;
h_tetr = (h_tetr << (4+i*8));
 
l_tetr = (l_tetr << (i*8));
 
if((temp_h_tetr != 0)&&(temp_l_tetr != 0))
{
a = ((a & (~(temp_h + temp_l))) + (l_tetr & h_tetr));
}
}
 
/*
b = (a & (~temp_h)) & h_tetr;
b = (a & (~temp_l)) & l_tetr;
}
 
a = b;
*/
cout << a << endl;
for (i = 0; i < sizeof(a)*8; i++)
{
y = (a & x);
if(y != 0)
{
cout << "1";
++z;
}
else
{
if(z == true)
cout << "0";
}
x >>= 1;
}
cout << endl;
system("Pause");
 
return 0;
}
Добавлено через 2 часа 42 минуты
задание само:

Старшую тетраду каждого байта числа заменить результатом операции «стрелка Пирса» старшей и младшей тетрад, а младшую тетраду – результатом операции «штрих Шеффера» старшей и младшей тетрад исходного байта
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru