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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Побитовые логические операции http://www.cyberforum.ru/cpp-beginners/thread107167.html
Знайти!!!
C++ Класс-контейнер(абстракция текста) Необходимо создать класс-контейнер, который является абстракцией текста. Если я правильно понял, то мне необходимо создать класс "строка", после чего использовать объекты этого класса в классе "текст". #include <iostream> #include <string.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread107166.html
C++ Считать 16тиричные числа с файла и записать их в массив
ну и дополнительно вывести на экран,для проверки. С шестнадцатиричными числами не оперировал ещё ниразу :/ (вида 0x00,0x01,...0xFF - всего 256 штук) Как требует препод - надо их записывать в unsign int,путь к файлу вводить собственноручно char fname1; cout << "Vvedite imya faila dlya 4neniya Key:\n"; cin >> fname1; но впринципе не критично Заранее благодарю Добавлено через 30 минут...
Работа с элементами матрицы C++
Дана квадратная матрица. Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ Дана целочисленная квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread107160.html
Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов.))
C++ содержет ли трёхзначное число цифру 4? не могу понять как можно записать программу, что бы когда я ввожу одно-трёхзначное число, она мне сообщает, содержет ли это число цифру 4. Заранее спасибо. подробнее

Показать сообщение отдельно
n.che
0 / 0 / 0
Регистрация: 11.03.2010
Сообщений: 6
21.03.2010, 18:43     не могу исправить ошибки в программе
с массивами что-то совсем напутала, и исправить не получается, целый день сижу, мозг скис уже
взываю о помощи.


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] );
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru