Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 3
1

Определить, что в i-ом столбце матрицы число латинских букв не меньше числа пробелов

23.03.2016, 21:33. Показов 1068. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана символьная матрица размера mxn, нужно получить последовательность b1...bn из 0 и 1, в котором bi=1, тогда когда в i-ом столбце число латинских букв(больших и маленьких) не меньше числа пробелов. на языке С++ кто сможет плз.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2016, 21:33
Ответы с готовыми решениями:

Определить число латинских букв в строке
Я не знаю как сделать эту задачу. Прошу помочь.

Найти в каждом столбце матрицы G элементы, которые больше числа А и меньше числа С
Привет. Помогите написать программку Найти элементы в каждом столбце матрицы G размером 7х4,...

Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С
Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С....

Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С
Найти элементы в каждом столбце матрицы G размером 7х4, которые больше числа А и меньше числа С....

6
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
23.03.2016, 21:52 2
Объясни поподробнее условие, пожалуйста, и скажи, такая символьная матрица сойдет?
Миниатюры
Определить, что в i-ом столбце матрицы число латинских букв не меньше числа пробелов  
0
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
23.03.2016, 22:03 3
Лучший ответ Сообщение было отмечено Бахтияр21 как решение

Решение

По названию я это сделал:
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
#include <iostream>
#define NOMINMAX
#include <Windows.h>
#include <conio.h>
#include <random>
#include <iomanip>
#include <ctime>
 
void line(int size_M) {
    for (int i = 0; i < (size_M * 4 + 1); i++)
        std::cout << "=";
    std::cout << "\n";
}
 
void cinNum(int& var, char const * text) {
 
    int intLimit = std::numeric_limits<int>::max();
 
    std::cout << text;
    while (!(std::cin >> var) || (std::cin.peek() != '\n')) {
        std::cin.clear();
        std::cin.ignore(intLimit, '\n');
        std::cout << text;
    }
    std::cin.ignore(intLimit, '\n');
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    std::default_random_engine randomEngine(time(NULL));
    std::uniform_int<int> randomNum(0, 70);
 
    const char characters[] =
        "0123456789!@#$%^&* ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 
    const int N = 8, M = 8;
 
    char mas[N][M];
 
    std::cout << "Ваша матрица из символов:\n\n";
 
    line(M);
    for (int i = 0; i < N; i++) {
        std::cout << "| ";
        for (int j = 0; j < M; j++) {
            mas[i][j] = characters[randomNum(randomEngine)];
            std::cout << std::setw(1) << mas[i][j] << " | ";
        }
        std::cout << "\n";
        line(M);
    }
 
    int stolb = 0;
 
    while(stolb > M || stolb <= 0)
        cinNum(stolb, "Введите номер столба, о котором вам нужно узнать\nинформацию про числа латинских букв и пробелов: ");
 
    int letterCounter = 0, spaceCounter = 0;
    for (int i = 0; i < N; i++) {
        if (isalpha(mas[i][stolb-1]))
            letterCounter++;
        if (mas[i][stolb-1] == ' ')
            spaceCounter++;
    }
 
    if (letterCounter > spaceCounter)
        std::cout << "\nБукв больше, чем пробелов!\n";
    else if (spaceCounter > letterCounter)
        std::cout << "\nПробелов больше, чем букв!\n";
    else
        std::cout << "\nКол-во пробелов и букв равно!!\n";
    
    std::cout << "Буквы = " << letterCounter << ", Пробелы = " << spaceCounter << "\n";
 
    _getch();
    return 0;
}
Миниатюры
Определить, что в i-ом столбце матрицы число латинских букв не меньше числа пробелов  
1
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
23.03.2016, 22:07 4
Лучший ответ Сообщение было отмечено Бахтияр21 как решение

Решение

Если хочешь только буквы и пробелы почаще, сделай что-то на подобии этого с массивом characters:
C++
1
2
const char characters[] =
        "ABCD EFG HIJK LMNO PQRS TU VWXY Z ";
А строку с randomNum на это:
C++
1
std::uniform_int<int> randomNum(0, число элементов твоего массива characters минус 1);
1
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 3
28.03.2016, 08:38  [ТС] 5
Спасибо большое) спасли
0
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 3
31.03.2016, 12:53  [ТС] 6
meJevin, а как сделать так чтобы самому вводить кол-во строк и столбцов матрицы, пробую не получается?? Помоги пожалуйста)
0
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
31.03.2016, 14:46 7
Бахтияр21, для этого нужно делать динамическую матрицу (векторы бы было лучше намного, но ты, я полагаю, их еще не прошел), примерно вот так:
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
86
87
88
89
90
91
#include <iostream>
#define NOMINMAX
#include <Windows.h>
#include <conio.h>
#include <random>
#include <iomanip>
#include <ctime>
 
void line(int size_M) {
    for (int i = 0; i < (size_M * 4 + 1); i++)
        std::cout << "=";
    std::cout << "\n";
}
 
void cinNum(int& var, char const * text) {
 
    int intLimit = std::numeric_limits<int>::max();
 
    std::cout << text;
    while (!(std::cin >> var) || (std::cin.peek() != '\n')) {
        std::cin.clear();
        std::cin.ignore(intLimit, '\n');
        std::cout << text;
    }
    std::cin.ignore(intLimit, '\n');
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    std::default_random_engine randomEngine(time(NULL));
 
    const char characters[] =
        "0123 456 78 9!@#$%^&* ABCDEFGH IJK LMNO PQRSTUVWXY Zab cdefghijkl mnopqrs tuvwxyz";
 
    std::uniform_int<int> randomNum(0, strlen(characters)-1);
 
    int N, M;
 
    cinNum(N, "Введите кол-во строк в вашей матрице: ");
    cinNum(M, "Введите кол-во столбцов в вашей матрице: ");
 
    char** mas = new char*[N];
    for (int i = 0; i < N; i++)
        mas[i] = new char[M];
 
    std::cout << "\nВаша матрица из символов:\n\n";
 
    line(M);
    for (int i = 0; i < N; i++) {
        std::cout << "| ";
        for (int j = 0; j < M; j++) {
            mas[i][j] = characters[randomNum(randomEngine)];
            std::cout << std::setw(1) << mas[i][j] << " | ";
        }
        std::cout << "\n";
        line(M);
    }
 
    int stolb = 0;
 
    while (stolb > M || stolb <= 0)
        cinNum(stolb, "\nВведите номер столба, о котором вам нужно узнать\nинформацию про числа латинских букв и пробелов: ");
 
    int letterCounter = 0, spaceCounter = 0;
    for (int i = 0; i < N; i++) {
        if (isalpha(mas[i][stolb - 1]))
            letterCounter++;
        if (mas[i][stolb - 1] == ' ')
            spaceCounter++;
    }
 
    if (letterCounter > spaceCounter)
        std::cout << "\nБукв больше, чем пробелов!\n";
    else if (spaceCounter > letterCounter)
        std::cout << "\nПробелов больше, чем букв!\n";
    else
        std::cout << "\nКол-во пробелов и букв равно!!\n";
 
    std::cout << "Буквы = " << letterCounter << ", Пробелы = " << spaceCounter << "\n";
 
    for (int i = 0; i < N; i++)
        delete[] mas[i];
 
    delete[] mas;
 
    _getch();
    return 0;
}
0
31.03.2016, 14:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2016, 14:46
Помогаю со студенческими работами здесь

Для символьной матрицы определить количество различных латинских букв
Доброго времени суток! Прошу у вас помощи с задачкой с символьной матрицей, с обычными разбираюсь,...

Определить в каком столбце матрицы сумма элементов меньше
драствуйте!!! Помогите пожалуйста с написанием програмы на турбо паскале!!!! Брат проболел очень...

Определить, в каком столбце матрицы сумма элементов меньше
Дан двухмерный массив. Определить: в каком столбце массива сумма элементов меньше: во втором или в...

Количество символов, отличных от латинских букв и пробелов
Здравствуйте, нужно посчитать количество символов в строке, отличных от латинских букв и пробелов....

Проверить, что число отрицательных элементов матрицы не меньше числа положительных её элементов
дана вещественная матрица А(n*m). Логической переменной log присвоить значение True,если число...

Для каждой строки символьной матрицы определить количество различных латинских букв
Дана символьная матрица. Для каждой строки определить количество различных латинских букв (большие...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru