Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.47 Mб
Скачать

2) While

While отличается от for-а тем, что для него можно задавать только условие. Синтаксис условия полностью идентичен if-овскому.

В качестве примера можно привести программу переводящую число из десятичной системы счисления в двоичную:

1

2

3

4

5

6

7

8

9

cin >> n;

 if (n == 0) cout << "0";

 while (n > 0)

{

    cout << n % 2;

    n = n / 2;

}

Правда число будет выведено задом на перед, но это можно будет исправить. О том, как это сделать поговорим на последующих уроках.

Кстати, стоит упомянуть о том, что циклы могут быть вложенными, для более лучшего понимания скомпилируйте у себя следующий код:

1

2

3

for (int i = 1; i <= 7; i = i + 1)

 for (int j = 1; j <= 7; j = j + 1)

  cout << "i = " << i << ", j = " << j << "\n";

Ну и напоследок, программа находящая все шестизначные «счастливые» билеты:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# include <iostream>

using namespace std;

int main ()

{

    for (int a = 1; a <= 9; a = a + 1)

     for (int b = 0; b <= 9; b = b + 1)

      for (int c = 0; c <= 9; c = c + 1)

       for (int d = 0; d <= 9; d = d + 1)

        for (int e = 0; e <= 9; e = e + 1)

         for (int f = 0; f <= 9; f = f + 1)

          if (a + b + c == d + e + f)

           cout << a << b << c << d << e << f << "\n";

 

    system("pause");

 

    return 0;

}

На этом все, спасибо!

C++. Урок 8. Массивы

Опубликовано 16.11.2012 автором admin

В сем привет! Сегодня поговорим о массивах.

Предыдущие уроки доступны здесь.

Массив — это набор однотипных переменных. Все элементы пронумерованы начинается с нуляПример создания массива:

1

int array[10];

Мы создаем массив типа integer длиной в 10 элементов, которые пронумерованы от 0 до 9 (включительно). К каждому элементу массива можно обратиться, написав сначала имя, затем индекс(номер) элемента в квадратных скобках «[ ]«.

Пример:

1

2

3

4

int array[15];

cin >> a[0] >> a[1];

int cnt = a[0] + a[1];

cout << cnt;

Индекс элемента всегда целое положительное число. Если в ходе работы программы вы будете обращаться к несуществующему элементу массива, то программа прекратит свою работу.

Элемент массива всегда такого же типа, что и сам массив. Исключений и особенностей нет.

Массивы по своей структуре очень похожи на одномерный отрезок:

1

2

3

int a[14];

for (int i = 0; i < 14; ++i)

cin >> a[i];

Скажем мы ввели числа:

14, 78, 26, -98, 1, 0, 14, 9, 3, 456, 12, 71, -21, 0

Тогда наш массив можно представить в виде отрезка a[0, 14):

Точки соответствую индексам.

Но иногда одного индекса недостаточно, поэтому во всех языках программирования реализована возможность создания многомерных массивов.

Двумерный массив очень похож на таблицу, трехмерный массив схож с параллелепипедом.  Пример работы с двумерным массивом:

1

2

3

4

5

6

7

8

9

10

11

12

int a[10][10];

 

for (int i = 0; i <= 9; ++i)

 for (int j = 0; j <= 9; ++j)

  a[i][j] = i * j;

 

for (int i = 0; i <= 9; ++i)

{

    for (int j = 0; j <= 9; ++j)

     cout << a[i][j];

    cout << «\n»;

}

Первый индекс - это длина таблицы, второй - высота.

В трехмерном случае добавляется третий индекс, который будет шириной.

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

# include <iostream>

using namespace std;

int n, a[1000][1000], k;

int main ()

{

    int n;

 

    cin >> n;

 

    for (int i = 1; i <= (n + 1) >> 1; ++i)

    {

        for (int j = i; j <= n - i + 1; ++j)

         a[i][j] = ++k;

        for (int j = i + 1; j <= n - i + 1; ++j)

         a[j][n - i + 1] = ++k;

        for (int j = n - i; j >= i; --j)

         a[n - i + 1][j] = ++k;

        for (int j = n - i; j > i; --j)

         a[j][i] = ++k;

    }

 

    for (int i = 1; i <= n; ++i)

    {

        for (int j = 1; j <= n; ++j)

         cout << a[i][j] << " ";

        cout << "\n";

    }

 

    system ("pause");

 

    return 0;

}

Программа выведет таблицу n x n заполненную числами от 1 до n*n по спирали.

I hope it was interesting. Thanks! =)

Следующая статья будет о функциях.

C++. Урок 9. Функции

Опубликовано 23.11.2012 автором admin

Как и обещал урок будет о функциях.

О предыдущих уроках вы можете узнать тут.

Как вы наверно знаете, до этого мы использовали только стандартные функции C++. Теперь мы научимся создавать свои функции.

1) Что — такое функция. Стандартные функции

Функция — это последовательность операций и других функций, к которой можно обращаться из любой части кода.

Например стандартные функции max() и min().

Если посмотреть на языки программирования в общем, то помимо функций есть и процедуры.

Они отличаются от функций тем, что не возвращают никакого значения. Т.е к ним нельзя приравнивать переменные.

В C++ таких различий нет, так что мы будем называть процедуры функциями.

Пример работы с функциями max() и min():

1

2

3

4

cin >> a >> b;

maximum = max(a, b);

minimum = min(a, b);

cout << maximum << " " << minimum << "\n";

Эти функции возвращают значения минимума и максимума соответственно.

Пример функции-процедуры — swap():

1

2

3

4

5

int a, b;

cin >> a >> b;

cout << a << " " << b << "\n";

swap (a, b);

cout << a << " " << b << "\n";

swap() меняет местами значения двух переменных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]