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

Матрица с символами - C++

Восстановить пароль Регистрация
 
Mixonoid
Сообщений: n/a
26.04.2012, 23:37     Матрица с символами #1
Дана матрица 5х7, элементами которой являются значения символьного типа. Составить одномерный массив, содержащий количество символов ‘m’ в каждом из ее столбцов. Подсчитать количество символов ‘а’ над третьей строкой матрицы и общее количество символов ‘b’ и ‘z’ под третьей строкой.
Непонятно как посчитать количество m в столбцах, вторую часть задачи вроде бы знаю как делать, но с символьными массивами знаком плохо, так что при операциях с if вываливаются ошибки о неверном типе и непроизведенной инициализации. Буду рад любой помощи

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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
void main()
{
    setlocale(0,"rus");
 
char x[5][7],a[5],m;
int i,j,k;
 
for (i=0;i<5;i++)
    for (j=0;j<7;j++)
    {
    cin>>x[i][j];
    }
 
 
 
    for (i=0;i<5;i++)
    {
        for (j=0;j<7;j++)
        {
        cout<<x[i][j]<<" ";
               }
    cout<<endl;
           }
}
Добавлено через 31 минуту
Нашел решение, надо лишь доработать под себя:

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
76
77
78
79
80
81
82
83
84
85
//Дана матрица 5х7, элементами которой являются значения символьного типа.
//Составить одномерный массив, содержащий количество символов ‘m’ в каждом из ее столбцов. 
//Подсчитать количество символов ‘а’ над третьей строкой матрицы и общее количество символов ‘b’ и ‘z’ под третьей строкой.
 
#include "StdAfx.h"
#include<iostream>
#include<conio.h>
#include <iomanip>
#include<time.h>
 
using namespace std;
 
int   main ()
{
    setlocale(0,"Rus");
 
    time_t t ;
     srand(time(&t)) ; 
 
     const int row=5,col=7;
 
 
    char  matr[5][7] ; 
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<col;j++)
         {
             matr[i][j]=rand()%26+'a';
             cout << setw(4) <<matr [i][j] ; 
        }
        cout << endl ;
     }
    cout << endl ;cout << endl ;cout << endl ;
    int c=0; 
    int arr[20] ; 
    for(int j=0;j<col;j++)
    {
     for(int i=0;i<row;i++)
         {
              if(matr[i][j]=='m')
              {
                   c++ ; 
              }
         } 
     arr[j] = c;
     cout << setw(4)<<arr[j] ; 
     c=0;       
     }
    for(int i=0;i<row;i++)
    {
    for(int j=0;j<col;j++)
         {
               if (i<2)
               {
                     if( matr[i][j]=='a')
                     { c++;}
               }
         } 
     }
    cout << endl ; cout << endl ;cout << endl ;
     cout << " количество [ a ] над 3-й строкой ===>  " << c ; 
     int d=0; 
    // int f=0;
     
    for(int i=0;i<row;i++)
    {
    for(int j=0;j<col;j++)
         {
               if (i>2)
               {
                     if( matr[i][j]=='b'  || matr[i][j]=='z')
                     { d++;}
                     // if( matr[i][j]=='z') 
                     // {f++;}
               }
         } 
        
     }
    cout << endl ; cout << endl ;cout << endl ;
     cout << " общее количество [ b ] и [ z ] под 3-й строкой ===>  " << d ; 
    //  cout << " \n\n количество [ z ] под 3-й строкой ===>  " << f ; 
 
     getch (); 
     return 0 ; 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 23:37     Матрица с символами
Посмотрите здесь:

C++ Работа с символами
работа с символами C++
C++ рисование в консоли (не символами)
C++ Программа на работу с символами
Дополнить строку символами C++
C++ Работа с символами
Шифрование инверсными символами C++
C++ Работа с символами

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

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

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