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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
#1

Программа по уравнению (или не знаю как) - C++

09.10.2010, 16:19. Просмотров 1333. Ответов 24
Метки нет (Все метки)

Нужно написать прогу (или составить код программы в Dev-C++ 4.9.9.2 не знаю как правильно) для табулирования функции: вот она
Название: c333b8c6.jpg
Просмотров: 23

Размер: 3.7 Кб
*) Дано начальное- "AV" и конечное- "LV" значение аргумента (тобишь икса по идее), и число шагов "N" и сам шаг по формуле (ну я так понял) H=(B-A)/N. Найти значиние функции в пунктах AV, AV+H, AV+2*H,..., LV.
Я предрологаю, что все эти значения по идее должен пользователь вводить, хотя не уверен... Ну А и В это я так понимаю из самой функции =).


Вообщем ребята помогите, кто чем сможет. Сам как бы программированием не занимался никогда, а тут так поступил на программирование и сразу на С++, так для меня как китайский + не на родном языке обучение - литературу читаю, но идёт туго, пока много чего не понятно... могу только простые программки писать, а тут для меня супер высший пилотаж. И сроки поджимают. Думал справлюсь, но не тут то было...
вообщем вся надежда на вас.

 Комментарий модератора 
Во избежании потери информации на сторонних ресурсах загружайте изображения на форум через Вложения в Расширенном режиме редактирования сообщений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2010, 16:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа по уравнению (или не знаю как) (C++):

программа виснет, не знаю что не так - C++
Дана квадратная целочисленная матрица. Определить, является ли она магическим квадратом. В магическом квадрате сумма чисел по всем...

Программа с использованием windows.h не находит файла. Не знаю почему - C++
Программа не находит файла. Не знаю почему. задача: 1.Считывания перечени текстовых файлов из текущей директории с использованием...

Интересная программа, но не знаю как составить (цикл) - Pascal
Ребятки, кто в паскале хорошо разбирается, напишите пожалуйста прогу по этой задаче! )) Заранее спасибо)) P.S. задачу выложил в виде...

Как сделать ограничение на перемещение? Или я не знаю как называется это правильно. (См. внутри) - Delphi
Если нажимать на кнопки ВПРАВО ВЛЕВО ВВЕРХ ВНИЗ робот Петька перемещается соответственно этим кнопкам. А как сделать так, чтобы Петька не...

Нужно написать какую-то формулу или зависимость, я не знаю как назвать, как у меня получилось такое улучшение - Математика
Товарищи, пишу работу и в ней есть небольшая часть по математике, не знаю в тот ли именно раздел я написал тему но думаю что попал близко. ...

Про процедуру или функцию (не знаю как правильно назвать) - Delphi
Всем привет! Помогите пожалуйста чайнику При создании формы я получаю список COM портов таким вот образом procedure...

24
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
09.10.2010, 17:15 #2
Пробуйте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <math.h>
 
using namespace std;
 
int main()
{
    double i,av,al,y,h;
    cout<<"  av="; cin>>av;
    cout<<"  al="; cin>>al;
    cout<<"  h=";  cin>>h;
    cout<<"\n  X    Y";
    cout.precision(3);
    for(i=av;i<=al;i+=h) 
     {
         y=(double)(7*i*i-1.3*i+5)/(11-sqrt(i));
         cout<<"\n  "<<i<<"  "<<y;
     }
    getch();
    return 1;
}
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
10.10.2010, 02:06  [ТС] #3
Спасибо за помощь, вставил в программу, работает всё хорошо вроде =). Только вот я не очень понял, шаг "Н" должен считать пользователь? Или же это тоже в программе надо прописывать?
и ещё нюанс - когда я на практике в классе вписал cout<<, ну точнее скопировал в программу код, то услышал от препода, что таким мы ещё не пользуемся.
Мы прописываем типо таким - printf("... \n"); и scanf("...\n"); чтобы это работало на С. Ну я так понимаю.

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
#include <stdio.h>
#include <math.h>
 
void tablica (double x, double y, double y_max, int l)
{
 
     if (y<y_max)
     { 
                 if (l==0){
     printf("\n%lf \t %lf",x,y);
   }}
 else  if (l==1){
           printf("\n%lf \t kompleksnoe chislo",x);
         }
else if (l==2){
      
           printf("\n%lf \t delenie na nol'",x);
         }
                 
 }
 
 
void ras4et (double x, double h, double c, double y_max)
{
     int i;
     double y;
     for (i=1; i<=20; i++)
     {
         y = (3 + sqrt(1 - pow(x,1.5))) / (4 - pow(x,2));
      if (x == 2 || x == -2){
         tablica (x,y,y_max,2);}
      else if (x > 1){
        tablica (x,y,y_max,1);}
      else if (x < 0){
        tablica (x,y,y_max,1);}
      else {
         tablica (x,y,y_max,0);}
if (i==1){
          x = x + h;
          }
          else{
         x = x + (i-1) * h * c;}
         }
         }
 
 
 
int main () 
{
 
double x, h, c, y_max;
 
printf ("################################################################");
printf ("\n####  Zadajutsja nachalnoe zna4enie argumenta A, verxnij   ###");
printf ("\n####  predel funkcii ym_max, shag H i koefficent shaga C.  ###");
printf ("\n####  Znachenie funkcii vqchisljaetsja v to4kax ##############"); 
printf ("\n####  A,A+H,A+H+C*H, A+H+C*H+C*2*H, poka zna4enie funkcii ####");
printf ("\n####  ne prevqsit verhnij predel ym_max,  ####################");
printf ("\n####  no ne bolshe, 4em v 20 tochkax.  #######################");
printf ("\n##############################################################");
 
printf ("\n Vvedite na4alnoe zna4enie A:");
 scanf ("%lf",&x);
printf ("\n Vvedite maksimalnoe zna4enie funkcii Ym:");
 scanf ("%lf",&y_max);
printf ("\n Vvedite shag priroshenija argumenta H:");
 scanf ("%lf",&h);
printf ("\n Vvedite koefficent prirosta C:");
 scanf ("%lf",&c);
printf("\n     X    \t      Y     \n\n");
 
ras4et (x, h, c, y_max);
 
getch ();
return (0); 
}

это вот я нашел пример табулирования, но задание не моё, а чьёто другое.
тут вот код просто больше намного поэтому я в конфузе небольшом =(
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.10.2010, 04:54 #4
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
#include <stdio.h>
#include <math.h>
 
int main()
{
    double i,av,al,y,h;
    
    printf("av = ");
    scanf("%f", &av);
    
    printf("al = ");
    scanf("%f", &al);
    
    printf("h = ");
    scanf("%f", &h);
    
    printf("X\t|\tY\n");
 
    for(i = av;i <= al; i += h) {
         y = (double)(7*i*i - 1.3*i+5) / (11 - sqrt(i));
         printf("%.3f\t|\t%.3f\n", i, y);
    }
    
    return 0;
}
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
10.10.2010, 15:08  [ТС] #5
fasked я вот прокомпилировал в программе (без ошибок), но при вводе данных, без разницы каких, мне программа всё время выдаёт один и тот же бесконечный ответ Х=0.000 У=0.455.
както не понятно ^_^

шаг значит пользователь сам должен считать да?
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.10.2010, 17:25 #6
Цитата Сообщение от puzzler Посмотреть сообщение
шаг значит пользователь сам должен считать да?
А не знаю, я просто код переписал под Си. Что он должен делать я даже без понятия
Вы уж простите меня.
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
10.10.2010, 20:03  [ТС] #7
а ну хорошо
благодарность fasked за перевод, но чтото выдаёт один и тот же бесконечный ответ =D

может кто нить на С этот код привести? код написаный -comrade- работает хорошо (хотя я туда потом попробую туда вставить код для шага, думаю должно получиться у меня его напсиать) только он не на С =)))
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.10.2010, 22:43 #8
Цитата Сообщение от puzzler Посмотреть сообщение
может кто нить на С этот код привести? код написаный -comrade- работает хорошо
так я же именно это и сделал, непонятно откуда могла возникнуть проблема.
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
11.10.2010, 00:04  [ТС] #9
Цитата Сообщение от fasked Посмотреть сообщение
так я же именно это и сделал, непонятно откуда могла возникнуть проблема.
вот и я не понимаю... вставляю код -comrade-, всё считает нормально, вставляю твой переведённый и без разницы что ввожу, получается Х равен 0.000 и У 0.455 и бесконечно считает...

usernet009 - технический университет
0
Миниатюры
Программа по уравнению (или не знаю как)  
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.10.2010, 04:37 #10
когда делаешь scanf() для double, нужно делать через %lf
к printf() это не относится
1
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
11.10.2010, 13:52  [ТС] #11
так тут вроде через %f и написано =) или...?)
0
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
11.10.2010, 13:57 #12
puzzler, через %lf ...

Добавлено через 35 секунд
там float, а надо long float
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
11.10.2010, 17:56  [ТС] #13
ааа понял пардон =)
если делать через if то и else значит должен быть... я такое делал на уровне приметива, например, четное или не четное число вводит пользователь. Тут посложнее будет я думаю - как это сделать?)
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.10.2010, 02:06 #14
Цитата Сообщение от puzzler
если делать через if то и else значит должен быть...
если в общем, то if может быть без else

Цитата Сообщение от puzzler
Ну А и В это я так понимаю из самой функции =).
они должны быть заданы заранее или введены
A, B, H
по ходу A и B - это "начальное AV и конечное LV"

и число шагов "N"

получается тебе нужно вводить
AV, LV, N

H ты вычисляешь (LV - AV) / N и потом используешь в цикле
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
12.10.2010, 20:28  [ТС] #15
мне кажется, что А и B - это значения перед Х и Хв квадрате (ах^2+bx+c), значит их вводить не надо, так как они уже есть по уравнению, а вот AV и LV ввести надо, а также число шагов N.
выходит, что нужен код , где нужно ввести AV, LV, N, потом считается шаг (ну это я впринципе могу ещё сделать), и затем программа должна считать значение Y по X, a X у нас в пределе AV(начальный икс), AV+H, AV+2*H, AV+3*H... и до LV(конечный икс), и сам шаг по формуле H=(B-A)/N, тобишь H=(-1,3-7)/N ну и вывести значения все от подсчетов на экран. Вот с этим уже проблемы =(.
ну по крайней мере я так понимаю.

Кто поможет такой вот код написать на С, с использованием %if , как ранее упоминалось?

у меня просто полтора дня осталось, а потом МоментоМорэ
0
12.10.2010, 20:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2010, 20:28
Привет! Вот еще темы с ответами:

div-ное окно!или я не знаю как это сделать( - HTML, CSS
Ребят как сделать,чтобы при переходе по закладкам правая часть формы менялась без перехода на другую странцу?т.е. как сделать чтобы всё...

Бывает ли вот такая программа (не знаю как это может называться) - Софт
Суть в том, ч то имеем папку с файлами .rtf, - нужно просканировать все эти файлы и изменить, заменить определенный текст (или вообще...

результат в результате, или я даже не знаю, как обозвать этот борщ - PHP БД
Вот, допустим, есть: $res = mysqli_query($db, запрос №1); $b = ''; $a = '&lt;table id=&quot;mama&quot;&gt;'; while ($row =...

Как построить график по уравнению - MathCAD
Здравствуйте Нужна помощь с постройкой графика для задачи. Задача по предмету Уравнения мат. физики. Вот условия: Конечное...


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

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

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