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

Подскажите плз, почему не работает - C++

Восстановить пароль Регистрация
 
Yura1989
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 10
27.04.2013, 14:34     Подскажите плз, почему не работает #1
Почему-то не работает цикл "for". При запуске кода в консольном окне переменная "h" проходит от "0" до "diametr". Но после окончания цикла когда хочу посмотреть все цифры, то показывает только 300 последних значений. В чем может быть причина? Заранее благодарен...


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
#include "stdafx.h"
 
 
int _tmain()
{
    setlocale (LC_ALL,"Rus");
    double L, R, V1, V2, V, pi;
    pi=3,1415;
    cout<<"Введите длинну рез-ра L =  ";
    cin>>L;
    cout<<"Введите радиус цилиндрической части рез-ра R = ";
    cin>>R;
    int diametr=R*2;
    
    for(int h=0; h<=diametr; h++){
    
    if(h<=R)
        {V1=(R*R*L)*(asin(sqrt(h*(2*R-h))/R)-(R-h)*sqrt(h*(2*R-h))/(R*R));
    cout<<h<<" "<<V1<<endl;}
    
    else if (h>R);
    {V2=(R*R*L)*(pi-asin(sqrt(h*(2*R-h))/R)-(R-h)*sqrt(h*(2*R-h))/(R*R));
    cout<<h<<" "<<V1<<" "<<V2<<endl;}
 
    }
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2013, 14:39     Подскажите плз, почему не работает #2
C++
1
else if (h>R);
Точку с запятой уберите.
Yura1989
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 10
27.04.2013, 15:07  [ТС]     Подскажите плз, почему не работает #3
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
else if (h>R);
Точку с запятой уберите.

Убрал, не помогает((
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2013, 15:27     Подскажите плз, почему не работает #4
Что вводите, что должно быть и что есть?
Yura1989
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 10
27.04.2013, 15:37  [ТС]     Подскажите плз, почему не работает #5
Должно выводиться два столбца: 1 - порядковый номер с первого по "diametr". Во-втором согласно формуле V1 и V2(сперва V1 до того времени пока h не станет равным R, а потом V2 пока h не станет больше "diametr"). Если переменной R задаю значение 500, выводится на экран только с 700(порядковый номер), по 1000("diametr"). А нужно с 0 по 1000
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,343
27.04.2013, 15:44     Подскажите плз, почему не работает #6
Yura1989, все дело в том, что буфер командной строки ограничен. И туда влезает тока 300 строк по умолчанию. Но буфер можно увеличить... но это уже другая история. Так что выводи все данные в файл, а не в консоль.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.04.2013, 15:52     Подскажите плз, почему не работает #7
Цитата Сообщение от nonedark2008 Посмотреть сообщение
Но буфер можно увеличить...
У меня выводит.
Миниатюры
Подскажите плз, почему не работает   Подскажите плз, почему не работает  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2013, 15:59     Подскажите плз, почему не работает
Еще ссылки по теме:

C++ Подскажите, почему это работает!?)
Р. Лафоре Подскажите, почему не работает C++
Подскажите почему не работает вывод строк? C++

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

Или воспользуйтесь поиском по форуму:
Yura1989
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 10
27.04.2013, 15:59  [ТС]     Подскажите плз, почему не работает #8
Спасибо большое alsav22 и nonedark2008!)
Yandex
Объявления
27.04.2013, 15:59     Подскажите плз, почему не работает
Ответ Создать тему
Опции темы

Текущее время: 11:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru