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

Как правильно создать проект? (с учетом нескольких решений) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузки массивов http://www.cyberforum.ru/cpp-beginners/thread1302140.html
Даны массивы следующих типов данных: Long = {},double ={},float = {}, int ={},short ={},long long ={}.
C++ Возникла проблема со switch возникла проблема. есть switch(c){ case "1":cout<<"x";a=b;if(...) case "2":cout<<"z";if(..) cout<<".." case "3":cout<<y; if(a==b),то вернуться в case "1" } как можно вернуться в case "1"? http://www.cyberforum.ru/cpp-beginners/thread1302136.html
Показать все элементы очереди C++
В реализации очереди не работает печать всех элементов (функция Print). И еще если вводишь не число, программа вылетает. Помогите пожалуйста исправить. #include <iostream> using namespace std; struct Node //описание узла списка { int data; //информационное поле Node *next; //указатель на следующий элемент };
C++ Найти площадь треугольника
Вот задача Задачи надо переписывать в текст сообщения Решил я её так: #include <math.h> #include <iostream.h> #include <fstream.h> using namespace std; int main(int argc, char* argv)
C++ База данных http://www.cyberforum.ru/cpp-beginners/thread1302103.html
Написал простенькую базу данных,но она почему-то не идет.Кто может помочь найти ошибки в ней? #include <stdio.h> #include <conio.h> void print(int); void input_data();
C++ Сумма элементов последовательности 1 1 2 3 3 4 5 5 6 7 7 Есть последовательность - 1 1 2 3 3 4 5 5 6 7 7 8 9 9 и т.д. Нужно найти сумму элементов, начиная с 1 и заканчивая n. Каким образом это можно осуществить кроме перебора? подробнее

Показать сообщение отдельно
qualifaer
2 / 2 / 0
Регистрация: 14.04.2014
Сообщений: 74
16.11.2014, 16:44     Как правильно создать проект? (с учетом нескольких решений)
Меня попросили потестить код , а я не знаю , как правильно создать проект , чтобы его составляющие работали вместе. Если кто может , создайте,пожалста.

"Matrix.h"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class matrix{
private: 
        int size;
        int value;
        float* array1;
public:
    matrix(int n);
    matrix(const matrix& o);
    matrix operator * (const matrix &a);
    ~matrix();
    void set(int i, int j, float val);
    float   get(int i, int j) const;
    void out();
};
"Matrix.cpp"
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
#include "stdio.h"
#include <iostream>
#include "Matrix.h"
 
float matrix::get(int i, int j) const{
    if (j>=i){      
        int sum=0;
        for (int z=0; z<=i-2; z++) {
            sum+=size-z;
        }
        //std::cout << "sum: " << sum+j-i+1 << std::endl;
        return array1[sum+j-i+1];
    } 
    else return 0.0;
}
 
void matrix::set(int i, int j, float val){
        int sum1=0;
        int pos=0;
        for (int x1=0; x1<=i-2; x1++){
            sum1+=size-x1;
            
        }
        pos=sum1+j-i+1; 
        array1[pos]=val;
        //std::cout << "pos: " << pos << " val: " << val << std::endl;
}
                
 
matrix::matrix(int n){
    size=n;
    value = 0;
    for (int i=0; i<=n; i++){
        value+=i;
    }
    array1=new float[value+1];
 
    for (int i=0; i<=value; i++) {
        
        array1[i]=0.001*(float)rand();
        if(array1[i]>100) {
            array1[i]=0.1*(float)rand();
        }
        //std::cout << i << " val: " << array1[i] << std::endl;
    }
} 
 
matrix::matrix(const matrix& o)
{   
    value = o.value;
    size = o.size;
    array1 = new float[o.value+1];
    for(int i = 0; i<=value; i++)
        array1[i] = o.array1[i];
}
 
matrix matrix::operator * (const matrix& a){
matrix c(size);
for (int i=1; i<=size; i++){
    for (int j=i; j<=size; j++){
    float sum=0.0;
        for (int k=1; k<=size; k++){
        float x1=get(i,k);
        float x2=a.get(k,j);
        sum+=x1*x2;
        }
    c.set(i,j,sum);
    }
}
return c;
}
 
matrix::~matrix()
{
    delete[] array1;
}
 
    //c.out();    
    /*int pos=0;
    for (int x=0; x<=i-2; x++){ 
      pos+=pos+size-x;}
    c[pos+j-i+1]=sum;
    */
    //return c;
        
void matrix::out(){
    //for(int i = 0; i<=value; i++)
    //  std::cout << "out: "<< i << "  " << array1[i] << std::endl;
    for (int i=1; i<=size; i++){
        int sum1=0;
        int pos=0;
        for(int j=1; j<=size; j++){
            sum1=0;
        if (j>=i){
           for (int x1=0; x1<=i-2; x1++){
                sum1+=size-x1;
           }
           pos=sum1+j-i+1;
           printf(" %5.2f ", array1[pos]);
        }
        else { 
          printf(" 00.00 ");
        }
            
        }
        printf("\n");
    }
}
"Main.cpp.h"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"
#include <iostream>
#include "Matrix.h"
 
void main(){
    int n;
    std::cout << "BBeguTe Pa3MEPHoCTb" << std::endl;
    std::cin >> n;
    matrix a(n);
    std::cout << "matrix a" << std::endl;
    a.out();
    getchar();
    matrix b(n);
    std::cout << "matrix b" << std::endl;
    b.out();
    std::cout << "done" << std::endl;
    getchar();
    matrix c=a*b;
    c.out();
    getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru