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

Помогите почистить готовую прогу от мусора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выручите студента http://www.cyberforum.ru/cpp-beginners/thread367126.html
помогите решить на C++ и параллельно на Паскале)буду очень благодарен) 1)зашифровывать текст следующим образом:записать его в матрицу по строкам, а затем переписать по спирали от центра по часовой стрелки,Прочесть зашифрованный текст. 2)написать и протестировать функцию , которая "переворачивает" все пары символов строки, передаваемой ей в качестве параметра.(привет друг->рпвитед ург) ...
C++ Погрешность функции С++ Вычислить погрешность функции при заданных значениях аргументов дифференциальным способом Функция: Z=(a-b)^2/2+b a=1.543 b=0.78 Помогите Пожалуйста с решением! http://www.cyberforum.ru/cpp-beginners/thread367123.html
C++ Задачи с массивами
Помогите пожалуйста,решить 2 задачи(только недавно стал изучать Си и не очень понимаю его) 1)Ввести одномерный массив A из N элементов. Каждый второй элемент, в том случае, если он отрицателен, возвести в квадрат. Массив вывести до и после преобразования. 2) Ввести одномерный массив A , вывести его. Найти произведение его элементов, принадлежащих интервалу...
Проблема с программой: Задаются 10 чисел функцией rand(). Определить сумму их квадратов C++
Фигня с прогой. Вывод случайных чисел получатся, выводится всё( в диапазоне от-100 до +100) #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main() { int m;
C++ printf("Hello, CyberForum.ru!!!\n"); //несколько вопросов от начинающего программиста http://www.cyberforum.ru/cpp-beginners/thread367100.html
Доброго времени суток ! Хотел бы получить советы от опытных программеров ) 1) Начали на 1 курсе сразу с языка Си (до этого дела даже с паскалем не имел :) ) Сейчас читаю Керниган Риччи "язык программирования с" Друзья, чтобы вы еще посоветовали почитать? (желательно с примерами и чтобы все шаги описывались; можно что нибудь для чайников) 2) Как же без лабораторных работ :) Лр 1: ...
C++ испортился компилятор посмотрите // 1.cpp : Defines the entry point for the console application. // #include "stdafx.h" int main(int argc, char* argv) { for (int i=1;i<10;i++) {} int i=1; подробнее

Показать сообщение отдельно
TDGfan
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 7
16.10.2011, 14:07     Помогите почистить готовую прогу от мусора
Всем привет.

Задание - вычислить матрицу Уолша-Адамара.
(сомневаюсь что кто-то вообще знает, что это такое О.о)

Суть проблемы:
программу вроде как написал, но выдает на экран ересь какую-то.
В итоге должно (в идеале) вывести матрицу 4х4, элементами которой являются "1" или "-1".

Наверное я не правильно реализовал обращение к отдельным битам числа О_о
Например: у меня есть число "2". По алгоритму я должен использовать 0-й и 1-й биты этого числа.
Обращаюсь к битам я.........

*тут пока я печатал проблему - сам же нашел ошибку =) "

В итоге программа заработала, последнее, что выводит в консоли - правильная матрица (сходится с ручными вычислениями).
НО:
в консоль так же выкидывает огромную кучу какого-то мусора О_о
Я абсолютно не могу понять, откуда он берется.

Вот рабочий код:

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
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
 
int main(void)
{
    const int N = 4;
    int U=2, V=3, x, y, n;
    int matr_elem;
    n = (int)(log10((double)N)/log10((double)2));
    int *b_y = new int [n];
    int *b_x = new int [n];
    int *p_u = new int [n];
    int *p_v = new int [n];
    int **matrix = new int* [N];
    for (int i = 0; i < N; ++i)
        matrix[i] = new int[N];
    
    p_u[0] = ((U & (1<<1))>>1);
    p_u[1] = ((U & (1<<1))>>1) + ((U & (1<<0))>>0);
    
    p_v[0] = ((V & (1<<1))>>1);
    p_v[1] = ((V & (1<<1))>>1) + ((V & (1<<0))>>0);
    
    for (int x = 0; x < N; ++x)
    {
        b_x[0] = ((x & (1<<0))>>0);
        b_x[1] = ((x & (1<<1))>>1);
        
        for (int y = 0; y < N; ++y)
        {
            b_y[0] = ((y & (1<<0))>>0);
            b_y[1] = ((y & (1<<1))>>1);
            matr_elem = pow(-1., ((b_x[0]*p_u[0] + b_y[0]*p_v[0]) + (b_x[1]*p_u[1] + b_y[1]*p_v[1])));
            matrix[x][y] = matr_elem;
        }
        
        for (int i = 0; i < N; ++i)
        {
            for (int j = 0; j < N; ++j)
            {
                cout<<matrix[i][j]<<"  ";
            }
            cout<<endl;
        }
    }
    cin.get();
    return 0;
}
Буду благодарен, если ткнете меня носом в то место, откуда появляется весь этот мусор (запустите у себя прогу, сами увидите эту муть)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru