0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 27
1

Прокомментируйте пожалуйста

10.09.2013, 23:29. Показов 662. Ответов 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
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"
#include <iostream>
#include<math.h>
using namespace std;
 
int main()
{
    const int max = 4;
    int digits1[max] = {1, 2, 3, 4};
    int digits2[max] = {3, 4, 1, 2};
    int * p;
    int str, stolb;
    int i, j, k;
    cout << "Enter str: ";
    cin >> str;
    cout << "Enter stolb: ";
    cin >> stolb;
    int ** matrica = new int * [str]; 
    for(int i = 0; i < str; ++i)
    {    
    matrica[i] = new int[stolb];
    }
    for(int i = 0; i < str; ++i)
    {
        k = 0;
        p = i % 2 ? digits2 : digits1;
        for(int j = 0; j < stolb; ++j)
        {  
            matrica[i][j] = p[k++];
            if(k > max - 1)
         {
                k = 0;
         }
        }
     }
     for(int i = 0; i < str; ++i)
     {
        for(int j = 0; j < stolb; ++j)
        {
            cout << matrica[i][j] << " ";
        }
        cout << "\n";
      }
     for(int i = 0; i < str; ++i)
     {   
      delete [] matrica[i]; 
     }
     delete [] matrica;
    
     return 0; 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2013, 23:29
Ответы с готовыми решениями:

Прокомментируйте пожалуйста
#include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; void Yacoby(int**...

Прокомментируйте пожалуйста код
Объясните пожалуйста как работает данный кусок кода: template &lt;typename T&gt; Deque &lt;T&gt;...

Прокомментируйте код пожалуйста
#include&lt;iostream.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;graphics.h&gt; class Point {...

Прокомментируйте пожалуйста код
// Zadacha1.1.cpp: определяет точку входа для консольного приложения. ////Задано четырехзначное...

4
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
10.09.2013, 23:38 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"
#include <iostream>
#include<math.h>
using namespace std;
 
int main()
{
    const int max = 4;                          // константа
    int digits1[max] = {1, 2, 3, 4};            // массив digits1 из 4 элементов, каждый элемент - целое число (int)
    int digits2[max] = {3, 4, 1, 2};            // почти то же самое
    int * p;                                    // указатель на int
    int str, stolb;                             // две переменные целого типа
    int i, j, k;                                // ...
    cout << "Enter str: ";                      // запрос на ввод целого числа
    cin >> str;                                 // ввод целого числа
    cout << "Enter stolb: ";                    // ...
    cin >> stolb;                               // ...
    int ** matrica = new int * [str];           // matrica - указатель на указатель. динамическое выделение массива указателей
    for(int i = 0; i < str; ++i)                // цикл
    {    
    matrica[i] = new int[stolb];                // то же самое
    }
    for(int i = 0; i < str; ++i)
    {
        k = 0;
        p = i % 2 ? digits2 : digits1;
        for(int j = 0; j < stolb; ++j)
        {  
            matrica[i][j] = p[k++];
            if(k > max - 1)
         {
                k = 0;
         }
        }
     }
     for(int i = 0; i < str; ++i)
     {
        for(int j = 0; j < stolb; ++j)
        {
            cout << matrica[i][j] << " ";
        }
        cout << "\n";
      }
     for(int i = 0; i < str; ++i)
     {   
      delete [] matrica[i]; 
     }
     delete [] matrica;
    
     return 0; 
}
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 27
10.09.2013, 23:41  [ТС] 3
Спасибо. Это то понятно. Интересуют блоки циклов. Кто может комментните.
0
2641 / 2218 / 238
Регистрация: 03.07.2012
Сообщений: 8,047
Записей в блоге: 1
10.09.2013, 23:50 4
Коль понятно, чего сам не прокомментировал? Мало приятного тратить свое время, помогать и получать в ответ : "это я знаю, это понятно, я разобрался, мне надо другое..."
1
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
11.09.2013, 01:15 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
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
#include "stdafx.h"
#include <iostream>//Подключение библиотеки input-output stream(std::cout, std::cin и т.д.)
#include<math.h>//Подключение библиотеки математических функций(например sin, cos, tan и т.д.)
using namespace std;//Вообще, using namespace - использование пространства имён... или, использование идентификатора std(дабы не писать каждый раз std::cin, std::cout, а сразу, cout, cin и т.д.)
 
//Главная функция
int main()
{
    const int max = 4;//Константа
    int digits1[max] = {1, 2, 3, 4};//Целочисленный массив из 4-х элементов, которые описаны в {---}
    int digits2[max] = {3, 4, 1, 2};//...
    int * p;//Переменная, являющаяся указателем на int
    int str, stolb;//Целочисленные переменные
    int i, j, k;//...
    cout << "Enter str: ";//Вывод на экран сообщения о том, что вводится в данный момент
    cin >> str;//Получение из консоли значения в переменную str
    cout << "Enter stolb: ";//...
    cin >> stolb;//...
    int ** matrica = new int * [str];//Объявление двухмерного динамического массива и объявление, сразу же, размерность массива указателей(т.е. данный массив является массивом указателей на указатели)
    for(int i = 0; i < str; ++i)//Цикл от 1-го числа до того, которое пользователь не ввёл в переменную str
//Циклы в C++ начинаются с нуля, по этому и объявлено, что цикл от 0 до тех пор, пока меньше str.
/Циклическая переменная i с каждым проходом будет увеличиваться на единицу(++i/i++)
    {    
    matrica[i] = new int[stolb];//Выделение памяти под новый столбец матрицы
//грубо говоря-изначально было задано кол-свто элементов строки, теперь же, идёт объявление кол-ство элементов в столбце(вспомните, как объявляются обычные матрицы)
    }
    for(int i = 0; i < str; ++i)//...
    {
        k = 0;//... думаю-вопросов быть не должно...
        p = i % 2 ? digits2 : digits1;//а вот тут, я не совсем понял... Может быть, получение указателей на элементы массивов digits2 и digits1... честно-не могу сказать...
//по моему-проще было бы тогда использовать уж 1 массив, но с размерностью в 8 элементов(судя по программе, если я правильно её понял...)...
        for(int j = 0; j < stolb; ++j)//...
        {  
            matrica[i][j] = p[k++];//Объявление значения элемента матрицы, как p[k+1 - ый]
            if(k > max - 1)//Идёт проверка, если k уже больше пред-последнего элемента p, тогда в элемент матрицы будет заносится 1-й элемент(опять же, счёт начинается с нуля)
         {
                k = 0;//...
         }
        }
     }
     for(int i = 0; i < str; ++i)//...
     {
        for(int j = 0; j < stolb; ++j)//...
        {
            cout << matrica[i][j] << " ";//Вывод на экран значение каждого элемента матрицы
        }
        cout << "\n";//Переход на след. строку. Однако, я бы лучше написал так: cout<<endl(end_line)
      }
     for(int i = 0; i < str; ++i)//...
     {   
      delete [] matrica[i];//Удаление из памяти i-й столбец 
     }
     delete [] matrica;//Удаление исходной строки(удаление массива указателей на указатели)
    
     return 0;//... 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2013, 01:15
Помогаю со студенческими работами здесь

Прокомментируйте, пожалуйста рекурсию
Нашел в сети код прохождения доски шахм. конем. разобраться не очень получилось, помогите...

Прокомментируйте пожалуйста прогу
#include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; float...

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

Прокомментируйте каждую строчку пожалуйста
#include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; int func(int n) { if (n == 0)...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru