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

С++ напишите, что делает каждая строчка в этом коде?! - C++

Восстановить пароль Регистрация
 
Максим199409
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 7
23.09.2013, 21:14     С++ напишите, что делает каждая строчка в этом коде?! #1
1. Постановка задачи.

Написать перегруженные функции и основную программу, которая их вызывает:
а) для вычитания целых чисел;
б) для вычитания комплексных чисел.

2. Текст программы.

C++
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
 
struct compl
{
    double Im, Re;
};
double chislo (compl Im1, compl Im2, compl Re1, compl Re2)
{
    compl i, ii;
    i.Im=Im1.Im-Im2.Im;
    ii.Re=Re1.Re-Re2.Re;
    cout<<ii.Re<<"+"<<i.Im<<"*i";
    return 0;
}
double chislo (int a, int b)
{
    return a-b;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    compl Im1,Im2,Re1,Re2;
    int a,b;
    cout<<"Введите мнимую часть первого числа: Im1=";
    cin>>Im1.Im;
    cout<<"Введите реальную часть первого числа: Re1=";
    cin>>Re1.Re;
    cout<<"Первое комплексное число:"<<endl<<Re1.Re<<"+"<<Im1.Im<<"*i"<<endl;
    cout<<"Введите мнимую часть второго числа: Im2=";
    cin>>Im2.Im;
    cout<<"Введите реальную часть второго числа: Re2=";
    cin>>Re2.Re;
    cout<<"Первое комплексное число:"<<endl<<Re2.Re<<"+"<<Im2.Im<<"*i"<<endl;
    cout<<"Результат вычитания:"<<endl;
    chislo (Im1,Im2,Re1,Re2);
    cout<<" "<<endl;
    cout<<"Введите: а=";
    cin>>a;
    cout<<"Введите: b=";
    cin>>b;
    cout<<"Результат вычитания:"<<chislo (a,b)<<endl;
    system ("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Крюгер
 Аватар для Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 409
Записей в блоге: 3
23.09.2013, 21:41     С++ напишите, что делает каждая строчка в этом коде?! #2
C++
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"  //---- предварительно откомпиленный заголовок в ms studio 
#include <iostream> //---
#include <cstdlib>   //---- прочий инклуд
#include <conio.h> //-----
 
using namespace std; //---пространство имен стд
 
struct compl   //---структура данных
{
    double Im, Re;
};
double chislo (compl Im1, compl Im2, compl Re1, compl Re2)  //---- первая функция работы с числом по видимому
{
    compl i, ii;
    i.Im=Im1.Im-Im2.Im;
    ii.Re=Re1.Re-Re2.Re;
    cout<<ii.Re<<"+"<<i.Im<<"*i";
    return 0;
}
 
double chislo (int a, int b) //----вторая функция
{
    return a-b;
}
 
int _tmain(int argc, _TCHAR* argv[])  //---- главвная ф-я
{
    setlocale(LC_ALL, "Russian");  //-- настройка локали
    compl Im1,Im2,Re1,Re2;
    int a,b;
    cout<<"Введите мнимую часть первого числа: Im1=";   //---вывод строки
    cin>>Im1.Im;
    cout<<"Введите реальную часть первого числа: Re1=";
    cin>>Re1.Re;
    cout<<"Первое комплексное число:"<<endl<<Re1.Re<<"+"<<Im1.Im<<"*i"<<endl;
    cout<<"Введите мнимую часть второго числа: Im2=";
    cin>>Im2.Im;
    cout<<"Введите реальную часть второго числа: Re2=";
    cin>>Re2.Re;
    cout<<"Первое комплексное число:"<<endl<<Re2.Re<<"+"<<Im2.Im<<"*i"<<endl;
    cout<<"Результат вычитания:"<<endl;
    chislo (Im1,Im2,Re1,Re2);
    cout<<" "<<endl;
    cout<<"Введите: а=";
    cin>>a;
    cout<<"Введите: b=";
    cin>>b;
    cout<<"Результат вычитания:"<<chislo (a,b)<<endl;
    system ("pause");
    return 0;  //---возвращает 0
}
Максим199409
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 7
23.09.2013, 21:52  [ТС]     С++ напишите, что делает каждая строчка в этом коде?! #3
а вот с этим кодом разберетесь? :


C++
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int sum (int a, int m[])
 {
     int s=0;
     for (int i=0; i<a; i++)
     {
        s=s+m[i]*m[i+1];
        i=i+1;
     }
     return s;
 }
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "Russian");
    int mas[]={1,2,7,14,10,4,6,30,46,74,12,20,5,4,4};
    cout<<"Сумма S1="<<sum (8,mas)<<endl;
    cout<<"Сумма S2="<<sum (10,mas)<<endl;
    cout<<"Сумма S3="<<sum (12,mas)<<endl;
    system ("pause");
    return 0;
}
Крюгер
 Аватар для Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 409
Записей в блоге: 3
23.09.2013, 22:15     С++ напишите, что делает каждая строчка в этом коде?! #4
Максим199409, выделяйте код тегами пожалста

Добавлено через 4 минуты
C++
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;  //---пространство имен стд
 
int sum (int a, int m[])  //-- функция сдожения где 1 аргумент является числом, а второй почему то массивом
{
int s=0; //--- переменная целочисленного типа
for (int i=0; i<a; i++)  //---простейший цикл for ... 
{
s=s+m[i]*m[i+1];   //--перебираем массив
i=i+1;
}
return s; //---возвращение значения
}
 
int _tmain(int argc, _TCHAR* argv[])  //---точка входа , как многие пишут
{
setlocale (LC_ALL, "Russian");   //--настройка русской локали
int mas[]={1,2,7,14,10,4,6,30,46,74,12,20,5,4,4};  //---инициализация массива
cout<<"Сумма S1="<<sum (8,mas)<<endl;   ///----вывод результата
cout<<"Сумма S2="<<sum (10,mas)<<endl;
cout<<"Сумма S3="<<sum (12,mas)<<endl;
system ("pause");  //--используется для того чтоб окно не закрывалось
return 0;
}
PS код нубский честно говоря, я бы так делать не стал
Максим199409
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 7
23.09.2013, 22:16  [ТС]     С++ напишите, что делает каждая строчка в этом коде?! #5
C++
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int sum (int a, int m[])
{
int s=0;
for (int i=0; i<a; i++)
{
s=s+m[i]*m[i+1];
i=i+1;
}
return s;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "Russian");
int mas[]={1,2,7,14,10,4,6,30,46,74,12,20,5,4,4};
cout<<"Сумма S1="<<sum (8,mas)<<endl;
cout<<"Сумма S2="<<sum (10,mas)<<endl;
cout<<"Сумма S3="<<sum (12,mas)<<endl;
system ("pause");
return 0;
}
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
23.09.2013, 23:17     С++ напишите, что делает каждая строчка в этом коде?! #6
Максим199409, по поводу первой задачи. Расписать там можно хоть каждую строку, только вот реализация немного хромает. Комплексное число там объявлено как структура и состоит из реальной и мнимой части. То есть разность двух комплексных чисел должна быть разностью двух структур, а не четырех, как это сделано в этой программе. В данном случае программа написана так, что можно спокойно вообще выкинуть структуру из кода и пользоваться только отдельными числами Im1, Im2, Re1 и Re2. Чтобы структура действительно была задействована в этой программе - её необходимо немного изменить.
C++
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
 
struct compl
{
    double Im, Re;
};
 
double chislo (compl Com1, compl Com2)
{
    compl i, ii;
    i.Im=Com1.Im-Com2.Im;
    ii.Re=Com1.Re-Com2.Re;
    cout<<ii.Re<<"+"<<i.Im<<"*i";
    return 0;
}
 
double chislo (int a, int b)
{
    return a-b;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    compl Compl1, Compl2;
    int a,b;
    cout<<"Введите мнимую часть первого числа: ";
    cin>>Compl1.Im;
    cout<<"Введите реальную часть первого числа: ";
    cin>>Compl1.Re;
    cout<<"Первое комплексное число:"<<endl<<Compl1.Re<<"+"<<Compl1.Im<<"*i"<<endl;
    cout<<"Введите мнимую часть второго числа: ";
    cin>>Compl2.Im;
    cout<<"Введите реальную часть второго числа: ";
    cin>>Compl2.Re;
    cout<<"Второе комплексное число:"<<endl<<Compl2.Re<<"+"<<Compl2.Im<<"*i"<<endl;
    cout<<"Результат вычитания:"<<endl;
    chislo (Compl1, Compl2);
    cout<<" "<<endl;
    cout<<"Введите: а=";
    cin>>a;
    cout<<"Введите: b=";
    cin>>b;
    cout<<"Результат вычитания:"<<chislo (a,b)<<endl;
    system ("pause");
    return 0;
}
Найдите 10 отличий.
Yandex
Объявления
23.09.2013, 23:17     С++ напишите, что делает каждая строчка в этом коде?!
Ответ Создать тему
Опции темы

Текущее время: 07:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru