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

Прокомментировать код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы http://www.cyberforum.ru/cpp-beginners/thread1123667.html
Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы, чтение из файла и запись в файл. Помогите кто может, хотя бы описать класс и чтение, запись в файл, определитель сам сделаю.
C++ Сортировка массива структур через сортировку массива указателей Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: #include "stdafx.h" #include <iostream> #include <string.h> #include <time.h> #include <memory.h> #include <memory> http://www.cyberforum.ru/cpp-beginners/thread1123663.html
Построить класс для работы с датой C++
Добрый день товарищи, очень нужна помощь, буду благодарен каждому ответу. Задание: Постpоить класс для работы с датой. Класс должен включать следующие поля: число, месяц, год, день недели. Класс должен обеспечивать пpостейшие методы для pаботы с полями класса: изменение значе-ний, вывод значений.
C++ Вывод дробной части
Всем привет. Проблема собственно такая, не получается вывести дробную часть стороны треугольника, т.е 4,5(выводит только 4) уже не выводит, менял тип переменных, тип вычисления на float, высчитывает но почему-то длина стороны получается еще меньше чем в первом случае(при выводе целой части). Помогите, в чем проблема? вот код: #include <iostream.h> #include <math.h> #include <stdio.h> int...
C++ Сформировать вектор D (n) из произведений абсолютных ненулевых значений соответствующих строк матрицы http://www.cyberforum.ru/cpp-beginners/thread1123609.html
Задана матрица целых чисел A(n×n). Все числа-палиндромы, расположенные на главной диагонали, заменить суммой цифр модуля минимального элемента соответствующего столбца матрицы. Сформировать вектор D(n) из произведений абсолютных ненулевых значений соответствующих строк матрицы.
C++ Как сделать голосовой поток вывода? Ну то есть скармливаешь ему строку оператором <<, а он её читает через динамики. Как это сделать? подробнее

Показать сообщение отдельно
alucard115
10 / 1 / 1
Регистрация: 07.05.2013
Сообщений: 67

Прокомментировать код - C++

19.03.2014, 10:47. Просмотров 353. Ответов 9
Метки (Все метки)

Здравствуйте! Пожалуйста, как можно яснее откомментируйте коды программ, очень нужно для понимания, чтобы разобраться.. пожалуйста..

1 задача
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <locale> 
 
using namespace std;
 
double minElem(double *arr, int n);
double summElem(double *arr, int n);
 
int main() {
    int n = 0;
    
    setlocale(0, "rus");
    srand((unsigned)time(NULL));
 
    cout << "Введите количество элементов: ";
    cin >> n;
 
    double *arr = new double [n];
    
    for(int i = 0; i < n; i++) {
         arr[i]=rand() % 20 - 10;
        cout << " [" << i << "] = ";
        cout << arr[i];
    }
    cout << "\n Минимальный элемент: " << minElem(arr, n) << endl;
    cout << "\n Сумма элементов: " << summElem(arr, n) << endl;
    delete [] arr;
    
    system("PAUSE");
    return 0;
}
 
double minElem(double *arr, int n) 
{
    double min = arr[0];
 
    for(int i = 1; i < n; i++) {
        if(arr[i] < min)
            min = arr[i];
    }
    return min;
}
 
double summElem(double *arr, int n)
{
    double summ = 0.0;
    bool flag = false;  // Флаг
    int begin = 0;
    int end = 0;    
 
    for(int i = 0; i < n; i++) {
        if(arr[i] < 0 && !flag) {
            begin = i;
            flag = true;
        }
        else if(arr[i] < 0 && flag) {
            end = i;
            break;
        }
    }
    
    for(int i = begin + 1; i < end; i++) {
        summ += arr[i];
    }
    return summ;
}
2 задача
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <iostream>
#include <string>
#include <cstdlib>
#include <locale> 
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
     
    std::ifstream ifs("text.txt");  //Теперь открываем
       if(!ifs.is_open()){std::cerr<<"File not found"; return 1;} //если файл уже успели удалить, то exit
        int i = 0;
        std::string s;
        while(getline(ifs,s,'"'))       {      //Читаем слова где есть кавычки
                if(i%2) std::cout<<s<<"\n";
                i+=1;
        }
        system("PAUSE");
        ifs.close(); //Закрываем файл
}
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
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# include <iostream>
# include <stdlib.h>
# include <string.h>
# include <time.h>
#include<windows.h>
 
using namespace std;
 
struct TRAIN
{
    char item[15];
    int number;
    char time[6];
};
 
void zap(TRAIN *tr,int count)
{
    
    
    cout<<"------ Информация для "<<count++<<" поезда ----------------------"<<endl;
    cout<<"Введите пункт назначения : ";
    cin>>tr->item;
    
    cout<<"Введите номер поезда : ";
        cin>>tr->number;
    cout<<"Введите время прибытия  ( ЧЧ : ММ )  : ";
        cin>>tr->time;
    cout<<"----------------------------"<<endl;
    
}
 
void sort(TRAIN *tr, int &n)
           {
 TRAIN p;
 
  cout<<"Сортирока по номерам поездов произведена"<<endl;  
  
 //for(int i=0; i<n; i++)
  for(int j=0; j<(n-1); j++)
   {
       if (tr[j].number>tr[j+1].number) 
    {
           p=*(tr+j);
           *(tr+j)=*(tr+j+1);
           *(tr+j+1)=p;
    }
 
   }
}
 
 
void main()
{
    TRAIN inf[6];
    int count;
    int n=6;
    int i;
    int nom;
    bool flag=false;
    char otv[3] ;
    char otv1[3];
    char zn[3]="да";
 
    setlocale(LC_ALL,"rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    count=0;
 
    while(count<n)
        zap(&inf[count++],count);
 
    cout<<"Введите номер поезда для которого вы хотите получить информацию : ";
        cin>>nom;
for (i=0;i<6;i++)
 
        if (inf[i].number==nom)
        {
          
  flag=true;
            cout<<"----------------------------"<<endl;
            cout<<"Пункт назнаения : "<<inf[i].item<<endl;
            cout<<"Номер поезда : "<<inf[i].number<<endl;
            cout<<"Время прибытия : "<<inf[i].time<<endl;
            cout<<"----------------------------"<<endl;
        }
        if (flag==false)
        cout<<"Информации по вашему запросу не найдено!"<<endl;
cout<<"Хотите ли произвести сортировку базы по номеру поезда\nда/нет"<<endl;
cin>>otv;
if (*otv==*zn)
{
    sort(inf,n);
    for (i=0;i<6;i++)
     {
        cout<<"----------------------------"<<endl;
        cout<<"Пункт назнаения : "<<inf[i].item<<endl;
        cout<<"Номер поезда : "<<inf[i].number<<endl;
        cout<<"Время прибытия : "<<inf[i].time<<endl;
        cout<<"----------------------------"<<endl;
    }
}
else 
cout<<"Вывести на информацию о поездах?"<<endl;
cin>>otv1;
 
 
if (*otv1==*zn)
    for (i=0;i<6;i++)
     {
        cout<<"----------------------------"<<endl;
        cout<<"Пункт назначения : "<<inf[i].item<<endl;
        cout<<"Номер поезда : "<<inf[i].number<<endl;
        cout<<"Время прибытия : "<<inf[i].time<<endl;
        cout<<"----------------------------"<<endl;
    }
 system("PAUSE");
}
Помогите пожалуйста..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru