Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 27

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

10.09.2013, 23:29. Показов 1021. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
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** m, int* s, int it); int...

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

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

4
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
10.09.2013, 23:38
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  [ТС]
Спасибо. Это то понятно. Интересуют блоки циклов. Кто может комментните.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
10.09.2013, 23:50
Коль понятно, чего сам не прокомментировал? Мало приятного тратить свое время, помогать и получать в ответ : "это я знаю, это понятно, я разобрался, мне надо другое..."
1
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
11.09.2013, 01:15
Кликните здесь для просмотра всего текста

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2013, 01:15
Помогаю со студенческими работами здесь

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

Прокомментируйте, пожалуйста рекурсию
Нашел в сети код прохождения доски шахм. конем. разобраться не очень получилось, помогите пожалуйста!void chessknight(int k) { c++; ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru