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

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

Войти
Регистрация
Восстановить пароль
 
Flashik66
17 / 9 / 7
Регистрация: 05.11.2012
Сообщений: 119
#1

Объясните программу - C++

17.02.2013, 13:29. Просмотров 295. Ответов 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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    int m1[125];
    int m2[5][25];
    
 
    [B]srand(time(NULL));[/B]
 
    for(int i = 0; i < 125; i++)
        m1[i] = [B]rand() % 10;[/B]
 
    int count = 0;
 
    for( i = 0; i < 5; i++)
    {
        for(int j = 0; j < 25; j++, count++)
        {
            m2[i][j] = m1[count];
 
          [B]  std:[/B]:cout << std::[B]setw(3)[/B] << m2[i][j];
        }
 
        std::cout << std::endl;
    }
 
    std::cout << std::endl;
 
    for( i = 0; i < 5; i++)
        std::cout << [B]*(*(m2 + i) + 0) << std::[B]setw(10)[/B] << *(*(m2 + i) + 24) << std::endl;[/B]
 system("pause");
    return 0;
}
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 13:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните программу (C++):

Объясните программу - C++
Здравствуйте! Пожалуйста, объясните каждую строчку , что обозначает зачем и т.д(очень прошу подробно пожалуйста) и еще почему тут {n=m;...

объясните программу - C++
объясните программу, поподробней если можно. #include &lt;iostream.h&gt; #include &lt;math.h&gt; int main() { int z, i; double l,...

Объясните программу - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; int main () { const int size=10; ...

Объясните программу на С++ - C++
http://www.cyberforum.ru/cpp-beginners/thread209118.html взял отсюда #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...

Объясните пожалуйста программу !!! - C++
Попросил друга решить задачу по информатике - он решил. Мне завтра надо будет её преподавателю объяснять, а я не знаю - как она работает....

Объясните программу, пожалуйста! - C++
Привет всем! Мне нужна очень Ваша помощь. Вот есть программа, которая считает кол-во чисел, больше предыдущего, но я не понимаю, как она...

5
zss
Модератор
Эксперт С++
6532 / 6094 / 2007
Регистрация: 18.12.2011
Сообщений: 15,851
Завершенные тесты: 1
17.02.2013, 13:47 #2
srand(time(NULL)); - Инициализация датчика псевдослучайных чисел (чтобы каждый раз были разные числа)

m1[i] = rand() % 10; - остаток от деления на десять дает случайное число от 0 до 9

std::cout << std::setw(3) << m2[i][j];// setw(3) - точность вывода 3 знака
std::cout << *(*(m2 + i) + 0) << std::setw(10) << *(*(m2 + i) + 24) << std::endl; - это извращение можно
переписать так:
std::cout << m2[i][0] << std::setw(10) << m2[i][24] << std::endl;
1
DIEZEL-man
13 / 13 / 0
Регистрация: 17.02.2013
Сообщений: 54
17.02.2013, 13:49 #3
Цитата Сообщение от Flashik66 Посмотреть сообщение
srand(time(NULL));
Эта функция рандомно берет значение времени
Цитата Сообщение от Flashik66 Посмотреть сообщение
rand() % 10;
%10 - сколько рандомных чисел мы берем
Цитата Сообщение от Flashik66 Посмотреть сообщение
std
это стандарт, можно его не писать, а сверху записать после подключения библиотек просто "using namespace std;"

Цитата Сообщение от Flashik66 Посмотреть сообщение
setw(3)
количество отступов указывается в скобках, то есть пробелов
Надеюсь понятно
0
Sergey_B
163 / 163 / 14
Регистрация: 08.01.2013
Сообщений: 335
17.02.2013, 13:55 #4
Функция rand() - генерирует псевдослучайные числа. % 10 - задает диапазон чисел, из которого будет происходить генерация (в вашем случае от 0 до 9).
Функция srand() - задает функции rand() начальное число для генерации. В качестве аргумента ей передается текущее системное время в секундах (функция time() - описана в библиотеке <time.h> ), с параметром NULL (т.е. будет возвращать именно текущее время).
std - это пространство имен, почти все стандартные библиотеки C++ используют пространство имен std, именно поэтому практически всегда нужно писать using namespace std (хотя это не совсем правильно, используя using namespace вы значительно повышаете риски пересечения имён), либо вам придется каждый вызов функции из этих библиотек предворять префиксом пространства имен std::
Функция setw() - указывает количество пространства для следующей записи выводимой на экран. У вас setw(3) - выделит под вывод числа минимум 3 "места" (символа) , даже если вы будете выводить двузначное число (setw(10) - соответственно 10 "мест").
1
Flashik66
17 / 9 / 7
Регистрация: 05.11.2012
Сообщений: 119
17.02.2013, 14:45  [ТС] #5
и все же я не очень понимаю вот эти строки..задание должны быть с указателями. Расшифруйте пожалуйста...

*(*(m2 + i) + 0)
*(*(m2 + i) + 24)
0
zss
Модератор
Эксперт С++
6532 / 6094 / 2007
Регистрация: 18.12.2011
Сообщений: 15,851
Завершенные тесты: 1
17.02.2013, 21:08 #6
*(*(m2 + i) + 24) - это то же самое, что и m2[i][24]:
*(m2-i) - адрес нулевого элемента i-ой строки
*(m2-i)+24 - соответственно адрес 24-го элемента.
*(*(m2 + i) + 24) - значение этого 24-го.
0
17.02.2013, 21:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 21:08
Привет! Вот еще темы с ответами:

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int maximum (int mas, int i, int n) { int max; max = mas; for (i;...

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int maximum (int mas, int i, int n) { int max; max = mas; for (i;...

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #define NMAX 10 void VivMatrIStVersh (int g1, int n) { int i, j; ...

объясните пожалуйста эту программу - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #define M 10 void main() { int i,j,n,k; int m; ...


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

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

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