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

не могу исправить ошибки в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Побитовые логические операции http://www.cyberforum.ru/cpp-beginners/thread107167.html
Знайти!!!
C++ Класс-контейнер(абстракция текста) Необходимо создать класс-контейнер, который является абстракцией текста. Если я правильно понял, то мне необходимо создать класс "строка", после чего использовать объекты этого класса в классе... http://www.cyberforum.ru/cpp-beginners/thread107166.html
C++ Считать 16тиричные числа с файла и записать их в массив
ну и дополнительно вывести на экран,для проверки. С шестнадцатиричными числами не оперировал ещё ниразу :/ (вида 0x00,0x01,...0xFF - всего 256 штук) Как требует препод - надо их записывать в unsign...
Работа с элементами матрицы C++
Дана квадратная матрица. Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ Дана целочисленная квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread107160.html
Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов.))
C++ содержет ли трёхзначное число цифру 4? не могу понять как можно записать программу, что бы когда я ввожу одно-трёхзначное число, она мне сообщает, содержет ли это число цифру 4. Заранее спасибо. подробнее

Показать сообщение отдельно
n.che
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 6

не могу исправить ошибки в программе - C++

21.03.2010, 18:43. Просмотров 377. Ответов 7
Метки (Все метки)

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


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
#include <stdio.h>
#include <conio.h>
 
int main()
{
clrscr();
 
int N_stage, N_entrance, N_abon_per_stage;
float H_stage, H_between_stages, R_entrance;
float alpha_high = 0.18;
float alpha_low = 0.045;
float U_input = 104;
float U_DA, U_high, U_low;
float U_max = 78;
float U_min = 68;
float reserve = 5;
float DA_place = (float) N_entrance/2 + 0.5;
float dist_DA_entrance;
float atenuation_low, attenuation_high;
int stage_num, entr_num, entrance_num, AO_num;
float temp_U_abon_high;
float temp_U_abon_low;
 
 
int L;
 
cout << "Enter the number of stages:";
cin >> N_stage;
cout << "\nEnter the number of entrances:";
cin >> N_entrance;
cout << "\nEnter the number of abonents per stage:";
cin >> N_abon_per_stage;
cout << "\nEnter the stage height:";
cin >> H_stage;
cout << "\nEnter the distance between stages:";
cin >> H_between_stages;
cout << "\nEnter the distanse between entrances:";
cin >> R_entrance;
 
float res_AO_beta_mas[N_stage][N_entrance];
float res_U_low_mas[N_stage][N_entrance];
float res_U_high_mas[N_stage][N_entrance];
 
 
 
switch (N_abon_per_stage)
       {
    case 1:
        float beta[] = { 26, 24, 20, 16, 14, 12, 10, 8.5, 6.5 };
        float beta_inner[] = { 0.7, 0.7, 0.7, 0.9, 0.9, 0.9, 1.4, 2, 2.8 };
        L = 9;
        break;
    case 2:
        float beta[] = { 26, 24, 20, 16, 14, 12, 10, 8 };
        float beta_inner[] = { 0.4, 0.4, 0.9, 1.3, 2, 2, 3.3, 3.8 };
        L = 8;
        break;
    case 3:
        float beta[] = { 26, 24, 20, 16, 14, 12, 10 };
        float beta_inner[] = { 1, 1, 1, 1.3, 1.4, 3.4, 4 };
        L = 7;
        break;
    default: cout << "\aInvalid number of abonents!" << endl;
       }
 
switch (N_entrance)
       {
    case 2:
        U_DA = U_input - 4;
    case 3:
        U_DA = U_input - 6;
    case 4:
        U_DA = U_input - 8;
    case 6:
        U_DA = U_input - 10;
    case 8:
        U_DA = U_input - 12;
    default: cout << "\aInvalid number of entrances!" << endl;
       }
 
int N;
 
if ( N_entrance%2 == 0 ) N = N_entrance/2;
    else N = N_entrance/2 + 1;
 
for ( entrance_num = 1; entrance_num <= N; ++entrance_num )
 
       {
    dist_DA_entrance = ( DA_place - entrance_num ) * R_entrance + reserve;
    attenuation_low = dist_DA_entrance * alpha_low;
    attenuation_high = dist_DA_entrance * alpha_high;
    U_low = U_DA - attenuation_low;
    U_high = U_DA - attenuation_high;
 
    for ( stage_num = N_stage; stage_num >= 1; --stage_num )
 
        {
         int flag_AO_is_chosen = 0;
         for ( AO_num = 1; AO_num <= L; ++AO_num )
            {
             temp_U_abon_low = U_low - beta[AO_num];
             temp_U_abon_high = U_high - beta[AO_num];
 
             if (( temp_U_abon_low > U_min ) && ( temp_U_abon_low < U_max ) && ( temp_U_abon_high > U_min ) && ( temp_U_abon_high < U_max ))
                {
                 res_AO_beta_mas[N_stage - stage_num + 1][entrance_num] = beta[AO_num];
                 res_U_low_mas[N_stage - stage_num +1][entrance_num] = temp_U_abon_low;
                 res_U_high_mas[N_stage - stage_num +1][entrance_num] = temp_U_abon_high;
                 flag_AO_is_chosen = 1;
                 break;
                }
            }
         if (flag_AO_is_chosen == 0 )
            cout << "\aNot enough sighal amplification" << endl;
 
         U_low = U_low - beta_inner[AO_num] - ( H_between_stages + H_stage ) * alpha_low;
         U_high = U_high - beta_inner[AO_num] - ( H_between_stages + H_stage ) * alpha_high;
        }
       }
for ( int i = N_entrance; i>= N_entrance/2; --i)
    {
     res_AO_beta_mas[][i] = res_AO_beta_mas[][N_entrance - i + 1];
     res_U_low_mas[][i] = res_U_low_mas[][N_entrance - i + 1];
     res_U_high_mas[][i] = res_U_high_mas[][N_entrance - i + 1];
    }
 
for ( entr_num = 1; entr_num <= N_entrance; ++entr_num )
    {
     printf ( "\n~~~~~Entrance #%d~~~~~", entr_num )
     for ( stage_num = 1; stage_num <= N_stage; ++stage_num )
         printf ( "%d\t %3.1f - %3.1f\t %d", ( N_stage - stage_num + 1 ), res_U_high_mas[stage_num][entr_num], res_U_low_mas[stage_num][entr_num], res_AO_beta_mas[stage_num][entr_num] );
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru