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

неправильно работает метод класа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс "Комплексное число" http://www.cyberforum.ru/cpp-beginners/thread829381.html
Нужно создать класс Complex и реализовать +-*/ возведение в степень комплексного числа и Получение корня n-й степени +-*/ я реализовал, а вот со степенью и корнем проблемы, не знаю как их реализовать. Помогите сделать или подскажите хотя бы математический алгоритм пожалуйста.. Ссылки на вики и тд пожалуйста не кидать!! вот мой класс *.h файл
C++ Решение задачи на графы. Country Roads Добрый вечер. Писал я тут решение на следующую задачу с сайта http://lightoj.com/volume_showproblem.php?problem=1002 I am going to my home. There are many cities and many bi-directional roads between them. The cities are numbered from 0 to n-1 and each road has a cost. There are m roads. You are given the number of my city t where I belong. Now from each city you have to find the minimum cost... http://www.cyberforum.ru/cpp-beginners/thread829364.html
С++ и Java C++
Сильно отличается C++ от Java?
C++ Массив структур, таблица, память
Здравствуйте, начну с того что не знал как назвать тему, назвал по проблемам. Дали задание создать Справочник, и организовать его как очередь. Начал делать как связный список: struct point { // информация (переменные справочника) point *next; } *head, *last; Сделал, все отлично работает. Но когда пришлось добавлять такие функции как:
C++ Идентификатор не определен http://www.cyberforum.ru/cpp-beginners/thread829335.html
#include<iostream.h> #include<conio.h> #include<stdio.h> int voidmain() { int i,j,r; Long int b1,b2,S,a; for(a=1; a<5; a++) for(a=1; a<=9; a++) for(a=1; a<=9; a++)
C++ Массивы. Отображать количество дней в введенном месяце Пожалуйста помогите с программой с использованием массивов. Нужна создать программу, которая будет спрашивать пользователя вводить номер месяца, после чего программа должна отображать количество дней в этом месяце. Нужно использовать массивы и циклы, а также, если введенный пользователем номер месяца неправильный, то программа должна выводить сообщение об ошибке! Я тут немножко поработал, но... подробнее

Показать сообщение отдельно
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 312
Завершенные тесты: 1

неправильно работает метод класа - C++

05.04.2013, 23:09. Просмотров 258. Ответов 1
Метки (Все метки)

подскажите пожалуйста написал часть кода, он ище далек от окончания, но что у меня щас уже не нравильно работает, мой метод класса RandomShuffle, заполняет очень страшные значения какие-то, я догадываюсь что ето скорей всего что то с типом данных, чтото других идей в голову не пришло, но вот как исправить чет пока немогу сообразить, можете подсказать в чем ошибка?
вот код
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream> 
#include <algorithm>  
#include <functional>
#include <vector>                                                                
using namespace std;                                                           
class CCube                                                                               
{
    int x,y,z;
    int *pMas;     
    int s;
public :                                                                                    
    CCube ():x(4),y(4),z(5)                                           
    {
        s=x*y*z;
        pMas=new int[s];
    }                            
    ~CCube()                                                                  
    {delete []pMas;}
    void RandomShuffle(int x, int n);
    void CubeMinValue();
    void MatrixMidValue(int k, float &mid);
    void FillCube ();                           
    void ShowFullCube();                
    void SectionCube();
};
void CCube::RandomShuffle( int x, int n)
{
    const int VECTOR_SIZE=80;
    typedef vector<int> IntVector;
    typedef IntVector::iterator IntVectorIt;
    int g=0;
    IntVector Numbers(VECTOR_SIZE);
    IntVectorIt start,end, it;
    for (int i=0;i<80;i++)
    {
        Numbers[i] = x;
        x=x+n;
    }
    start=Numbers.begin();
    end=Numbers.end();
    random_shuffle(start, end);
    for(it=start; it!=end; it++)
    {
        *(pMas++)=*it;
    }
}
void CCube::MatrixMidValue(int k, float &mid)
{
    float sum=0;
    for (int i=0;i<x;i++)
    {
        for (int j=0;j<y;j++)
            sum=sum+*(pMas+i*z*y+j*z+k);
    }
    mid=(sum/(x*y));
}
void CCube::CubeMinValue()
{
    int Min;
    Min=*(pMas+0);
    for (int i=0;i<x;i++)
    {
        for(int j=0;j<y;j++)
        {
            for(int k=1;k<z;k++)
            {
                if(*(pMas+i*z*y+j*z+k)<Min)
                    Min=*(pMas+i*z*y+j*z+k);
            }
        }
    }
    cout<<"Minimalnoe znach"<<Min<<endl;
}
 
void CCube::SectionCube()        
{
    int val=0;
    for (int i = 0; i<x;i++)                                          
    {
        for (int j = 0; j<y;j++)                            
        {
            for( int k =0;k<z;k++)          
            {
                if (i+k==z-1)                 
                    *(pMas+i*z*y+j*z+k)=val;
            }
        }
    }
}
void CCube::ShowFullCube()             
{
    int i,j,k;                                                             
    cout<<"\r\n\r\n\r\n";                                   
    for(k=z-1;k>=0;k--)                                        
    {
        for(j=0;j<y;j++)                                   
        {
            for(int l=5-j;l>=1;l--)           
                cout<<"   ";            
            for(i=0;i<x;i++)                   
                                           
                cout<<"     "<<*(pMas+i*z*y+j*z+k);
            cout<<"\r\n";                    
        }
        cout<<"\r\n\r\n\r\n";                   
    }
}
void CCube::FillCube ()                     
{
    for (int i = 0; i<x;i++)                                   
    {
        for (int j = 0; j<y;j++)                    
        {
            for( int k =0;k<z;k++)
                *(pMas+i*z*y+j*z+k)=(i*z*y+j*z+k); 
        }
    }
}
void main ()                                                                 
{
    int k;
    cin>>k;
    CCube cube;
    cube.RandomShuffle(1, 1);
    //cube.FillCube ();
    float midsum;
    cube.MatrixMidValue(k,midsum);
    cout<<"mid value"<<midsum<<endl;
    cube.CubeMinValue();
    cube.ShowFullCube();                             
    cube.SectionCube();                          
    cube.ShowFullCube();                              
    scanf ("%i");                                                    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru