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

Двумерный массив (подсчитать количество звездочек) - C++

Восстановить пароль Регистрация
 
Vista54
Сообщений: n/a
10.05.2013, 15:38     Двумерный массив (подсчитать количество звездочек) #1
Доброго времени суток, товарищи программисты. Я учусь на программиста, и вот перед мной встала такова задача. Которую я не могу преодолеть.
Задача: Написать двумерный массив символьного типа из звездочек и точек, в рендомном порядке, и подсчитать количество звездочек в массиве. Условие: Если звездочки идут подряд, в рядке или строке то считать их как одну.
Я вот что наработал:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <time.h>
using namespace std;
 
void main()
{
char a[20][20];
int n;
srand(time(NULL));
for (int i=0;i<20; i++)
{
for(int j=0; j<20; j++)
{
n=rand()%2;
if (n==1) a[i][j]='.'; else a[i][j]='*';
cout<<a[i][j];
}
cout<<endl;
}
}
Выводиться двумерный массив, из звездочек и точек.
Дальше проблема.
Думаю сделать что бы через условие, если идет подряд 2 звездочки, то считай как одну, и переписывай массив, до тех пор, когда массив совсем не упроситься.
 
А есть еще идея удалять те которые идут подрят по одной.
 
Еще вот что с кодом придумал, но не знаю как его оформить правильно. Буду заранее благодарен!!!
сhar temp[20] = a[1];
int stars = 0;
bool on_star = false;
for (i=0;i<20;i++)
if (temp[i] == '*' && !on_star){stars++;
on_star = true;}
 
if (temp[i] == '.'
on_star = false; 
 
Так же есть вариант:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    char a[20][20];
    int n;
    srand(time(NULL));
    for (int i=0;i<20;i++)
    {
        for(int j=0;j<20;i++)
    {
    n=rand()%2;
    if(n==1) a[i][j]='.'; 
    else a[i][j]='*';
        }
    }
 
      int starCout=0;
    for (int i=0;i<20;i++)
    {
        if(a[i][0]=='*')
        {
            int startCout;
            startCout++;
        }
        for (int j=0;j<20;j++)
        {
            if(a[i][j]=='*' && a[i][j-1]!=a[i][j])
            {
                startCout++;
            }
        }
    }
    return 0;
}

Всеравно не выходит
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 15:38     Двумерный массив (подсчитать количество звездочек)
Посмотрите здесь:

C++ Дано двумерный массив.Подсчитать произведение всех чисел, которые находятся ниже главной диагонали
C++ Реализовать двумерный динамический треугольный массив. Количество строк и сами элементы вводит пользователь. Количество элементов в строке рассчитывае
Ввести двумерный массив 4*4, подсчитать кол-во (+) и (-) элементов и вывести статистику по строкам, сколько (+), сколько (-) и подсчитать общую сумму C++
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
C++ Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
C++ Двумерный массив: подсчитать произведение одной и второй диагонали
C++ Посчитать количество звездочек в каждой строке
Создать двумерный массив и подсчитать C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru