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

Работа с пользовательскими функциями на языке С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Измерение времени переключения контекста http://www.cyberforum.ru/cpp-beginners/thread1008800.html
Кто может подсказать, какими способами это возможно реализовать в Windows? Есть ли способы, не прибегая к ассемблеру? Есть мысли на счет включения таймера, затем принудительной смены контекста ф-цией SwitchToThread() и завершения таймера. Но, думаю, это не самое умное, да и точное. Или хотя бы кого мне почитать?:)
C++ задача про ip и классы Описать класс IP-адрес. Для него перегрузить операции <,>, ==, !=(Подробно реализовать лишь <, остальные реализовать с её использованием), « , ». Операция сравнения должна работать так: один IP-адрес считается больше другого, если его подсеть первого больше подсети второго. Считать что маска подсети 255.255.255.0. В файле input.txt находятся IP-адреса(корректные). Считать их из файл и ... http://www.cyberforum.ru/cpp-beginners/thread1008787.html
Как назвать переменную зная её String C++
Например есть у нас массив из трех стрингов. {a b c}. Я такой считываю и хочу что бы первый символ "в данном случае а" обозвал новую переменную. т.е. string a="11". Т.е. я хочу в 'a' записать новые переменные. Пример" {axy} 1111/11+11= ax/x+y=>a/x=1y string a = "1111"; string x="11"; string y="11";
C++ Аналог функции window() из conio.h
Нужен аналог этой функции для Win консоли. То есть нужна функция, которая устанавливает активное окно в консоли (ну тоесть часть экрана) для вывода текста.
C++ Дешифровка в алгоритме RC5-16/4/4 http://www.cyberforum.ru/cpp-beginners/thread1008773.html
В общем, алгоритм стандартный, сделан по книжке Рона Райвеста, проверял уже десять раз, но ошибку так и не нашел. Дешифрованный текст не совпадает с исходным (введенным). Собственно в этом и проблема. Ключ - 1477956085, открытый текст - 242336034. Надеюсь на вашу помощь. Заранее спасибо. #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream> #include <stdlib.h>...
C++ a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b. подробнее

Показать сообщение отдельно
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
16.11.2013, 00:39     Работа с пользовательскими функциями на языке С++
Попытаюсь объяснить попроще.Оставим на будущее указатели,массивы,структуры и т.д.В вашем случае.Представте себе кастрюлю и сковородку где вы можете сварить суп и приготовить что то еще.Продукты одни и те же но блюда получатся разные их можно и смешать.Кастрюля и сковородка это и есть наши функции.Инградиенты(продукты) это наши переменные.Мы говорим,что в кастрюле мы варим суп,а на сковородке котлеты.Это то,что будут выдавать наши функции.Понятно,что из кастрюли мы сможем взять только суп,но не суп и автомобиль и пылесос.Что имеется в кастрюле никак не может оказаться на сковородке.Это к тому,что все переменные в теле функции так в ней и останутся,выйдет только то что мы укажем т.е результат нам же это нужно.Просмотреть наши переменные в теле функции мы можем с помощью оператора cout сколько угодно,результат вывести return но только один.Смотрим ваш код.
C++
1
2
3
float x111, x112, x113, x114, x121, x122, x123, x124, x131, x132, x133, x134, x141, x142, x143, x144, alpha ;
float w111, w112, w113, w114, w121, w122, w123, w124, w131, w132, w133, w134, w141, w142, w143, w144;
float y11, y12, y13, y14;
куча переменных объявлена глобольно и нигде не используются за исключением
C++
1
float y11, y12, y13, y14;
которые объявлены еще и в int main()Функции
C++
1
float function1_sloy1  (float S11, float S12, float S13, float S14, float f11, float f12, float f13, float f14)
принимать нечего.Т.е вы собрались варить суп,а принесли кучу железок.Здесь
C++
1
2
3
4
x111=88.8;     x112= 88.8;        x113=88.8;     x114=88.8;                       w111=0.42;   w112=0.4; w113=0.5;     w114=0.6;
x121=400;          x122=400;              x123=400;         x124=400;                         w121=0.09;  w122=0.3;  w123=0.2;     w124=0.2;
x131=21.6;           x132=21.6;           x133=21.6;         x134=21.68;                          w131=0.17;   w132=0.2;  w133=0.2;    w134=0.15;
x141=80;                x142=80;          x143=80;         x144=80;
у вас что то инициализировано,но никто не знает что это.Тип переменных не указан.Далее
C++
1
2
3
4
S11=x111*w111+x121*w121+x131*w131+x141*w141;
S12=x112*w112+x122*w122+x132*w132+x142*w142;
S13=x113*w113+x123*w123+x133*w133+x143*w143;
S14=x114*w114+x124*w124+x134*w134+x144*w144;
Тоже тип не известен,но все строчки делают одно и то же т.е пусть это будет не S11,S12...... а S = a * b + c * d + x * y + m * n.У вас это выполняется 4 раза.Напишем одну функцию и будем вызывать ее столько сколько нам нужно,а данные вводить либо с клавиатуры либо как у вас как угодно.Объявление функции будет выглядеть так.
Тип возвращаемого значения//имя функции//то что мы хотим принимать
C++
1
float Summ (float a,float b,float c,float d,float x,float y,float m,float n)
Наша функция будет
C++
1
2
3
4
5
6
float Summ (float a,float b,float c,float d,float x,float y,float m,float n)
{
float  S = 0;//объявили переменную и обнулили
 S = a * b + c * d  + x * y + m * n;//указали что нужно делать с принятыми переменными
return S;//вернули результат
}
Но лучше так результат будет один и тот же но нагляднее
C++
1
2
3
4
float Summ (float a,float b,float c,float d,float x,float y,float m,float n)
{
return a * b + c * d  + x * y + m * n;//указали что нужно делать с принятыми переменными и вернули результат
}
Аналогично
C++
1
2
3
4
5
6
7
8
9
10
float function1_sloy1 (float a)
{
float alpha= 0.9;
return -0.5+1 / (1 + exp(-1 *alpha *a));
}
float function2_sloy2 (float a)
{
float alpha= 0.5;
return (-0.5+1 / (1 + exp(-1 *alpha *a)));
}
Вызываем в мейне
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
 
{
float y11 = 0, y12 = 0, y13 = 0;
float x111=88.8,w111=0.42,x121=400,w121=0.09,x131=21.6,w131=0.17,w133=0.2,x141=80;
 
 y11=Summ ( x111,w111,x121,w121, x131,w131,x141,w133);
 y12 = function1_sloy1 (y11);
 y13 = function2_sloy2 (y11);
 cout <<y11<< endl;
 cout <<y12<< endl;
 cout <<y13<< endl;
 system("pause");
 return 0;
 }
Как то так.Возможны опечатки писал в окне.Возможны и не точности подправте ,но я понимаю так.Результат не знаю какой,но работать будет.
 
Текущее время: 12:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru