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

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

Войти
Регистрация
Восстановить пароль
 
Vanek_velik
Сообщений: n/a
#1

Помоги разобравться с нескольками прогами - C++

20.06.2012, 11:55. Просмотров 248. Ответов 2
Метки нет (Все метки)

Объясните, какие действия выполняет каждая строка в 6 программах.

№1.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
....
int add(int n, int m) {return n + m;}
int divi(int n, int m) {return n / m;}
int mult(int n, int m) {return n * m;} 
int subt(int n, int m) {return n - m;}
void main() {
    setlocale(0,"");
    int (*par)(int, int);       
    int a = 6, b = 2;    char c = '+';
    while (c != ' ') { 
    cout << "\n Аргументы: а = " << a <<", b = " << b;
    cout << ".  Результат для с = \'" << c << "\'" << " равен ";
    switch (c)
    { 
        case '+': par = add;  c = '/'; break;
        case '-': par = subt; c = ' '; break;
        case '*': par = mult; c = '-'; break;
        case '/': par = divi;  c = '*'; break;
     }
    cout << (a = (*par)(a,b));
....
№2

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
....
//Определение типа указателя на функцию
typedef float(*pointFunc)(float);
//Определение функции для вычисления корня
float root(pointFunc F, float A, float B, float EPS) {      
 x*x-1
   float x, y, c, Fx, Fy, Fc;
   x=A; y=B;
   Fx=(*F)(x);                                              
   Fy=(*F)(y);                                              
   if(Fx*Fy > 0.0) {
          cout << "\nНеверен интервал локализации";
        exit(1);        //Аварийное завершение программы
      }
   do {
         c=(y + x)/2;       
         Fc=(*F)(c);        
         if (Fc*Fx > 0) {x=c; Fx=Fc;} else {y=c; Fy=Fc;}
      } while (Fc != 0 && y-x > EPS);
   return c;
}
#include<math.h>
//Определение тестовой функции y = x * x – 1
float testfunc(float x) {
    float test=x*x-1;//не работает формула ниже
    return test/*x * x – 1*/;
}
void main() {
    setlocale(0,"");
    float root(pointFunc, float, float, float);         //Прототип
    float result1,result2;
   result1 = root(testfunc, 0, 2, 1e-5);
   result2 = root(testfunc, -2, 0, 1e-5);
   cout << "\nКорени тестовой функции: " << result1 << ' ' << result2;
....
№3

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
...
void main() { 
   double z = 123456.;
   double& sz = z;
   double* pz = &z;    
   double& ssz = sz;
   cout << "\nz = " << z << "\tsz = " << sz << "\t*pz = " << *pz << "\tssz = " << ssz;
   z = 654321.;
   cout << "\nz = " << z << "\tsz = " << sz << "\t*pz = " << *pz << "\tssz = " << ssz;
   z = 0;
   cout << "\nz = " << z << "\t\tsz = " << sz << "\t\t*pz = " << *pz << "\t\tssz = " << ssz;
....

№4

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
using namespace std;
void changePtr(double *a, double *b) {
    double c = *a; *a = *b;  *b = c;
}
void changeRef(double& x, double& y) {
   double z = x; x = y;  y = z;
}
void main() {
   double d = 1.23; double e = 4.56;
   changePtr(&d, &e);       
   cout << "\nd = " << d << "\te = " << e;
   changeRef(d, e);         
   cout << "\nd = " << d << "\te = " << e;
....
№5

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
....
int& rmax(int n, int d[])   {
    int im = 0;
    for (int i = 1; i < n; i++)       im = d[im] > d[i] ? im : i;
   return d[im];
}
void main() {
    int n = 4;
    int x[] = {30,20,10,40};
    cout << "\nrmax(n,x) = " << rmax(n,x);
    rmax(n,x) = 0;
    for (int i = 0; i < n; i++)
    cout << "   x[" << i << "] = " << x[i];
....
№6

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
....
//Функция возводит в куб значение параметра и возвращает его адрес
double& rcube(double& z)
{
    z=z*z*z;
    return z;
}
//Функция изменяет знак параметра и возвращает его адрес
double& rinvert(double& d)
{
    d = d*(-1);
    return d;
}
//Функция возвращает адрес параметра с максимальным значением
double& rmax(double& x, double& y)
{
    return (x>y)?x:y;
}
//Функция печатает значение параметра и возвращает его адрес
double& rprint(char* name, double& e)
{  
   cout << name << e;
   return e;
}
void main()
{ 
   double a = 11.0, b = 18.0;
   //cout << rmax(a,b) << '\t' << rinvert(rmax(a,b)) << '\t' << rcube(rinvert(rmax(a,b)));
 
   rprint("\nrcube (rinvert (rmax (a,b))) = ",
            rcube(rinvert(rmax(a,b)))) = 0.0;
   cout << "\na = " << a << '\t' << "b = " << b; // вывести a и b
   rcube(rinvert(rmax(a,b))) = 0.0;
   cout << "\na = " << a << '\t' << "b = " << b; // вывести a и b
...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 11:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помоги разобравться с нескольками прогами (C++):

Задачка почти на смекалку, помоги те же решить - C++
мне тут задание досталось: придумайте примеры синтаксически правильных констукций на языке С++,в которых рядом находилось бы ровно одна,...

Помоги сделать по информатике задачу, что-то у меня ничего не выходит - C++
http://cs402725.userapi.com/v402725339/3f40/qf8x7sAxJhs.jpg

Combobox c нескольками колонками - C#
Народ, как мне в Combobox сделать несколько колонок(столбцов)?

Преобразование цепи с нескольками источниками - Электротехника
подскажите пожалуйста, можно ли в схеме считать, что R1 || R2 и другой вариант R2 || R3?

Глюки с прогами - Windows 7
Друзья, иногда встречаю во такие проблемки, что при запуске некоторых прог выходят такие окошки. А потом сама прога запускается. ...

Помогите пожалуйста с 2 прогами - Turbo Pascal
Пожалуйста помогите сделать 2 простый проги 1 в Turbo Pascal 2 в Borland Delphi 1. Составить агоритм, разработать и отладить в среде...

2
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
20.06.2012, 12:00 #2
Цитата Сообщение от Vanek_velik Посмотреть сообщение
Объясните, какие действия выполняет каждая строка в 6 программах.
Ну мааааааам!
0
Vanek_velik
Сообщений: n/a
20.06.2012, 12:02 #3
Цитата Сообщение от Jtalk Посмотреть сообщение
Ну мааааааам!
Я просто напросто не успею разобраться самостоятельно =(((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 12:02
Привет! Вот еще темы с ответами:

Не удаляется ВИРУС никакими прогами! - Удаление вирусов
Win7 64bit Антивирус AVG Internet Security 2013 Лицензия Нашел 70 штук руткитов по этому адресу C:\Windows\System32\Drivers\spqf.sys...

Логи сканов компа прогами AVZ и HijackThis - Удаление вирусов
Доброго времени суток. Сделал вроде всё правильно. Проверил CureIt, прогнал AVZ и HijackThis, Rsist... вобщев как писал при входе в...

Как сделать ISO операционки вместе с прогами - Windows XP
Хочу сделать ISO операционки вместе с прогами. Но есть один нюанс, о котором я не подумал - ось стоит на на диске С, а на диске D....

какими прогами можно следить за температурой видеокарты в реальном времени? - Видеокарты
Всем привет! Подскажите какими прогами можно следить за температурой видеокарты в реальном времени? Видеокарта Nvidia 9600GT. Рива тюнер не...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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