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

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

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

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

09.10.2010, 16:19. Просмотров 1334. Ответов 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
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.10.2010, 03:24 #16
AV, AV+H, AV+2*H,..., LV.
вот из этой формулы следует, что шаг вычисляется на основе AV и LV
AV и LV - это начало и конец отрезка на оси x
а шаг как раз для иксов

то, что там оказался квадратный многочлен - просто совпадение

тебе нужен цикл for, и где там if ?
0
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
13.10.2010, 09:20 #17
Попробовал переделать выше написанную программу как понял я. Проверок на то, что av<al и что n>0 я не делал (на скорую руку), поэтому дабы получать ответ советую вводить корректные значения ^_^
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
#include <math.h>
 
using namespace std;
 
int main()
{
    float av,al,h,f;
    int n;
    printf("  av="); scanf("%f",&av);
    printf("  al="); scanf("%f",&al);
    printf("  n="); scanf("%d",&n);
    printf("\n  X    Y");
    h=(al-av)/(float)n;
    for(i=av;i<=al;i+=h) 
     {
         f=(7*i*i-1.3*i+5)/(float)(11-sqrt(i.);
         printf("\n  %3f %3f",i,f);
     }
    getch();
    return 1;
}
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
13.10.2010, 15:46  [ТС] #18
Благодарю, только вот при компиляции если файл в формате СРР, то возникает ошибочка снизу, а если в формате С, то ошибочка сверху =(((

PS. желательно покажите, как для С исправить)
0
Миниатюры
Программа по уравнению (или не знаю как)   Программа по уравнению (или не знаю как)  
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
13.10.2010, 15:51 #19
Уберите using namespace std;
Вместо #include <iostream> напишите #include <stdio.h>
После int n; напишите int i;
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
13.10.2010, 23:58  [ТС] #20
сделал, теперь выдаёт ошибку в другом месте (файл формата С)
0
Миниатюры
Программа по уравнению (или не знаю как)  
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.10.2010, 03:10 #21
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
#include <iostream>
#include <cstdio>
#include <сmath>
 
using namespace std;
 
int main()
{
    float av, al, h, f, i;
    int n;
 
    printf("  av="); // нужен fflush(stdout), так как нет перевода строки
    scanf("%f", &av);
    
    printf("  al="); // нужен fflush(stdout), так как нет перевода строки
    scanf("%f", &al);
 
    printf("  n="); // нужен fflush(stdout), так как нет перевода строки
    scanf("%d", &n);
 
    printf("\n  X    Y");
    h = (al - av) / n; // приведение к float не нужно, так как оно выполнится из-за al - av
 
    for (i = av;i <= al; i += h) {
         f = (7 * i * i - 1.3 * i + 5) / (11 - sqrt(i)); // i. неправильно, приведение к float не нужно, там double
         printf("\n  %3f %3f", i, f);
     }
    getchar();
    return 0; // не ноль считается сбоем в операционных средах
}
короче сишный код, в основном

чуть-чуть перевёл

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
#include <stdio.h>
#include <math.h>
 
int main(void)
{
    float av, al, h, f, i;
    int n;
 
    printf("  av="); /* нужен fflush(stdout), так как нет перевода строки */
    fflush(stdout);
    scanf("%f", &av);
    
    printf("  al="); /* нужен fflush(stdout), так как нет перевода строки */
    fflush(stdout);
    scanf("%f", &al);
 
    printf("  n="); /* нужен fflush(stdout), так как нет перевода строки */
    fflush(stdout);
    scanf("%d", &n);
 
    printf("\n  X    Y");
    h = (al - av) / n; /* приведение к float не нужно, так как оно выполнится из-за al - av */
 
    for (i = av;i <= al; i += h) {
         f = (7 * i * i - 1.3 * i + 5) / (11 - sqrt(i)); /* i. неправильно, приведение к float не нужно, там double */
         printf("\n  %3f %3f", i, f);
     }
    getchar();
    return 0; /* не ноль считается сбоем в операционных средах */
}
Код
[guest@localhost tests]$ ./t2
  av=2.5
  al=10.3
  n=3.2

  X    Y
  2.500000 4.830733
  5.100000 20.641340
  7.700001 49.849785[guest@localhost tests]$
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
14.10.2010, 03:25  [ТС] #22
accept - компилирует нормально где "чуть чуть перевёл", но после ввода 3х данных в прогу она закрываеися... попробывал ввести даже твои значения, но тоже закрывается (2.5 10.3 3.2)

PS. на файл не смотреть - перепутал, не то прикрепил)
0
Миниатюры
Программа по уравнению (или не знаю как)  
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
14.10.2010, 04:06  [ТС] #23
accept - и ещё, я понять не могу... вот если N=3,2 , то это уже выходит, что уже второй по счету X (AV+H) будет меньше нуля, при AV=3,2 как ты предлагаешь ... а из отриц. числа корень не извлечь (в знаменателе)

(-1.3-7)\3.2=-2.59375
0
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.10.2010, 12:24 #24
в конце ещё один getchar(); нужно, первый отловит '\n'

это я код Iworb'а скорректировал, чтобы он собирался (первый вариант не собирается либо из за cstdio, то есть надо stdio.h, допустим (бывает такое), либо ты его сохранил как .c)

а вооще конечно - сначала нужно установить область определения, знаменатель не может быть равен нулю
и потом, вводя эти значения (концы отрезка), проверять, подходят ли они к области определения
и потом уже цикл
шаг наверное лучше в цикле проверять, подходит ли он к области определения, чтобы до цикла там не вычислять лишний раз

Добавлено через 5 минут
прочитал, что ты неправильно прикрепил, там действительно не может найти заголовки
тогда все замени на .h, в сишных заголовках при замене на .h ещё и первую букву удалить

Добавлено через 3 часа 32 минуты
Цитата Сообщение от puzzler Посмотреть сообщение
если N=3,2 , то это уже выходит, что уже второй по счету X (AV+H) будет меньше нуля, при AV=3,2 как ты предлагаешь ... а из отриц. числа корень не извлечь (в знаменателе)

(-1.3-7)\3.2=-2.59375
а причём тут -1.3 и 7 ?
AV и AL - это концы отрезка на оси абсцисс и шаг даёт тоже значения на оси абсцисс

с чего ты взял, что квадратное уравнение имеет отношение к функции f ?
через него можно найти только где функция пересекает ось абсцисс
если бы там был не квадрат а 7*x^5, эта задача делалась бы точно также (было бы 7 * i * i * i * i * i)

x != 121
0
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
14.10.2010, 13:26  [ТС] #25
ок, послушаюсь умных людей =)
надеюсь всё будет хорошо и преподу понравится
0
14.10.2010, 13:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2010, 13:26
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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