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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Арканоид http://www.cyberforum.ru/cpp-beginners/thread553085.html
Мне нужен готовый Арканоид для студии с использованием классов и графики. Желательно, не сложный. Может ли кто-нибудь поделиться?)
C++ Нужно сделать статический и динамический вывод данных в этой программе.... #include<iostream> #include<iomanip> #include<math.h> using namespace std; class d { public: http://www.cyberforum.ru/cpp-beginners/thread553083.html
Записать в файл структуру типа «Товары на складе» C++
Ребят, передо мной была поставлена такая задача: Записать в файл структуру типа «Товары на складе» с полями { название товара закупочная цена товарная наценка } Написать программу, выполняющую следующие действия: * Уценяет на 20% все товары, которые дороже заданной цены. * Выводит товары в порядке возрастания розничной цены.
C++ Неработает конструктор опирование
Не работает конструктор копирования , и ещё нужен конструктор с параметром ,плз #include "stdafx.h" #include <iostream> class Stack { struct Node //элемент стека { int d; Node *p;//ссылка на следующий элемент стека
C++ почему линейная зависимость обменов и сравнений у сортировки обменом http://www.cyberforum.ru/cpp-beginners/thread553074.html
нужно ответить на вопрос, почему линейная зависимость у графика сортировки обменом сравнений от обменов, скрин программы прилагается
C++ Шаблоны! Спроектировать шаблон класса, созданного в лабораторной работе 2, в соответствии со своим вариантом. В основной программе создать соответствующие структуры простых (например, список чисел и строк) и сложных данных (например, список объектов другого класса) и продемонстрировать работу с ними. вот есть готовый класс: 1)класс текст #include <iostream> using namespace std; class Text {... подробнее

Показать сообщение отдельно
Heretiqu3
10 / 10 / 2
Регистрация: 19.04.2012
Сообщений: 20
20.04.2012, 12:00     Необходимо каждый элемент массива сравнить с его 8 соседями и если он больше, чем любой из элементов с которыми сравнивается, его распечатать.
Цитата Сообщение от Koss Посмотреть сообщение
Спасибо большое, но не могли бы вы немного пояснить некоторые строчки кода:



Добавлено через 2 часа 11 минут
с первой строчкой разобрался, с утра чтот не то подумал конкретно процесс сравнения поясните, если незатруднит.
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 <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    srand(static_cast<unsigned int>(time(0)));
    rand();
    const int X = 10;
    const int Y = 15;
    int ar[10][15];
    for (int i = 0; i < X; ++i)
    {
        for (int j = 0; j < Y; ++j)
        {
            ar[i][j] = (1 + rand() % 9);
            cout << ar[i][j];
        }
        cout << endl;
    }
    cout << endl;
    for (int i = 0; i < X; ++i)
    {
        for (int j = 0; j < Y; ++j)
        {
            int k = (i - 1); //
            int t = (j - 1); // устанавливаем на верхнего левого соседа
            bool count = true;
            for (; k < i+2; ++k) // бежим по соседям i-1, i, i+1
            {
                for (; t < j+2; ++t) // бежим по соседям j-1, j, j+1
                {
                    if (((k >= 0) && (k < X)) && ((t >= 0) && (t < Y))) // если не вышли за границу массива
                    {
                        if (( (k != i) || (t != j))) // если сравниваемый элемент не он же
                        {
                            if (ar[i][j] <= ar[k][t]) // пока проверяющееся значение больше или равно соседнему, проверяем дальше, если нет - выходим из цикла
                            {
                                count = false;
                                break;
                            }
                        }
                    }
                }
                t -= 3; // сдвиг, ничего оригинальнее не придумал
            }
            if (count) // если все соседи меньше, выводим
            {
                cout << i << " " << j << " " << ar[i][j] <<  endl;
            }
 
        }
    }
 
    return 0;
}
вчера криво написал, сейчас работает как надо
 
Текущее время: 13:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru