Консультация # 188977: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Помогите, пожалуйста, нужно написать функцию, вот условие: даны строки S и S0. Удалить из строки S первую подстроку, совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений. Прототип функции char funcstr(char *s, char *s0) ...Консультация # 188975: Здравствуйте! Прошу помощи в следующем вопросе: Помогите, пожалуйста, переделать функцию char *bintodec(char* , char* ) так, чтобы не использовать стандартные функции. Заранее благодарен за помощь!
...Консультация # 188976: Здравствуйте! Прошу помощи в следующем вопросе: Помогите исправить ошибку при компиляции проекта. скачать файл laba1_prog.zip [14.6 кб]Проект прилагаю. Среда разработки VS Express2010 Заранее спасибо....Консультация # 188982: Здравствуйте! Прошу помощи в следующем вопросе: Разработать
приложение, которое состоит из библиотеки DLL и программы использующей эту библиотеку с помощью явной загрузки библиотеки в память. В библиотеке находится функция выполняющая задание: Создать программу проверяющую находится ли точка А(X,Y) внутри прямоугольника, заданого координатам...
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Помогите, пожалуйста, нужно написать функцию, вот условие: даны строки S и S0. Удалить из строки S первую подстроку, совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений. Прототип функции char funcstr(char *s, char *s0)
Здравствуйте! Прошу помощи в следующем вопросе: Помогите, пожалуйста, переделать функцию char *bintodec(char* , char* ) так, чтобы не использовать стандартные функции. Заранее благодарен за помощь!
Здравствуйте, Пользователь из России! 1) В функции make_fraction необходимо создавать fraction динамически, возвращать указатель. Локальная структура fraction создается в стеке и при выходе теряется. 2) Все динамические объекты необходимо уничтожать, когда они уже не нужны. 3) В модуле fraction.cpp не были указаны необходимые include-ы Плюс закомментировал некоторые лишние вызовы. Это не ошибки, просто лишняя работа. laba_main.cpp
#include "fraction.h"
#include <iostream>
using namespace std;
fraction* make_fraction(double F, int S)
{
fraction *t=new fraction; //создали временную переменную
t->Init(F,S); //инициализировали поля переменной t с помощью параметров функции
return t; //вернули значение переменной t
}
//5. Изменить текст функции main()
void main()
{
int i;
//определение переменных А и В
fraction A;
fraction B;
A.Init(3.0,2); //инициализация переменной А
B.Read(); //ввод полей переменных В
A.Show(); //вывод значений полей переменной А
B.Show(); //вывод значений полей переменной В
//вывод значения степени, вычисленного с помощью функции Power()
cout<<"A.Power("<<A.first<<","<<A.second<<")="<<A.Power()<<endl;
cout<<"B.Power("<<B.first<<","<<B.second<<")="<<B.Power()<<endl;
//указатели
fraction *X=new fraction;//выделение памяти под динамическую переменную
X->Init(2.0,5);//инициализация
X->Show();//вывод значений полей
/*X->Power();*///вычисление степени
cout<<"X.Power("<<X->first<<","<<X->second<<")="<<X->Power()<<endl;
delete X;
//массивы
fraction mas[3];//определение массива
for (i=0;i<3; i++)
mas[i].Read();//чтение значений полей
for (i=0;i<3; i++)
mas[i].Show(); //вывод значений полей
for (i=0;i<3; i++)
{
/*mas[i].Power();*/ //вычисление степени
cout<<"mas["<<i<<"].Power("<<mas[i].first<<","<<mas[i].second<<")=";
cout<<mas[i].Power()<<endl;
}
//динамические масивы
fraction* p_mas=new fraction[3];//выделение памяти
for (i=0;i<3; i++)
p_mas[i].Read();//чтение значений полей
for (i=0;i<3; i++)
p_mas[i].Show();//вывод значений полей
for (i=0;i<3; i++)
{
p_mas[i].Power();//вычисление степени
cout<<"p_mas["<<i<<"].Power("<<p_mas[i].first<<","<<p_mas[i].second;
cout<<")="<<p_mas[i].Power()<<endl;
}
delete [] p_mas;
//вызов функции make_fraction()
double y; int z;
cout<<"first?";cin>>y;
cout<<"second?";cin>>z;
//переменная F формируется с помощью функции make_fraction()
fraction *F=make_fraction(y,z);
F->Show();
delete F;
}
#include "fraction.h"
#include <iostream>
#include <math.h>
using namespace std;
//реализация метода для инициализации полей структуры
void fraction::Init(double F, int S)
{
first=F; second=S;
}
//реализация метода для чтения значений полей структуры
void fraction::Read()
{
cout<<"\nfirst?"; cin>>first;
cout<<"\nsecond?";cin>>second;
}
//реализация метода для вывода значений полей структуры
void fraction::Show()
{
cout<<"\nfirst="<<first;
cout<<"\nsecond="<<second;
cout<<"\n";
}
//метод для возведения в степень
double fraction::Power()
{
return pow (first, second);
}
Разработать приложение, которое состоит из библиотеки DLL и программы использующей эту библиотеку с помощью явной загрузки библиотеки в память. В библиотеке находится функция выполняющая задание: Создать программу проверяющую находится ли точка А(X,Y) внутри прямоугольника, заданого координатами левого верхнего (X1,Y1) и правого нижнего углов (X2,Y2) или на одной из его сторон.
#include "windows.h"
#include "iostream"
using namespace std;
typedef int (__cdecl *PISIN)(POINT *A, POINT *P1, POINT *P2);
int main()
{
PISIN pIsIn = NULL;
HINSTANCE h = LoadLibrary("CmpPoints.dll");
if (!h)
{
cout << "Can't find CmpPoints.dll" << endl;
return -1;
}
pIsIn = (PISIN) GetProcAddress(h,"IsIn");
if (!pIsIn)
{
cout << "Error in CmpPoints can't find func IsIn" << endl;
return -2;
}
POINT a = {1,1};
POINT p1 = {0,2};
POINT p2 = {2,0};
int result = pIsIn(&a,&p1,&p2);
cout<< "result = " << result << endl;
return 0;
}
Не забудьте скопировать созданную CmpPoints.dll в нужное место И надеюсь, как создать DLL, вопросов нет?
Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 19.03.2016, 15:38
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!