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

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

Войти
Регистрация
Восстановить пароль
 
 
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
#1

Доходит до функции и дальше не идет - C++

28.05.2009, 01:28. Просмотров 684. Ответов 17
Метки нет (Все метки)

Помогите
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
#include <clx.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
float stepen (int i, float p);
int fact (int i);
//---------------------------------------------------------------------------
 
#pragma argsused
float  a, m, N, p, r, t, T, Rs, Ts, r1;
float ch, zn, p1, p2, Po; // ch-chislitel', zn-znamenatel/, p1=1+p/1!+p^2/2!+...+p^n/n!, p2=p^(n+1)/n!(n-p)
int n, i, sum;
int main(void)
{
        printf ("Vvedite chislo kanalov, no nebol'she 6: ");     // okna kass
                scanf ("%f", &n);
if (n<1&&n>6)
{
printf ("Vy vveli nevernoe chislo!: ");
}
else
{
        printf("Vvedite intensivnost` vxodiaschego potoka: ");
                scanf("%f", &a);
        printf("Vvedite srendee vremya obslyjivaniya odnoj zajavki(v minutah): ");
                scanf("%f", &t);
        m=1/t;
                printf("Intensivnost' potoka obsluzivanija (chel/min): %f\n", m);
        p=a/m;
                printf("Intesivnost` nagryzki: %f\n", p);
        N=p;
                printf("Srednee chislo zanjatyx kassirov: %f\n", N);    // chislo zanjatyx kanalov
 sum=0;
 for (int i=1; i<(n+1); i++)
 {
   sum=sum+(stepen(i,p)/fact(i));
 }
 Po=1.0/(1+sum+(stepen(n+1,p)/(fact(n)*(n-p))));
                printf ("Verojatnost' otsutstvija zajavok v sisteme=%5.4f", Po); // verojatnost', chto vse kassiry svobodny
 r=stepen(n+1,p)/(fact(n-1)*(n-p)*(n-p))*Po;
               printf ("Srednee chislo passagirov v ocheredi: %f\n", r);
        Rs=N+r;
               printf ("Srednee chislo passagirov u kass: %f\n", Rs);    // srednee chislo zajavok v sisteme
        T=r/a;
               printf ("Srednee vremja, kotoroe passagir provodit v ocheredi: %f\n", T);
        Ts=Rs/a;
               printf ("Srednee vremja, kotoroe passagir tratit na priobretenie zhetona: %f\n", Ts);  // srednee vremja zajavki v sisteme
}
        getch();
        return 0;
}
float stepen (int i, float p)
{
float pr=1;
for (int k=0; k<i; k++)
pr=pr*p;
}
 
int fact (int i)
{
int f=1;
for (int k=0; k<i; k++)
f=f*(k+1);
}
Добавлено через 33 секунды
это система массового обслуживания
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2009, 01:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доходит до функции и дальше не идет (C++):

сборка доходит до половины а дальше не идет в qt - C++ Qt
сборка доходит до половины а дальше не идет в qt.что делать?

Любая ОС доходит до полосы прокрутки и не идет дальше. - Компьютерное железо
Устанавливаю Любую OS,проблема та же.. Загружается до заставки Windows,и всйо зависает. В чём может быть проблема? народ помогите,а то у...

Не идет дальше логотипа - Windows 7
не запускается винда, т.е. идет до загрузочного логотипа и зависает..случилось это, как я понял, после того, как я по ошибке, видимо,...

Не идет дальше проверка - PHP БД
Суть проверки в том чтобы найти пользователя с таким мылом и таким паролем, он его находит и пишет правильно, а куки файлы не отдает и не...

с центра не идет дальше вниз! - Pascal ABC
Program kursovaya; Uses GraphABC,crt; Var i:integer; Begin HideCursor; Setwindowsize(800,600); Centerwindow; LockDrawing; ...

Загрузка XP не идет дальше выбора пользователя - Windows XP
не давая зайти в саму винду требовался ввести ключ активации, ключ который был на коробке не подходил, решил поискать в инете ничего не...

17
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
28.05.2009, 04:35 #2
Строка 17 измени scanf ("%f", &n); на scanf ("%d", &n);
После 57 строки вставь return pr;
После 64 строки вставь return f;
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 12:26  [ТС] #3
спсб, но ошибка теперь на 37 строке(((
что делать?

Добавлено через 30 секунд
kazak, спсб, но ошибка теперь на 37 строке(((
что делать?
0
ISergey
Maniac
Эксперт С++
1379 / 890 / 54
Регистрация: 02.01.2009
Сообщений: 2,677
Записей в блоге: 1
28.05.2009, 12:29 #4
Поправь так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
float stepen (int i, float p)
{
    float pr = 1;
    for (int k = 0; k < i; k++)
        pr *= p;
    return pr;//забыл
}
 
int fact (int i)
{
    int f = 1;
    for (int k = 0; k < i; k++)
        f *= (k+1);
    return f;//забыл
}
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 12:35  [ТС] #5
подставила, но ничего не изменилось, ругается на 37 строку, и с 30 выдает нули в ответе(((
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.05.2009, 12:39 #6
Цитата Сообщение от sunnysunny Посмотреть сообщение
ругается на 37 строку
я бы тоже руглся... во первых, у вас функция степень возвращает вещественное число..а перменная sum - целочисленная
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 12:43  [ТС] #7
и что изменить?? подскажите
0
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
28.05.2009, 12:45 #8
sunnysunny, ты все исправила, что я писал?
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.05.2009, 12:45 #9
вот этот код работает у меня более менее корректно... надеюсь, вы в расчетах там не ошиблись.
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
#include <stdio.h>
#include <conio.h>
 
float stepen (int i, float p);
int fact (int i);
 
float  a, m, N, p, r, t, T, Rs, Ts, r1, sum;
float ch, zn, p1, p2, Po; // ch-chislitel', zn-znamenatel/, p1=1+p/1!+p^2/2!+...+p^n/n!, p2=p^(n+1)/n!(n-p)
int n, i;
 
int main(void)
{
   printf ("Vvedite chislo kanalov, no nebol'she 6: ");     // okna kass
   scanf ("%f", &n);
 
   if (n<1&&n>6)
   {
      printf ("Vy vveli nevernoe chislo!: ");
   }
   else
   {
      printf("Vvedite intensivnost` vxodiaschego potoka: ");
         scanf("%f", &a);
      printf("Vvedite srendee vremya obslyjivaniya odnoj zajavki(v minutah): ");
         scanf("%f", &t);
      m=1/t;
      printf("Intensivnost' potoka obsluzivanija (chel/min): %f\n", m);
      p=a/m;
      printf("Intesivnost` nagryzki: %f\n", p);
      N=p;
      printf("Srednee chislo zanjatyx kassirov: %f\n", N);    // chislo zanjatyx kanalov
      sum=0;
 
      for (int i=1; i<(n+1); i++)
         sum+=(stepen(i,p)/fact(i));
 
      Po=1.0/(1+sum+(stepen(n+1,p)/(fact(n)*(n-p))));
      printf ("Verojatnost' otsutstvija zajavok v sisteme=%5.4f", Po); // verojatnost', chto vse kassiry svobodny
      r=stepen(n+1,p)/(fact(n-1)*(n-p)*(n-p))*Po;
      printf ("Srednee chislo passagirov v ocheredi: %f\n", r);
      Rs=N+r;
      printf ("Srednee chislo passagirov u kass: %f\n", Rs);    // srednee chislo zajavok v sisteme
      T=r/a;
      printf ("Srednee vremja, kotoroe passagir provodit v ocheredi: %f\n", T);
      Ts=Rs/a;
      printf ("Srednee vremja, kotoroe passagir tratit na priobretenie zhetona: %f\n", Ts);  // srednee vremja zajavki v sisteme
   }
   getch();
   return 0;
}
 
float stepen (int i, float p)
{
   float pr=1;
   for (int k=0; k<i; k++)
      pr*=p;
   return pr;
}
 
int fact (int i)
{
   int f=1;
   for (int k=1; k<=i; k++)
      f*=k;
   return f;
}
0
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
28.05.2009, 12:51 #10
Monte-Cristo, а этот код точно работает?
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
C++
1
2
3
4
5
6
[U]int n[/U], i;
*
int main(void)
{
* *printf ("Vvedite chislo kanalov, no nebol'she 6: "); * * // okna kass
* *scanf ([U]"%f", &n[/U]);
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 12:53  [ТС] #11
а чего в 64 f*=k??? разве не к+1
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.05.2009, 12:54 #12
угу...Visual C++ 2008 компилиуерт...и результаты дробные выдает... но я мельком токо посмотрел... может результаты и некорректные.
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 12:56  [ТС] #13
и высчитывает до 33 строки, а дальше все равно нет

Добавлено через 1 минуту 7 секунд
не нравится эта 37 строка и все(((
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
28.05.2009, 12:59 #14
ну я там цикл изменил.... посмотрите внимательней..так просто читабельней и наглядней...

Добавлено через 1 минуту 57 секунд
sunnysunny, что выписывает? какой у вас компилятор?
0
sunnysunny
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 11
28.05.2009, 13:01  [ТС] #15
С++ builder(
0
28.05.2009, 13:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2009, 13:01
Привет! Вот еще темы с ответами:

Собрал комп. Дальше биоса не идет - Игровой компьютер
Дело такое. Собрал новый комп. Мать асус prime b250 plus. 1 ssd, 1 hdd, видео гтх 1060 6 гб палит, память круисиал 2х8 по герц. Блок...

SMS-вымогатели. Дальше BIOSa не идет. - Удаление вирусов
Добрый час суток. Пациент: ноутбук ACER ASPIRE 5315 на базе Intel Celeron processor 530 Хозяин подцепил SMS-вымогателя, данные...

Windows xp останавливается на одном месте и дальше не идет - Windows XP
Устанавливаю винду xp sp2 на чистый хард. Всё в биосе поставил то что надо загрузка чтоб была с CD. Он мне включает и пишет &quot;Boot from cd:&quot;...

ASUS K56CM не загружается ОС, дальше биоса загрузка не идет - Ремонт ноутбуков
Была попытка обновить биос на ноутбуке asus k56cm, успел только сбросить настройки до дефолтных, теперь ОС не загружается, во вкладке boot...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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