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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
#1

float double int - C++

14.11.2012, 22:07. Просмотров 1123. Ответов 12
Метки нет (Все метки)

Доброй ночи, препод совсем запарил, то ему не так, то ему не эдак.
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
// 8.2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <iterator>
#include <algorithm>
#include <cmath>
 
 
template <class T>  T sgl(T matrs[][10], int n, T matr[][10])
{
matrs[0][0] = (
              matr[  0  ][  1  ]
            + matr[  1  ][  0  ]
            + matr[  1  ][  1  ]
         ) / 3;
   matrs[0][n - 1] = (
              matr[  0  ][n - 2]
            + matr[  1  ][n - 1]
            + matr[  1  ][n - 2]
         ) / 3;
   matrs[n - 1][0] = (
              matr[n - 2][  0  ]
            + matr[n - 1][  1  ]
            + matr[n - 2][  1  ]
         ) / 3;
   matrs[n - 1][n - 1] = (
              matr[n - 2][n - 1]
            + matr[n - 1][n - 2]
            + matr[n - 2][n - 2]
         ) /3;
   
   for (int i = 1; i + 1 != n; ++i) {
      matrs[0][i] = (
                 matr[  0  ][i - 1]
               + matr[  0  ][i + 1]
               + matr[  1  ][  i  ]
               + matr[  1  ][i - 1]
               + matr[  1  ][i + 1]
            ) / 5;
      matrs[n - 1][i] = (
                 matr[n - 1][i - 1]
               + matr[n - 1][i + 1]
               + matr[n - 2][  i  ]
               + matr[n - 2][i - 1]
               + matr[n - 2][i + 1]
            ) / 5;
      matrs[i][0] = (
                 matr[i - 1][  0  ]
               + matr[i + 1][  0  ]
               + matr[  i  ][  1  ]
               + matr[i - 1][  1  ]
               + matr[i + 1][  1  ]
            ) / 5;
      matrs[i][n - 1] = (
                 matr[i - 1][n - 1]
               + matr[i + 1][n - 1]
               + matr[  i  ][n - 2]
               + matr[i - 1][n - 2]
               + matr[i + 1][n - 2]
            ) / 5;
      
      for (int j = 1; j + 1 != n; ++j) {
         matrs[i][j] = (
                    matr[i - 1][  j  ]
                  + matr[i - 1][j - 1]
                  + matr[i - 1][j + 1]
                  + matr[  i  ][j - 1]
                  + matr[  i  ][j + 1]
                  + matr[i + 1][  j  ]
                  + matr[i + 1][j - 1]
                  + matr[i + 1][j + 1]
               ) / 8;
      }
   }
return 0;}
 
template <class T>  T summ_up(T matrix[][10], std::size_t n) {
   double accumulator = 0.;
   
   for (std::size_t i = 1; i != n; ++i) {
      for (std::size_t j = 0; j != i; ++j) {
         accumulator += std::abs(matrix[i][j]);
      }
   }
   
   return accumulator;
}
 
 
int main() {
    std::cout<<"Work with float\n\n\t\t\tVvedite razmernost` matricu  "<< std::endl;
   double array[10][10] = {
     {-3.2  ,-2.3  , 0,  -4.3 ,  0 ,  0,  -1.3 , -1.3  -2.3  , 0.2 },
        {-4.3 , -4.3,  -3.3 , -2.3,  -3.3,  -3.3,  -4.3 , -2.3, -2.3,  -3.3 },
        {-3.3 ,  0,  -2.3 , -1.3 , -2.3 , -2.3 , -3.3 , -3.3 , -1.3 , -4.3 },
        {-2.12 , -3.12,  -3.12,  -1.12 ,  0 , -2.12,  -2.12 ,  0 , -4.12  , 0 },
        {-1.12,  -3.12,  -2.12,  -1.12 ,-1.12 ,  0,  -3.12,  -3.12 , -1.12,  -1.12 },
        {-2.23 ,  0.23  ,-2.23 , -2.23  -2.23,   0,  -1.23,  -3.23,   0 , -1.23  },
        {-3.23,  -4.23 , -4.23,  -2.23 , -1.23 , -3.23 , -4.23 , -2.23,   0,  -1.23 },
        {-3.2 , -4.4 , -4.7,   0,  -4.22,  -4.32,  -3.12,  -3.657,  -1.654,  -1.324},
        {0 , -1.232,   0.232  , 0.765 , -3.123,  -4.123 , -3.444,  -3.33,  -3.876,  -1.12},
        {0.65 ,  0,  -3.65,  -1.222 , -2.12 , -1.22,  -1.65 , -2.6,   0  ,-3.22}
   };
   double matrs[10][10];
   
   sgl(array, 10, matr);
   
   for (int i = 0; i != 10; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 10, std::ostream_iterator<double>(std::cout << std::fixed, "\t"));
      std::cout << std::endl;
   }
   
   std::cout <<"summa modulei sglajennoi matrici: "<< summ_up(matrs, 10) << std::endl;
   system("pause");
    system("cls");
    system("color 3");
    std::cout<<"Work with float\n\n\t\t\tVvedite razmernost` matricu  "<< std::endl;
    int array2[10][10] = {
     {-3  ,-2  , 0,  -4 ,  0 ,  0,  -1 , -1,  -2  , 0 },
        {-4 , -4,  -3 , -2,  -3,  -3,  -4 , -2 , -2,  -3 },
        {-3 ,  0,  -2 , -1 , -2 , -2 , -3 , -3 , -1 , -4 },
        {-2 , -3,  -3,  -1 ,  0 , -2,  -2 ,  0 , -4  , 0 },
        {-1,  -3,  -2,  -1 ,-1 ,  0,  -3,  -3 , -1,  -1 },
        {-2 ,  0  ,-2 , -2,  -2,   0,  -1,  -3,   0 , -1  },
        {-3,  -4 , -4,  -2 , -1 , -3 , -4 , -2,   0,  -1 },
        {-3 , -4 , -4,   0,  -4,  -4,  -3,  -3,  -1,  -1},
        {0 , -1,   0  , 0 , -3,  -4 , -3,  -3,  -3,  -1},
        {0 ,  0,  -3  -1 , -2 , -1,  -1 , -2,   0  ,-3}
   };
   int matrs[10][10];
   
   sgl(array2, 10, matr);
   
   for (int i = 0; i != 10; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 10, std::ostream_iterator<double>(std::cout << std::fixed, "\t"));
      std::cout << std::endl;
   }
   system("pause");
    system("cls");
    system("color 5");
    std::cout<<"Work with float\n\n\t\t\tVvedite razmernost` matricu  "<< std::endl;
    float array3[10][10] = {
{-3.2  ,-2.3  , 0,  -4.3 ,  0 ,  0,  -1.3 , -1.3  -2.3  , 0.2 },
        {-4.3 , -4.3,  -3.3 , -2.3,  -3.3,  -3.3,  -4.3 , -2.3, -2.3,  -3.3 },
        {-3.3 ,  0,  -2.3 , -1.3 , -2.3 , -2.3 , -3.3 , -3.3 , -1.3 , -4.3 },
        {-2.12 , -3.12,  -3.12,  -1.12 ,  0 , -2.12,  -2.12 ,  0 , -4.12  , 0 },
        {-1.12,  -3.12,  -2.12,  -1.12 ,-1.12 ,  0,  -3.12,  -3.12 , -1.12,  -1.12 },
        {-2.23 ,  0.23  ,-2.23 , -2.23  -2.23,   0,  -1.23,  -3.23,   0 , -1.23  },
        {-3.23,  -4.23 , -4.23,  -2.23 , -1.23 , -3.23 , -4.23 , -2.23,   0,  -1.23 },
        {-3.2 , -4.4 , -4.7,   0,  -4.22,  -4.32,  -3.12,  -3.657,  -1.654,  -1.324},
        {0 , -1.232,   0.232  , 0.765 , -3.123,  -4.123 , -3.444,  -3.33,  -3.876,  -1.12},
        {0.65 ,  0,  -3.65,  -1.222 , -2.12 , -1.22,  -1.65 , -2.6,   0  ,-3.22}
   };
   int matrs[10][10];
   
   sgl(array3, 10, matr);
   
   for (int i = 0; i != 10; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 10, std::ostream_iterator<double>(std::cout << std::fixed, "\t"));
      std::cout << std::endl;
   }
 
 
}
Нужно сделать так чтобы, программа работа с типами данных float, double и int. Я вроде бы все правильно по примеру оформил, но не пойму что не так.Выручите плиз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 22:07     float double int
Посмотрите здесь:

Как мне программу с int переделать в Float i double? - C++
как мне програму с int переделать в Float i double??? #include &lt;iostream&gt; using namespace std; int main() { cout...

Как преобразовать все int,float,double в строки LPWSTR, LPCTSTR - C++
Столкнулся с проблемой не как не переведу в нормальный вид вот код #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include...

Преобразование в float и double - C++
Начал читать книгу Шилдта. В одном из его примеров было показано преобразование типов int в float. Но при компилировании выражения я...

Float/double IEEE754 - C++
Доброго вечера! Как я понимаю на вычисления с плавающей точкой влияет процессор, и компилятор языка. Как узнать поддерживает ли...

Задание с float и double - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); float fA, fB, fC, fD,...

Вывод дроби double, float - C++
Подскажите пожалуйста почему в консоли выводится только 1 знак дроби(Или, возможно, вообще дробь отсекается) void...

float и double (расчет точности) - C++
Всем привет, а есть какой-нибудь алгоритм по расчету точности типов float и double а то прочитал, чтобы получить точность типа double...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
16.11.2012, 22:23  [ТС]     float double int #2
Up, там если каждый вызов рассматривать отдельно, то они работают, как мне тогда 3 объеденить?
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
16.11.2012, 23:41     float double int #3
Цитата Сообщение от takewa Посмотреть сообщение
{
{-3.2 ,-2.3 , 0, -4.3 , 0 , 0, -1.3 , -1.3 -2.3 , 0.2 },
{-4.3 , -4.3, -3.3 , -2.3, -3.3, -3.3, -4.3 , -2.3, -2.3, -3.3 },
{-3.3 , 0, -2.3 , -1.3 , -2.3 , -2.3 , -3.3 , -3.3 , -1.3 , -4.3 },
{-2.12 , -3.12, -3.12, -1.12 , 0 , -2.12, -2.12 , 0 , -4.12 , 0 },
{-1.12, -3.12, -2.12, -1.12 ,-1.12 , 0, -3.12, -3.12 , -1.12, -1.12 },
{-2.23 , 0.23 ,-2.23 , -2.23 -2.23, 0, -1.23, -3.23, 0 , -1.23 },
{-3.23, -4.23 , -4.23, -2.23 , -1.23 , -3.23 , -4.23 , -2.23, 0, -1.23 },
{-3.2 , -4.4 , -4.7, 0, -4.22, -4.32, -3.12, -3.657, -1.654, -1.324},
{0 , -1.232, 0.232 , 0.765 , -3.123, -4.123 , -3.444, -3.33, -3.876, -1.12},
{0.65 , 0, -3.65, -1.222 , -2.12 , -1.22, -1.65 , -2.6, 0 ,-3.22}
};
Цитата Сообщение от takewa Посмотреть сообщение
{
{-3 ,-2 , 0, -4 , 0 , 0, -1 , -1, -2 , 0 },
{-4 , -4, -3 , -2, -3, -3, -4 , -2 , -2, -3 },
{-3 , 0, -2 , -1 , -2 , -2 , -3 , -3 , -1 , -4 },
{-2 , -3, -3, -1 , 0 , -2, -2 , 0 , -4 , 0 },
{-1, -3, -2, -1 ,-1 , 0, -3, -3 , -1, -1 },
{-2 , 0 ,-2 , -2, -2, 0, -1, -3, 0 , -1 },
{-3, -4 , -4, -2 , -1 , -3 , -4 , -2, 0, -1 },
{-3 , -4 , -4, 0, -4, -4, -3, -3, -1, -1},
{0 , -1, 0 , 0 , -3, -4 , -3, -3, -3, -1},
{0 , 0, -3 -1 , -2 , -1, -1 , -2, 0 ,-3}
};
Вы о заполнении случайными цифрами не думали?


Цитата Сообщение от takewa Посмотреть сообщение
matrs[0][0] = (
matr[ 0 ][ 1 ]
+ matr[ 1 ][ 0 ]
+ matr[ 1 ][ 1 ]
) / 3;
Вообще не понял, что вы пытаетесь сделать в этой сотне строк с непонятными махинациями?
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
17.11.2012, 00:09  [ТС]     float double int #4
Цитата Сообщение от Gepar Посмотреть сообщение
Вы о заполнении случайными цифрами не думали?



Вообще не понял, что вы пытаетесь сделать в этой сотне строк с непонятными махинациями?
\
Я не знаю почему, но рандомом он не хочет, прбовал ругается на INT, программу писал не я, а gray_fox .
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
17.11.2012, 00:18     float double int #5
Цитата Сообщение от takewa Посмотреть сообщение
программу писал не я, а gray_fox .

Не по теме:

мопед не мой, я просто разместил объяву


Цитата Сообщение от takewa Посмотреть сообщение
но рандомом он не хочет
Ну что значит не хочет, прочитайте ошибку и попытайтесь её исправить.
Ну и что этот ваш мопед делать то хоть должен?
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
17.11.2012, 00:28  [ТС]     float double int #6
Цитата Сообщение от Gepar Посмотреть сообщение

Не по теме:

мопед не мой, я просто разместил объяву



Ну что значит не хочет, прочитайте ошибку и попытайтесь её исправить.
Ну и что этот ваш мопед делать то хоть должен?
Я сделал программу, но при оформлении ее в функцию, она не хотела работать не знаю почему, может потому что я краб. Мой "мопед" работает правильно,

Не по теме:

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

Программа должна работать, с INT, Double и Float... не знаю зачем ей это. На данный момент у меня нет компилятора, нахожусь дома, качать ОЧЕНЬ долго.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 00:32     float double int #7
Цитата Сообщение от takewa Посмотреть сообщение
качать ОЧЕНЬ долго.
почему?




Кликните здесь для просмотра всего текста
P.S. Есть еще онлайн компиляторы =)
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
17.11.2012, 00:34  [ТС]     float double int #8
Цитата Сообщение от Croessmah Посмотреть сообщение
почему?


Не по теме:

скорость менее 1мб/сек



Кликните здесь для просмотра всего текста
P.S. Есть еще онлайн компиляторы =)
Сыслочку можно?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 00:37     float double int #9
Цитата Сообщение от takewa Посмотреть сообщение
Сыслочку можно?
Например:
codepad.org

Добавлено через 1 минуту
Цитата Сообщение от takewa Посмотреть сообщение
скорость менее 1мб/сек
И долго качать 50 Мб?
Я раньше с GPRS скачивал больше.
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
17.11.2012, 00:55  [ТС]     float double int #10
Добавлено через 1 минуту

И долго качать 50 Мб?
Я раньше с GPRS скачивал больше.
я знаю тока с++ 2006 500мб

Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main() {
    double **matr = new double *[5];
   for(double i = 0; i < 4; ++i)
{
   for(double j = 0; j < 4; ++j)
   { 
       matr[4][4] = rand() % 10;
   double matrs[4][4];
   
   sgl(matrs, 4, matr);
   
   for (int i = 0; i != 4; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 4, std::ostream_iterator<double>(std::cout << std::fixed, "\t"));
      std::cout << std::endl;
   }
   
   std::cout << summ_up(matrs, 4) << std::endl;
return 0;}
Вот допустим делаю ввод рандомо тока тепреь ругается на sgl(matrs, 4, matr); именно на matr.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 00:56     float double int #11
Есть и другие среды. Можете вообще поставить MinGW(GCC)
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
17.11.2012, 01:13  [ТС]     float double int #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Есть и другие среды. Можете вообще поставить MinGW(GCC)
я нашел установочник 2010 (экспресс). Писал через него, дак что есть у кого какие идеи? как расписать в 3 вида?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 17:43     float double int
Еще ссылки по теме:

Double / float в строку и обратно - C++
знаю есть готовые методы, мне просто интересен алгоритм, как это можно реализовать? почему то нигде не найти реализации... в конце концов...

Типы данных float и double - C++
Ребята,пожалуйста помогите написать программу на С++ Вычислить значение выражения при различных вещественных типах данных (float и ...

как победить Double? Float? - C++
C++ - так описать нельзя( ну и как мне ее сделать глобальной и есть ли ограничение на кол-во переменных типа ?????? у меня их...

Разница результатов float и double - C++
Объясните, пожалуйста, почему результаты для float и double отличаются? int main() { float a = 1000, b = 0.0001, c = pow(a - b,...

double указатель и float матрица - C++
Очень срочно нужно. Есть 2-мерный массив типа float. Есть указатель на double. double *pj=NULL; float h; Как правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
21.11.2012, 17:43  [ТС]     float double int #13
Ап, поможет кто? почему программа не хочет работать с int, double и float сразу?
Yandex
Объявления
21.11.2012, 17:43     float double int
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru