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

Найти все столбцы поля, все непрозрачные кубики которых невидимы для наблюдателя, расположенного слева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Слова, в которых встречается первая и последняя буквы предыдущего слова http://www.cyberforum.ru/cpp-beginners/thread614498.html
задан текст.вывести все слова из этого текста ,в которых встречается первая и последняя буквы предыдущего слова,причём не обезательно подрят
C++ Найти сумму отрицательных значений элементов матрицы В программировании я еще новичок, при выполнении опирался на помощь одногрупников, но по причине болезни пропустил занятия по теме многомерные массивы. Вот стараюсь сам заполнить пробелы, но что то... http://www.cyberforum.ru/cpp-beginners/thread614484.html
Скажите в чем разница между Visual C++ и обычным C++, и с какого следует начать, если я знаю только Паскаль C++
Скажите в чем разница между Visual C++ и обычным C++, и с какого следует начать, если я знаю только Паскаль
Переменная не инициализирована C++
Всем привет решил написать простенький класс.Вот обьявление: #pragma once #include <iostream> #include <windows.h> using namespace std; #define UNLEN 256 class Name{ public: Name();
C++ Что означает std в с++? http://www.cyberforum.ru/cpp-beginners/thread614448.html
например, std::cin>>a?
C++ Заменить большее из двух данных чисел удвоенным произведением Составить программу , заменяющую большее из двух данных чисел удвоенным произведением,а меньшее полусуммой этих чисел. подробнее

Показать сообщение отдельно
drychok
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 11

Найти все столбцы поля, все непрозрачные кубики которых невидимы для наблюдателя, расположенного слева - C++

26.06.2012, 18:53. Просмотров 786. Ответов 10
Метки (Все метки)

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

Вот код программы, но он не рабочий посмотрите пожалуйста в чем дело
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
#include <algorithm> 
#include <iterator> 
#include <iostream> 
#include <iomanip> 
#include <cstdlib> 
#include <ctime> 
 
using namespace std; 
 
int main() { 
    srand(time(0)); 
 
    int n, m; 
    cout << "размеры поля (n m)? "; 
    cin >> n >> m; 
 
    cout << "\nслучайная расстановка ящиков\n" 
            "(0 - прозрачный, 1 - непрозрачный):\n\n"; 
    for (int c = 1; c <= m; ++c) cout << setw(3) << c; 
    cout << endl << setw(3 * m) << setfill('-') << "" << setfill(' ') << endl; 
 
    bool **field = new bool *[n]; 
    for (int r = 0; r < n; ++r) { 
        field[r] = new bool[m]; 
        generate_n(field[r], m, [](){ return rand() % 5 == 0; }); 
        cout << "  "; 
        copy(field[r], field[r] + m, ostream_iterator< bool >(cout, "    ")); 
        cout << endl; 
    } 
 
    int *first_opaque = new int[n]; 
    for (int r = 0; r < n; ++r) { 
        first_opaque[r] = find(field[r], field[r] + m, true) - field[r]; 
    } 
 
    cout << "\nискомые столбцы:"; 
    for (int c = 1; c < m; ++c) { 
        bool have_opaque = false; 
        bool all_invisible = true; 
        for (int r = 0; r < n; ++r) { 
            if (field[r][c]) { 
                have_opaque = true; 
                if (c <= first_opaque[r]) { 
                    all_invisible = false; 
                    break; 
                } 
            } 
        } 
        if (have_opaque && all_invisible) cout << " " << c + 1; 
    } 
    
    return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru