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

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

Войти
Регистрация
Восстановить пароль
 
YourLastSong
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
#1

Векторы, никак не могу понять - C++

26.12.2010, 17:01. Просмотров 283. Ответов 0
Метки нет (Все метки)

Здравствуйте, господа.

Я бы, возможно, и не стал беспокоить вас по таким пустякам, но для меня это вовсе не является таковым.

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

Итак, у меня имеется след. задание:

http://rghost.ru/3762303

Необходимо сделать 11 задание, однако как решить хоть что-то из этого пока что известно только первое:

Код
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream>
using namespace std;
struct VECTOR
{
    int n; 
    float *x;
    void nw()
    {
        x = new float[n];
    }
    // default  constructor:
    VECTOR()
    {
        n=0;
        x=0;
    }
    // constructor with 1 arg. :
    VECTOR(int fn)                                                      
    {
        n=fn; 
        nw();
    }
    // constructor with 2 arg. :


    VECTOR(int n, float *x);
    // copying  constructor:
    VECTOR(VECTOR &v);
    //destructor:
    ~VECTOR()
    {
        if(x)
            delete[]x;
    }

    //V=F {V.n=F.n;V.x[j]=F.x[j];return*this==V
    //(we can write V1=V2=V3 due to VECTOR&)}:
    VECTOR &operator = (VECTOR &F);
    //  V() {output V.x[0], V.x[1],... }:
    void operator()(FILE*f);
    // V[j] {return V.x[j]
    //(we can write V1[i]=V2[j]=V3[k] due to float&...)}:
    float &operator[] (int j)
    {
        return x[j];
    }
}; // end of VECTOR body


VECTOR::VECTOR(int fn,float *fx)
{
    n=fn; 
    nw(); 
    for(int j=0;j<n;++j)
        x[j]=fx[j];
}
VECTOR::VECTOR(VECTOR&F)
{
    n=F.n;
    nw();
    for(int j=0;j<n;++j)
        x[j]=F.x[j];
}
VECTOR &VECTOR /*v3*/::operator=(VECTOR &F /*v2*/)
{
    if(x)
        delete[]x; 
    n = F.n;
    nw();
    for(int j=0;j<n;++j)
        x[j]=F.x[j];
    return *this;
}
void VECTOR::operator()(FILE*f = stdout)
{
    for(int j=0;j<n;++j)
        fprintf(f,"% -7g",x[j]);
}
// end of VECTOR
// independent function:
VECTOR operator^   (VECTOR  &v1, float *v2)
{
    
    for(int j=0; j<v1.n ;j++)
        v1.x[j] = pow(v1.x[j],v2[j]); 
    return v1;
}

struct DV:VECTOR
{
    DV():VECTOR()
    {
    }
    DV(int fn):VECTOR(fn)
    {
    }
    DV(int n,float*x):VECTOR(n,x)
    {
    };
    DV(DV &v):VECTOR(v)
    {
    };
    DV &operator ! (); //добавлено
};// end of DV body
DV &DV::operator!() //добавлено
{
    for(int j=0;j<n;++j)
        x[j]=fabs(x[j]);
    return *this;
}

void main()
{
	int n;
	float *a;
	printf("n = ");
	scanf("%d", &n);
	a = new float[n];
	for (int i = 0; i < n; i++)
	{
		scanf("%g", &a[i]);
	}
	DV v(n, a); //добавлено
	!v; //добавлено
	for (int i = 0; i < n; i++)
	{
		cout << v.x[i] << " ";
	}
	getch();
}
Я знаю, что просить решить что-либо на данном форуме неприлично, но этого бы не произошло, если бы я хоть что-то понимал в данной задаче.

Если у вас есть возможность и желание мне хоть как-то помочь, буду очень признателен.

Заранее благодарю за возможные ответы.

Добавлено через 26 минут
Если есть хоть какие-то подсказки, как это можно сделать, также буду очень признателен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 17:01     Векторы, никак не могу понять
Посмотрите здесь:

Не могу никак понять (новичек). - C++
Здравствуйте, необходимо найти сумму квадратов четных чисел в интервале заданном значениями переменных от m до n. Никак не могу понять...

никак не могу понять ошибку... - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; using namespace std; #include &lt;stdlib.h&gt; struct...

Никак не могу понять что это - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); double chocolate, cofe, milk; cout &lt;&lt;...

Никак не могу понять в чем ошибка - C++
все прокомментировал. При компиляции выдает, что в 9 строчке невозможно преобразовать &quot;const wchar_t &quot; в &quot;LPCSTR&quot;. HELP:cry: подскажите где...

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

немогу никак понять в чем ошибка=(помогите плиз! - C++
есть вот такой вот код : #include &lt;iostream.h&gt; #include &lt;math.h&gt; void main(void) { int...

не могу решить (векторы и строки) - C++
Дали мне 2 задачи а я сижу и немогу их решить, помогите 1.прочитать из файла массив, элементы занести в вектор, добавить в вектор...

Никак не могу найти ошибку - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;STDLIB.H&gt; #include&lt;COMPLEX.H&gt; main() { const m=7,...

Не могу никак найти ошибку - C++
Вообщем есть код задача( задача тут не существенна). Есть класс: TArray.h #pragma once template&lt;class T&gt; class TArray { ...

Никак не могу разобраться с ошибкой. - C++
Задание: Имеются числа х1,х2,...,хn.Расставить их в таблице размером (nхn) так,чтобы в каждой строке и в каждом столбце каждое число...

Никак не могу разобраться с конструктором. - C++
Добрый день. Недавно стал изучать C++. Уже 2 день пытаюсь понять суть конструктора, но не могу. Код который присутствует в...

Никак не могу составить рекурсию - C++
Вычислить значение полинома степени n по формуле: Составить рекурсивную функцию Добавлено через 1 минуту sum a*x^i i=0 to n ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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