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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
09.10.2010, 16:19     Программа по уравнению (или не знаю как) #1
Нужно написать прогу (или составить код программы в 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.
Я предрологаю, что все эти значения по идее должен пользователь вводить, хотя не уверен... Ну А и В это я так понимаю из самой функции =).


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

 Комментарий модератора 
Во избежании потери информации на сторонних ресурсах загружайте изображения на форум через Вложения в Расширенном режиме редактирования сообщений.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 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]$
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
14.10.2010, 03:25  [ТС]     Программа по уравнению (или не знаю как) #22
accept - компилирует нормально где "чуть чуть перевёл", но после ввода 3х данных в прогу она закрываеися... попробывал ввести даже твои значения, но тоже закрывается (2.5 10.3 3.2)

PS. на файл не смотреть - перепутал, не то прикрепил)
Миниатюры
Программа по уравнению (или не знаю как)  
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
accept
4838 / 3237 / 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2010, 13:26     Программа по уравнению (или не знаю как)
Еще ссылки по теме:

Программа с использованием windows.h не находит файла. Не знаю почему C++
C++ когда вводится нуль,то программа не работает,нужно добавитть еще какое-то условие для нуля ,но я не знаю какое
C++ Программа которая складывает 2 числа.Числа вбиты в программу заранее. Не получается. Плохо знаю этот язык

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

Или воспользуйтесь поиском по форуму:
puzzler
0 / 0 / 0
Регистрация: 07.10.2010
Сообщений: 25
14.10.2010, 13:26  [ТС]     Программа по уравнению (или не знаю как) #25
ок, послушаюсь умных людей =)
надеюсь всё будет хорошо и преподу понравится
Yandex
Объявления
14.10.2010, 13:26     Программа по уравнению (или не знаю как)
Ответ Создать тему
Опции темы

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