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

Двумерный массив: найти номер последней по порядку строки массива, содержащей наибольшее количество букв ш

09.01.2015, 18:37. Показов 1343. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан двумерный массив, элементами которых являются отдельные символы. Найти номер последней по порядку строки массива, содержащей наибольшее количество букв ш и номер первой по порядку строки массива, содержащей наибольшее число цифр.Пытался найти хотя бы наибольшее количество цифр в строке, но все равно не вышло. Спасибо заранее.
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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <stdio.h>
#include <iomanip>
using namespace std;
 
int main(int argc, char *argv[])
{
    char arr[4][4];
    int i,j;
    for (i=0;i<4;i++)
    {
        for (j=0;j<4;j++)
        {
            cin>>arr[i][j];
        }           
    }
    for (i=0;i<4;i++)
    {
        for (j=0;j<4;j++)
        {
            cout<<i+1<<")"<<arr[i][j]<<endl;
        }
    }
    char ind[16]={0};    
    for (i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
         if (arr[i][j]>=16 && arr[i][j]<16)
                ind[i]=ind[i]+1;               
        }
    }
    int max=ind[0];
    int index=0;
    for(int i=0;i<4;i++) 
    {
        if(ind[i]>max) 
        {
            max=ind[i];
            index=i;
        }
    }
    cout<<"index="<<index<<"max="<<max<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2015, 18:37
Ответы с готовыми решениями:

Найти номер последней по порядку строки в матрице, содержащей наибольшее количество букв "ш", "щ"
Нужен код к этому условию, пожалуйста. Дана символьная матрица размера 13х18. Найти номер...

Найти номер последней по порядку строки содержащей наибольшее количество букв ш, щ
Дана символьная матрица размером 13х18 найти номер последней по порядку строки содержащей...

Найти номер первой по порядку строки массива, содержащей наибольшее количество цифр
найти номер первой по порядку строки массива содержащей наибольшее количество цифр

В символьной матрице найти номер последней по порядку строки, содержащий наибольшее количество восклицательных знаков
дана символьная матрица размером 13х18 найти номер последней по порядку строки, содержащий...

1
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
10.01.2015, 21:02 2
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
int main(int argc, char *argv[])
    {
 
    const size_t ROW = 4;
    const size_t COL = 4;
 
    char arr[ROW][COL];
 
    size_t counter_letter = 0;  // счетчик букв
    size_t row_letter = 0;     // строка с макс. кол букв
    size_t max_letter = 0;    // максимум букв
 
    size_t counter_digits = 0;  // счетчик цифр
    size_t max_digits = 0;   // максимум цифр
    size_t row_digits = 0;   // строка с макс. кол цифр
 
    bool flag_digits = false;
    bool flag_letter = false;
    char ch = 's';   // букву указать свою
    size_t i,j;
 
    for (i=0;i<ROW;i++)
        {
        for (j=0;j<COL;j++)
            {
            cin>>arr[i][j];
            }           
        }
    for (i=0;i<ROW;i++)
        {
        cout << endl;
        for (j=0;j<COL;j++)
            {
            cout <<arr[i][j]<< "  ";
            }
        }
 
 
    for (i=0;i<ROW;i++)
        {
        for (j=0;j<COL;j++)
            {
            if(  arr[i][j] == ch)
                {
                counter_letter++;
                flag_letter = true;
                }
            }
        if(counter_letter != 0 &&  counter_letter >= max_letter)
            {
            max_letter = counter_letter;
            row_letter = i;
            counter_letter = 0;
            }
        }
 
 
    for (i=ROW -1; i >= 0; i--)
        {
        for (j=0;j<COL;j++)
            {
            if( arr[i][j] >= '0' &&  arr[i][j] <= '9')
                {
                counter_digits++;
                flag_digits = true;
                }
            }
 
        if( counter_digits != 0 && counter_digits >= max_digits)
            {
            max_digits = counter_digits;
            row_digits = i;
            counter_digits = 0;
            }
 
        }
 
    cout << endl;
    if(flag_digits)
        cout << "Index pervoy stroki s maximumom zifr = " << row_digits  << endl;
    else
        cout << "Zifr net" << endl;
    if(flag_letter)
        cout << "Index posledney stroki s maximumom bukv = " << row_letter << endl;
    else
        cout << "Bukv net" << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
1
10.01.2015, 21:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2015, 21:02
Помогаю со студенческими работами здесь

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

Определить номер первой по порядку строки, содержащей наибольшее число цифр
Дана квадратная символьная матрица порядка n. Определить номер первой по порядку строки, содержащей...

Найти в матрице номер строки, содержащей наибольшее количество нулей
Задан двумерный массив целых чисел размером n*m Найти номер строки, содержащей наибольшее...

Найти номер строки матрицы, содержащей наибольшее количество нулей
Задан двумерный массив целых чисел размером n*m Найти номер строки, содержащей наибольшее...


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

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