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

Разветвляющиеся алгоритмы. Одномерные массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить целочисленную матрицу http://www.cyberforum.ru/cpp-beginners/thread668293.html
Доброго времени суток, прощу помощи не могу понять тему про матрицы... Сильно не кричите:) Получить целочисленную матрицу Aij i=1...5 j=1....6 , для которой Aij=i+2j Думал два часа, ничего не придумал, конспект перечитал два раза...:( Вот что получилось с каких-то найденных данных (что делал, не знаю:wall:) #include <iostream.h> #include <stdlib.h> #include <time.h>
C++ алгоритм Шелла как увеличить скорость этого алгоритма Шелла в 2 раза .... Где-то читал про Сортировку методом Шелла-Кнута. Кнут просто подобрал номера h для увеличения скорости сортровкы. Но я не знаю сделать методом Шелла-Кнута. / * Метод Кнута h (k-1) = 3 * h (k) +1, h (t) = 1, где h (i) - шаг сортировки, t = ln (n) / ln (3) -1 - число шагов сортировки, n - длина списка * / http://www.cyberforum.ru/cpp-beginners/thread668288.html
C++ Определить, сумма цифр является четным или нечетным числом
С клавиатуры вводится натуральное число. Определить, сумма его цифр является четным или нечетным числом.
Разрядность чисел C++
К примеру я ввожу число :1245 (разрядность 4), 123 (разрядность 3) и так далее Нужно реализовать именно рекурсивно. Вот что и я написала но явно криво, понятно что нужен счетчик. #include <iostream> #include <conio.h> using namespace std; int i=0; int rozriad(int n){ int b; b=n%10;
C++ Как выглядеть оператор, если по номеру дня недели необходимо написать его название http://www.cyberforum.ru/cpp-beginners/thread668255.html
Оператор выбора switch. Написать пример, как будет выглядеть этот оператор, если по номеру дня недели необходимо написать его название.
C++ Как шифруются ЕХЕ файлы? Как можно зашифровать ЕХЕ файл? Самым простым способом(думаю мне его хватит). Кстати, на С++... Дело в том, что я понятия не имею как это все происходит! А ище, реально шифровать так, что бы антивирусы на него не ругались? (шифровать собираюсь не вирусы). подробнее

Показать сообщение отдельно
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
11.10.2012, 11:59     Разветвляющиеся алгоритмы. Одномерные массивы
Про слонов: извращения с изображением доски
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
/*
1.Определить, угрожает ли слон, расположенный на поле (n1,m1) шахматной доски,
фигуре, расположенной на поле (n2,m2). (n1,m1, n2,m2 – натуральные числа от 1 до 8).
*/
 
#include <iostream>
 
void ShowField(const int N1, const int M1, const int N2, const int M2, const int N, const int M)
{
    if ((M == M1) && (N == N1))
        std::cout << "B ";
    else if ((M == M2) && (N == N2))
        std::cout << "P ";
    else if ( ((M - M1) == (N - N1)) || ((M1 - M) == (N - N1)) )
        std::cout << "* ";
    else
        std::cout << ". ";
}
 
void ShowBoard(const int N1, const int M1, const int N2, const int M2)
{
    std::cout << "nm 1 2 3 4 5 6 7 8 " << "\n\n";
    for (int n = 1; n <=8; ++n)
    {
        std::cout << n << "  ";
        for (int m = 1; m <= 8; ++m)
            ShowField(N1,M1,N2,M2,n,m);
        std::cout << '\n';
    }
    std::cout << '\n';
}
 
int main(void)
{
    setlocale(0, "rus");
 
    int n1, m1, n2, m2;
    std::cout << "Слон находится на поле: " << '\n';
    std::cout << "n1 = "; std::cin >> n1;
    std::cout << "m1 = "; std::cin >> m1;
    std::cout << "Фигура находится на поле: " << '\n';
    std::cout << "n2 = "; std::cin >> n2;
    std::cout << "m2 = "; std::cin >> m2;
    std::cout << "\n\n";
    
    ShowBoard(n1,m1,n2,m2);
 
    std::cout << "Слон" << ( ((m2-m1) == (n2-n1)) ? " " : " не " ) << "угрожает фигуре" << '\n';
    system("pause");
    return 0;
}
Добавлено через 18 минут
Ну и вторая задача в довесок:
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
/*
2.Сформировать целочисленный массив X (N),
элементами которого являются случайные числа
из диапазона [–3..3]. Определить, сколько раз
в нем встретилось два подряд идущих нулевых элемента.
*/
 
#include <iostream>
#include <algorithm>
 
// (rand() % 7) вернёт случайное число от 0 до 6
// (-3) - получим случайное число от -3 до 3.
int getRand(void) { return rand() % 7 - 3; }
 
bool equalToZero(int a, int b)
{
    return ((a == 0) && (b == 0));
}
 
const int N = 20;
 
int main(void)
{
    setlocale(0, "rus");
 
    int Array[N];
    std::generate(Array, Array + N, getRand);
    std::cout << "Массив: ";
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
    std::cout << '\n';
 
    int * p = Array;
    int cnt = 0;
    while (p < Array + N)
    {
        p = std::adjacent_find(p, Array + N, equalToZero);
        if (p != Array + N)
            ++cnt;
        ++p;
    }
    std::cout << "Два подряд идущих нулевых элемента встретилось " << cnt << " раз" << std::endl;
    system("pause");
    return 0;
}
 
Текущее время: 04:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru