1 Востаннє редагувалося Faraon (22.10.2014 08:42:51)

Тема: Як побудувати вектор?

Привіт всім. Мені потрібно побудувати вектор. обчислити значення g. тільки я ось зовсім в цьому не шару)
ось що в мене получилося:

#include <iostream>;
using namespace std;

int main() {
    double a,b,i;

    cout<<"enteer a:";
    cin>>a;
    cout<<"b";
    cin>>b;

    if (a > (b*b)) {

    double    f = i*(a*a) - (i*i*i-b*b)/(i*i + a*a);

    } else {

    double    f = i*(a*a) - (i*i*i-b*b)/(i*i + a*a);

    }







    system("pause");
}

а тепер мені потрібно обчислити g. Але ось як це робиться?
Кому не важко подивіться завдання. Порядковий номер у журналі 22.

Post's attachments

tasc_3.doc 160 kb, 342 downloads since 2014-10-22 

2

Re: Як побудувати вектор?

http://www.cplusplus.com/reference/valarray/valarray/

Подякували: Faraon1

3

Re: Як побудувати вектор?

Будь ласка, почитайте щось про цикли... для початку.

4

Re: Як побудувати вектор?

Що ви розумієте під словом "вектор"?
Тому що я вам можу запропонувати ось таке

vector<int> myVector(10);

5 Востаннє редагувалося Faraon (22.10.2014 15:48:05)

Re: Як побудувати вектор?

2quez? дякую, але дозволені тільки бібліотеки iostream і smath + заборонено використовувати масиви.

Будь ласка, почитайте щось про цикли... для початку.

А що саме про них потрібно знати? Як вони працюють я знаю)

6

Re: Як побудувати вектор?

Faraon написав:

А що саме про них потрібно знати? Як вони працюють я знаю)

Тоді продемонструйте ці знання на практиці.

7

Re: Як побудувати вектор?

koala написав:
Faraon написав:

А що саме про них потрібно знати? Як вони працюють я знаю)

Тоді продемонструйте ці знання на практиці.

Наскільки я розумію, тут проблема не у обчисленні n-ного значення, а у збереженні всіх цих значень, не використовуючи масив або інший контейнер.

8

Re: Як побудувати вектор?

Неправильно розумієте.

9 Востаннє редагувалося Logans (22.10.2014 16:51:30)

Re: Як побудувати вектор?

Добрий вечір.

Глянув я на ваш код і на завдання в результаті виникло декілька питань:
    1. Де ваш цикл, який має працювати від 1 до n? (Відповідно обрахунок n у вас вказаний в умові) - на це, здається, і натякав koala;
    2. i - у вас оголошенно типу double, але i відповідно до мого першого питання має бути цілим та, краще за все, оголошуватися в циклі ( for (int i = 0; i < n; i++) ).


На мою думку f краще зробити ф-ією типу double, в яку передавати 3 параметри (a, b, i) і відповідно повертати результат, записуючи його в масив y (прокручуючи це все в циклі).

Далі, для обрахунку g вам потрібно знайти мінімальне та максимальне значення масиву y та використати в формулі.

Мені здається все дуже просто)

10

Re: Як побудувати вектор?

Logans написав:

Добрий вечір.

Глянув я на ваш код і на завдання в результаті виникло декілька питань:
    1. Де ваш цикл, який має працювати від 1 до n? (Відповідно обрахунок n у вас вказаний в умові) - на це, здається, і натякав koala;
    2. i - у вас оголошенно типу double, але i відповідно до мого першого питання має бути цілим та, краще за все, оголошуватися в циклі ( for (int i = 0; i < n; i++) ).


На мою думку f краще зробити ф-ією типу double, в яку передавати 3 параметри (a, b, i) і відповідно повертати результат, записуючи його в масив y (прокручуючи це все в циклі).

Далі, для обрахунку g вам потрібно знайти мінімальне та максимальне значення масиву y та використати в формулі.

Мені здається все дуже просто)

Було б просто. Якби не

+ заборонено використовувати масиви.

11 Востаннє редагувалося Logans (22.10.2014 17:21:48)

Re: Як побудувати вектор?

quez написав:

Було б просто. Якби не

+ заборонено використовувати масиви.


Окей, давайте тоді використаємо файли.

Ну, або вже якщо збочення приймається, то в рядок записувати відокремлюючи будь-яким символом)

12

Re: Як побудувати вектор?

comma-separated values 'значення, розділені комою'

13

Re: Як побудувати вектор?

Logans написав:
quez написав:

Було б просто. Якби не

+ заборонено використовувати масиви.


Окей, давайте тоді використаємо файли.

Ну, або вже якщо збочення приймається, то в рядок записувати відокремлюючи будь-яким символом)

Файли теж не можна:

Faraon написав:

дозволені тільки бібліотеки iostream і smath

Збочення - наше все.

14

Re: Як побудувати вектор?

Пане Фараоне, ви щось наплутали. В умові сказано "побудувати вектор (y1, y2, ..., yn)". Зробити це без масивів чи контейнерів (наприклад, std::vector) неможливо за визначенням. Розберіться з умовою і викладіть її повністю.

15 Востаннє редагувалося Faraon (23.10.2014 00:06:16)

Re: Як побудувати вектор?

Дякую всім хто відкликнувся на допомогу. Завдання виконав. Кому інтересно ось код:

#include <iostream>;
using namespace std;

int main() {
    double a,b,g;
    cout<<"enteer a:";
    cin>>a;
    cout<<"b: ";
    cin>>b;
    double min;
    int n = 22;

    cout<<"a="<<a<<endl;
    cout<<"b="<<b<<endl;
    cout<<"n="<<n<<endl;
    cout<<"y=(";
    for (int i = 1; i <=n; i++)
    {

        double    f;

    
        if (a > (b*b)) 
            f = i*(a*a) - (i*i*i-b*b)/(i*i + a*a);
        else 
            f = i*i - 2 / sqrt(i*i + b*b + 5*a*a);
    
        min = 0.5*(abs(f)-sqrt(abs(f)));
        if(i==1) 
            g=min;
        if(g > min) 
            g=min;
        cout<<f<<";";
    }
    cout<<")"<<endl;
        cout<<"g="<<g<<endl;
    system("pause");
}

16

Re: Як побудувати вектор?

Рядок 26 неправильний, а решта - самі дивіться.

Подякували: Faraon1

17

Re: Як побудувати вектор?

А де ж від нуля до n?

18

Re: Як побудувати вектор?

Рядок 26 неправильний, а решта - самі дивіться.

Дякую. Виправив!

А де ж від нуля до n?

А чому має бути від нуля до n?