Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте)
    У меня есть такое задание:

    Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале x_нач до x_кон с шагом dx с погрешностью е=0,01. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.

    Формула к заданию:
    http://i35.fastpic.ru/big/2012/0316/76/23b3dcdae3c45a610c4ca1a52d907576.jpg

    Всвязи с этим я написал такой код:

    #include <iostream>
    #include <cmath>
    using namespace std;

    double f1(double k, double p);
    double factr(double y);

    int main()
    {
    double x, n, e;

    e = 0.01;

    cout << "Vvedite x: \n";
    cin >> x;
    cout << "Vvedite n: \n";
    cin >> n;
    cout << "Eto chislo iteracii";

    cout << "Znachenie formyli ravno: \n" << f1(x, n);
    }

    double f1(double k, double p)
    {
    double m;

    if (p > 0)
    {
    for (p;; p--)
    {
    m = pow(-1,p)*pow(k,p)/factr(p);
    return (m);
    }
    }
    else {
    cout << "Tak nelzia.";
    }
    }

    double factr(double y)
    {
    double x;

    if(y == 1) return(1);
    x = factr(y - 1)* y;
    return(x);
    }

    При компиляции выдает следующее:
    Warning C4715: f1: значение возвращается не при всех путях выполнения.

    И ещё, далее выскакивает такая надпись:
    LINK: fatal error lnk1104: не удается открыть файл "kernel132.lib".

    Помогите кто может)))
     
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    в блок else функции f1 попробуй добавить return 0;:
    Code:
     else {
       cout << "Tak nelzia.";
       [b]return 0;[/b]
       }
    
     
  3. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Попробовал, теперь ругается только на это:
    LINK: fatal error lnk1104: не удается открыть файл "kernel132.lib".
     
  4. dreamstep

    dreamstep New Member

    Joined:
    16 Mar 2012
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, отыскал программу, но исходников к ней нету...очень нужен этот проект запустить, посмотреть работу. Сам пробовал собрать форму не получилось - поставил все нужные кнопки, label'ы, не работает. В итоге нужен проект в Visual Studio.

    Условие:
    Описать класс, представляющий треугольник. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. Описать свойства для получения состояния объекта. При невозможности построения треугольника выбрасывается исключение. Написать программу, демонстрирующую все разработанные элементы класса.

    Может есть кому это будет не очень сложно, очень надо....
    Код:
    https://docs.google.com/document/d/1KsX-kcNtyWoVnmAJKM_jNi7fDk6N0X8tXElhf4SrwK4/edit?pli=1
     
  5. SeoBee

    SeoBee New Member

    Joined:
    9 Oct 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Есть лабораторная нужно перегрузить 3 оператора - =, += и *=, чтобы те выполняли операции с обычными числами. // C++
     
  6. Swedesh

    Swedesh Banned

    Joined:
    29 Oct 2008
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    Кто может помочь студенту двоишнику.

    21. Создать группу классов – потомков tCustomControl, каждый из которых содержит элемент блок- схемы алгоритма и надпись. Экземпляры всех классов должны перемещаться по окну с помощью мыши, при этом на время перемещения объект должен выделяться цветом границы и фона. По двойному щелчку должно открываться окно, через которое происходит редактирование характеристик объекта. Это же окно должно открываться по клавише Enter для последнего объекта, на котором произошел щелчок мыши. В окне редактирования вводить текст надписи и комментарий (tMemo). Предусмотреть изменение масштаба рисунка при изменении размера объекта и возможность соединения группы объектов в блок-схему. В качестве справочного материала использовать ГОСТ 19.002-80 (представлен на диске), либо ГОСТ 19.701-90 (ИСО 5807-85)). Усложненный вариант – предусмотреть выполнение указанного в программе произвольного алгоритма в режиме интерпретации.

    Вот такое у меня задание .
    icq 953898 .
     
  7. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Имеется следующий код:

    #include <iostream>
    #include <cmath>
    using namespace std;

    double f1(double k, double p); // Прототип функции для формулы.
    double factr(double y); // Прототип функции факториала.

    int main()
    {
    double x, n, e; // Объявляем переменные.

    e = 0.01; // Значение погрешности.

    cout << "Vvedite x: \n";
    cin >> x; // Аргумент формулы.
    cout << "Vvedite n: \n";
    cin >> n; // Количество итераций, значение факториала и возведение в степень для нашего ряда Тейлора.
    cout << "Eto chislo iteracii";

    cout << "Znachenie formyli ravno: \n" << f1(x, n); // Выводим значение нашей формулы.
    }

    double f1(double k, double p)
    {
    double m; // Переменная для возврата.

    if (p > 0) // n не должно быть меньше нуля.
    {
    for (p;; p--) // В цикле декрементируем n заданное количество раз
    {
    m = pow(-1,p)*pow(k,p)/factr(p); // Формула ряда Тейлора.
    return (m);
    }
    }
    else {
    cout << "Tak nelzia.";
    return 0;
    }
    }

    double factr(double y) // Функция факториала
    {
    double x;

    if(y == 1) return(1); // Фактолиал числа 1 равен одному, в этом случае его и возвращаем.
    x = factr(y - 1)* y; // Вычисление факториала заданного числа.
    return(x);
    }

    при компиляции выскакивает такая ошибка:
    LINK: fatal error lnk1104: не удается открыть файл "kernel132.lib".

    Что это за ошибка и как её исправить?
     
  8. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Simon Fenix
    в чем пишешь?
     
  9. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    В Notepad++
     
  10. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1

    Хорошо хоть не в txt editor'e...
    Вопрос чем ты код компилируешь.
     
  11. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Вопрос чем ты код компилируешь.

    Через командную строку Microsoft Visual Studio 2010 Express
     
  12. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Во тебе ссыль тут человек такой же вопрос.Почитай комменты.
    Если в кратце - то стоит проверить есть ли вообще библ kernel32.lib в наличие или/и возможно библ битый, стоит удалить и поставить новый(скачай).
     
  13. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    ------------
    маленький пример: (точки координаты x y)

    MyPoint& operator+=( const MyPoint& point );
    MyPoint& operator-=( const MyPoint& point );
    MyPoint& operator*=( const double dVal );
    ----------------
    MyPoint& MyPoint::eek:perator+=( const MyPoint& point )
    { x+=point.x;
    y+=point.y;
    return *this; }

    MyPoint& MyPoint::eek:perator-=( const MyPoint& point )
    { x-=point.x;
    y-=point.y;
    return *this;}

    MyPoint& MyPoint::eek:perator*=( const double dVal )
    { x*=dVal;
    y*=dVal;
    return *this;}
    ----------------
    вот так вот ))))
    /// С обычными числами ??? эм ... вроде и так работают ...
    /// может Complex ? тогда примерно так
    Complex operator+(const Complex&);

    Complex Complex::eek:perator+(const Complex& z) {
    Complex tmp;
    tmp.re = re + z.re;
    tmp.im = im + z.im;
    return tmp;
    }
    -----------------
     
    #3933 _visor_, 19 Mar 2012
    Last edited: 19 Mar 2012
  14. Simon Fenix

    Simon Fenix New Member

    Joined:
    15 Mar 2012
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Написал код:
    #include <iostream>
    #include <math.h>
    using namespace std;

    double Taylor(double x, double e, double &n);
    double factr( double n);

    int main()
    {
    double n;
    double xn, xk, dx, e;

    e = 0.01;

    cout << "xn = ";
    cin >> xn;
    cout << "xk = ";
    cin >> xk;
    cout << "dx = ";
    cin >> dx;
    cout << "| x | Sum | N |\n";

    while(xn <= xk)
    {
    cout << xn << " | " << Taylor(xn, e, n) << " | ";
    cout << n << endl;
    xn = xn + dx;
    }
    system("pause");
    return 0;
    }

    double Taylor(double x, double e, double &n)
    {
    double sum = 0;
    double an = 1;
    n = 1;

    do
    {
    sum = sum + an;
    n = n + 1;
    an *= pow(-1,n)*pow(x,n)/factr(n);
    }
    while(e <= factr(an));
    return sum;

    }

    double factr(double n)
    {
    double answer;

    if(n == 1) return (1);
    answer = factr(n - 1) * n;
    return (answer);
    }

    Скомпилировался удачно, но при исполнении выдает какую-то ошибку и закрывает выполнение после ввода переменных. Почему?
     
    #3934 Simon Fenix, 20 Mar 2012
    Last edited: 20 Mar 2012
  15. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    будет выдавать AccesS Violation или вроде того, и за variable "n".
    >&n передаешь адрес а дальше хз... что с ней там... попробуй что то с ней сделать
    будет время, посмотрю )
     
  16. NoMIL

    NoMIL New Member

    Joined:
    25 May 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Вот задачка
     
  17. Doc_Freemen

    Doc_Freemen New Member

    Joined:
    21 Mar 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    ребят, кто может помогите решить эти задачи по классам на visual studio
    Сколько не читал инфы про них, все равно ничего не понял, мозг вскипел уже...

    [/QUOTE]. Создать класс автомобилей. Описать поля: название авто (марка), цвет кузова, номер двигателя внутреннего сгорания, стоимость авто, год выпуска, число ремонтов. Описать метод вывода полей на экран с применением потокового вывода. Определить 3 объекта класса автомобилей. Ввести данные в объекты и подсчитать среднее число ремонтов для всех объектов. Отладить консольное приложение.

    2. Создать класс компьютеров (ЭВМ). Описать поля: название ЭВМ, поколение ЭВМ, сфера применения, страна-производитель, стоимость ЭВМ, год выпуска, объем памяти. Описать метод вывода полей на экран с применением потокового вывода. Определить 3 объекта класса ЭВМ: суперкомпьютер, мэйнфрейм, персональный компьютер. Определить компьютеры с максимальным объемом памяти. Отладить консольное приложение.

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

    4. Создать класс поликлиник. Описать поля: название поликлиники, ФИО главного врача, количество специалистов, число кабинетов, число больных, время работы. Описать метод вывода полей на экран с применением потокового вывода. Определить 2 объекта: платная, районная поликлиника. Определить, в какой поликлинике больше специалистов. Отладить консольное приложение.

    5. Создать класс поликлиник. Описать поля: название поликлиники, ФИО главного врача, количество специалистов, число кабинетов, число больных, время работы. Описать метод вывода полей на экран с применением потокового вывода. Определить 2 объекта: платная, районная поликлиника. Определить, в какой поликлинике меньше больных и больше кабинетов. Отладить консольное приложение.

    6. Создать класс продуктов. Описать поля: название продукта, вид продукта, число калорий в 100 г продукта, стоимость 1 кг продукта, дата изготовления продукта. Описать метод вывода полей на экран с применением потокового вывода. Определить 4 объекта: молочные, кондитерские, хлебобулочные, мясные продукты. Выдать сведения о наиболее калорийных продуктах. Отладить консольное приложение.

    7. Создать класс студентов. Описать поля: фамилия и инициалы, пол, возраст, номер группы, успеваемость (массив из 5-ти элементов – оценки по каждому предмету). Описать метод вывода полей на экран с применением потокового вывода. Определить 2 объекта: группу №1 и группу №2. Определить, в какой группе выше успеваемость. Отладить консольное приложение.

    8. Создать класс предприятий. Описать поля: ФИО директора, фонд предприятия, год основания предприятия, число работников предприятия. Описать метод вывода полей на экран с применением потокового вывода. Определить 3 объекта: предприятия легкой промышленности, мебельные фабрики и машиностроительные заводы. Отладить консольное приложение.
     
  18. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    class Sdudent
    {
    public:
    String fam;
    boolean sex;
    int age;
    int group;
    int marks[5];
    public:
    //Constructors
    student();/// <<это default constructor
    student(String,boolean,int,int,int);// <<это constructor с параметрами
    ///ниже описываешь методы
    void show();{cout<<"Familia :"<<fam<<"пол:"<<sex<<"возраст"<<age ...............................<<endl; }

    } И так далее.... написал чтоб хотя бы общее представление имел о том что тебе дальше делать
    PS
    на пары надо ходить ))
     
  19. Doc_Freemen

    Doc_Freemen New Member

    Joined:
    21 Mar 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    по первой задаче одногрупник накатал вот что :
    Code:
    #include "stdafx.h" #include <stdio.h> #include <locale.h> #include <iostream> using namespace::std; class avto 	{ 	public:  		char mark[8];//марка 		char color[8];//цвет 		int numDv;//номер двигателя 		int cena;//цена 		int data;//год выпуска 		int rem;//число ремонтов 		//int sum; 	void vvod()//функция ввода данных потоковым режимом 		{  	cout<<"Введите марку: "; cin>>mark; 	cout<<"Введите цвет: "; cin>>color; 	cout<<"Введите номер ДВС: "; cin>>numDv; 	cout<<"Введите цену: "; cin>>cena; 	cout<<"Введите год выпуска: "; cin>>data; 	cout<<"Введите количество ремонтов: "; cin>>rem; 		} 	void print1()//функция вывода на экран данных 		{ 		cout<<"\nАвто марки: "<<mark<<",цвет: "<<color<<",номер двигателя: "<<numDv<<"\n"; 		cout<<"цена: "<<cena<<",год выпуска: "<<data<<",число ремонтов: "<<rem<<"\n"; 		}   ~avto() {} };  int main() { 	setlocale(LC_CTYPE,"Russian"); 	int sred; 	avto Gruz;//объект класса "грузовой" 	 	avto Legk;//объект класса "легковой" 	Gruz.vvod();//вызов функции набора к объекту 	Legk.vvod(); 	sred= (Gruz.rem+Legk.rem)/2;//подсчитываем среднее значение ремонтов 	Gruz.print1();//вызов функции печати 	Legk.print1(); 	cout<<"среднее число ремонтов= "<<(sred); 	cin.get(); 	cin.get(); }
    , но там не работает функция ~avto() {} так же нужно реализовать в этой задаче конструкторы и деструкторы и установить уровни доступа. помогите исправить, вчера весь вечер проштудировал теорию и всеравно туплю...
     
    #3939 Doc_Freemen, 22 Mar 2012
    Last edited: 22 Mar 2012
  20. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    правильно он накатал !!
    так же нужно реализовать в этой задаче конструкторы и деструкторы
    ~avto() {} /// это и есть деструктор и он правильно работает
    //если хочешь увидеть когда именно он срабатывает то можно сделать так
    ~avto() {cout<<"Destructed"<<endl;}
    ---------------
    а так же напоминаю (хотя сомневаюсь что ты это знал)) )что деструктор и конструктор имеют тоже имя что и класс
    пример :
    class avto
    {
    public: ///а вот тут уровень доступа можно поставить public/privatе/protected/ о них не сложно почитать в теории.
    avto(){};//конструктор
    ~avto(){};//деструктор
    }
    class Zebra
    {
    public: ///а вот тут уровень доступа
    Zebra(){};////конструктор
    ~Zebra(){};//деструктор
    }
    --------
    если деструктор обычно оставляют пустым, то конструктор наоборот, надо "подготовить" переменные и выделить им память. или же просто дать им дефолтные значения.
    пример:
    class Man{
    public: ///а вот тут уровень доступа
    String name;
    int mass;
    int iq;
    public: ///а вот тут уровень доступа
    Man(){name="unnamed"; mass=70;iq=100;} //конструктор
    ~Man(){cout<<"Destructed"<<endl;} //Деструктор
    ---
    Man(String name_i,int mass_i,int iq_i){name=name_i; mass=mass_i;iq=iq_i ; }//Тоже конструктор но с параметрами name_i; mass_i; iq_i/
    }
     
    #3940 _visor_, 22 Mar 2012
    Last edited: 22 Mar 2012
Thread Status:
Not open for further replies.