|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2009, 22:52 | #1 |
Новичок
Джуниор
Регистрация: 28.12.2009
Сообщений: 1
|
Не правильно работает программа
На основе циклической алгоритмической структуры составить программу, позволяющую вычислять результат сложного арифметического выражения. Подобрать параметры циклов (начальные значения, шаги изменения, конечные значения) для варьируемых переменных таким образом, что в процессе полного перебора возможных сочетаний этих переменных достигались все возможные случаи ветвления при расчете исходного выражения- Ограничить объем выводимой информации окном терминала.
Входные параметры (начальные значения, шаги изменения, конечные значения) вводить с клавиатуры. Каждый вывод на экран результата должен содержать: • Значения варьируемых переменных; ♦ Вид и значение параметра ветвления; • Итоговое значение функции; ♦ Идентификатор выбранной ветви, по которой получен результат (ее вид или номер). Пример результата для второй ветви первого варианта при а = х = 1: а - 1. х - 1. ах = 1. 2-nd branch у = 0.3678794е+00 или а = 1р х = 1. ах = 1. у = ехр(-ах) = 0.3678794е+00 вот моя программа #include <stdio.h> #include <math.h> double pi=3.14; void main () {double p,x,d,y,s,f; printf("vvedite nachalinoe х "); scanf("%lg",&x); printf("vvedite konechnoe х "); scanf("%lg",&y); printf("vvedite nachalinoe р "); scanf("%lg",&p); printf("vvedite konechnoe р "); scanf("%lg",&d); printf(" vvedite shag x "); scanf("%lg",&s); printf(" vvedite shag p "); scanf("%lg",&f); do { do { if ( (p*p*x)>=2) { y=cos(x*p); printf (" x= %lg ", x); printf (" p= %lg ", p); printf (" x*p= %lg ", x*p); printf (" s= %lg ", s); printf (" f= %lg ", f); printf (" y= %lg ", y); printf (" 3 branch \n"); } if ( 1 < (p*p*x)&&(p*p*x) < 2) { y=exp(0-pi*x); printf (" x= %lg ", x); printf (" p= %lg ", p); printf (" x*p= %lg ", x*p); printf (" s= %lg ", s); printf (" f= %lg ", f); printf (" y= %lg ", y); printf (" 2 branch \n"); } if ( (p*p*x) <= 1) { y=p*sin(x); printf (" x= %lg ", x); printf (" p= %lg ", p); printf (" x*p= %lg ", x*p); printf (" s= %lg ", s); printf (" f= %lg ", f); printf (" y= %lg ", y); printf (" 1 branch \n"); } } while (x <= y); x=x+s; p=p+f; } while (p <= d); getch(); } она мне выдает например (при Х начальном 1, конечном 9, P начальном 1 и конечном 9, шаг Х 1 и шаг У 1) 9 результатов причем Х=Р, а нужну чтоб каждому Х проганались все Р и уже потом шло переключение на следующий Х, т.е для данного примера 81 результат. Подскажите, что у меня не так. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программа на фортране. Правильно ли я написала? | Mell | Помощь студентам | 0 | 21.11.2009 18:44 |
Highslide не правильно работает в других браузерах | Barmunk | HTML и CSS | 1 | 28.08.2009 16:40 |
Не желает работать правильно программа из Питера Абеля | bullvinkle | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 28.02.2009 11:11 |
Программа не работает | ZYRGiX | Помощь студентам | 2 | 22.07.2008 21:44 |
Посмотрите пожалуйста правильно ли написана программа,если нет укажите ошибку. | Викулька | Помощь студентам | 1 | 10.12.2007 22:49 |