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

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

Войти
Регистрация
Восстановить пароль
 
Neotwalker
21 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 140
#1

Месса. Подсчитать общее количество рукопожатий. - C++

17.07.2014, 08:49. Просмотров 404. Ответов 3
Метки нет (Все метки)

Хорошей частью Римской католической мессы является обряд мира, когда люди обмениваются рукопожатием со своими соседями и говорят: "мир вам". Мирко нашел способ превратить этот ритуал в свою пользу.
Внутри церкви есть R рядов скамеек, в каждом ряду может сидеть не более S человек. Мы можем представить это как матрицу R х S, где каждый элемент представляет собой либо человека или пустое место. Предположим, что каждый человек пожимает руки всем своим соседям. Это означает, что соседи находятся в одном из восьми соседних элементов (если такой элемент существует):
Название: 28782.png
Просмотров: 43

Размер: 4.5 Кб
Дано расположение сидящих людей внутри церкви в момент, когда Мирко входит. Мирко, конечно, опоздал на утреннюю мессу и может выбрать такое свободное место, чтобы пожать руку как можно большему числу людей. Если свободных мест не осталось, Мирко просто откажется от этой идеи и придет на вечернюю мессу вместо этого. Предположим, что никто не входит в церковь после Мирко.
Рассчитайте общее количество рукопожатий данных в течение утренней мессы.
Первая строка входного файла содержит натуральные числа R и S (1 ≤ R, S ≤ 50), как указано в тексте.
Каждая из следующих строк R содержит S символов. Эти R х S символы представляют расположение людей на скамейках. Символ '.' (точка) представляет собой пустое место, символ 'o' (строчная латинская буква о) представляет собой человека.
Первая и единственная строка вывода должна содержать общее количество рукопожатий.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2014, 08:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Месса. Подсчитать общее количество рукопожатий. (C++):

Подсчитать общее количество цифр и количество единиц в строке - C++
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество цифр и количество единиц в строке. Если в...

Подсчитать общее количество полученных результатов - C++
Есть задача: "Написать программу, которая выводит на экран все "счастливые" номера трамвайных билетов и подсчитывает их общее количество." ...

Подсчитать общее количество «счастливых» билетов - C++
Подсчитать общее количество «счастливых» билетов. Билет имеет шестизначный номер и является счастливым, если сумма первых трех цифр равна...

Подсчитать общее количество букв в заданном тексте - C++
в заданном тексте подсчитайте общее кол-во букв "х" и "у" помогите пожалуйста(

Подсчитать общее количество строчных латинских и русских букв - C++
Дана строка. Подсчитать общее количество содержащее в ней строчных латинских и русских букв. #include <iostream> using namespace std; ...

Подсчитать общее количество букв в словесной записи чисел от 1 до 1000 - C++
Вопрос терзает меня. Подскажите почему не получается... хм, не получается получить правильный ответ )) Суть задачи. посчитать сумму букв...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
17.07.2014, 09:26 #2
Neotwalker, ну если я все посчитал правильно, то будет как то так. Не отрицаю, что можно и проще
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
#include <iostream>
 
using namespace std;
 
int getHello(int **a, int n, int m, int i, int j)
{
    int summ = 0;
    if (i < n-1)
    {
        if (j > 0 && a[i+1][j-1] != 0) summ++;
        if (a[i+1][j] != 0) summ++;
        if (j < m-1 && a[i+1][j+1] != 0) summ++;
    }
    if (j < m-1 && a[i][j+1] != 0) summ++;
    return summ;
}
 
int main()
{
    int n, m;
    cin >> n >> m;
    int **arr = new int*[n];
    for (int i = 0; i < n; i++)
        arr[i] = new int[m];
    for (int i = 0; i < n; i++)
    {
        cout << "Line " << i << endl;
        for (int j = 0; j < m; j++)
            cin >> arr[i][j];
    }
    int summ = 0;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
    {
        if (arr[i][j] != 0) summ += getHello(arr, n, m, i, j);
    }
    cout << "Result: " << summ << endl;
    return 0;
}
Neotwalker
21 / 1 / 0
Регистрация: 22.12.2013
Сообщений: 140
17.07.2014, 09:41  [ТС] #3
Спасибо, но вот как вводить по примеру?
Вот пример ввода:
Пример ввода 1

2 3
..o
o..

Пример вывода 1

2
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
17.07.2014, 09:48 #4
Neotwalker, я делал в формате 1 - человек есть, 0 - человека нет. Можно в принципе изменить тип массива arr на символьный и прописать свои символы для обозначения наличия человека
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 09:48
Привет! Вот еще темы с ответами:

Подсчитать общее количество содержащихся в строке строчных латинских и русских букв - C++
помогите сделать задачу по С++ дана строка. подсчитать общее колличество содержащихся в ней строчных латинских и русских букв. ...

Подсчитать общее количество строчных латинских и русских букв, содержащихся в строке - C++
Visual Studio 2013 Проблема в том , что не выводит количество В чем ошибка? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

Подсчитать общее количество цифр и знаков '+', ' -', и '*', входящих во вводимую с клавиатуры строку - C++
Задача: Подсчитать общее количество цифр и знаков '+', ' -', и '*', входящих во вводимую с клавиатуры строку. /*Подсчитать общее...

Не используя массивы, подсчитать во введенной строке символов общее количество цифр и букв S - C++
Как сделать эти программы без массива? Во введенной строке символов подсчитать общее количество цифр и букв S. С++ через Unicode ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.07.2014, 09:48
Ответ Создать тему
Опции темы

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