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

Двухмерные массивы(матрица символов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление суммы 10 заданных целых чисел http://www.cyberforum.ru/cpp-beginners/thread55927.html
вот 2 вопроса первый простой для спецов а второй может я чтото не понял но в лабе он так и звучит. 1) Составить программу для вычисления суммы 10 заданных целых чисел. 2) Создать класс vector3D, задаваемый тройкой координат. Обязательно должны быть реализованы: сложение и вычитание векторов, скалярное произведение векторов, умножение на скаляр, сравнение векторов, вычисление длины...
C++ Объявите неинициализированный трехмерный массив и присвойте значения элементам с помощью кода Объявите неинициализированный трехмерный массив и присвойте значения элементам с помощью кода 3 слоя 1-ый слой: 111 111 111 2-ой слой: 222 222 http://www.cyberforum.ru/cpp-beginners/thread55919.html
Перегрузка индексации C++
Здраствуйте. Подскажите пожалуйста, как перегрузить операцию двойной индексации. Это нужно чтобы получить доступ к элементу двумерного массива, расположеного в неком объекте. Пробовал сделать так: operator(int i, int j) { ... } - ни работама
Сколько функций входит в состав модуля Math? C++
Кто знает сколько функций входит в состав модуля Math
C++ Code::Blocks. "undefined reference to" http://www.cyberforum.ru/cpp-beginners/thread55900.html
Доброго времени суток! Это опять я :) Столкнулся со следующей проблемой. Есть 5 файлов: main.cpp --- здесь функция int main(), т.е. делаю build and run class1.h --- заголовочный файл для class CClass1{...}; class1.cpp --- соответствующий файл .cpp class2.h --- заголовочный файл для class CClass2{...}; class2.cpp --- соответствующий файл .cpp
C++ Копирование файла Делаю программку для копирование файла настроек оперы с\на разные операционые системы. Для копирование я узнаю имя пользователя для это я использую GetUserName(szUserName, &dwSize); У меня загвоздка вовремя копирование. Не могу составить с этими данными полный путь. Попытался так все компилируется но не работает #include <windows.h> #include <iostream> int main(int argc, char... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.10.2009, 20:40     Двухмерные массивы(матрица символов)
TanT,
Я немного подправил Ваш код в соответствии с пожеланиями клиента:

Цитата Сообщение от Chunk Посмотреть сообщение
Цитата:Сообщение от valeriikozlov
А если в строке или столбце количественно преобладают два символа? Вывести любой из них на экран или первый символ строки или столбца?
Первый символ строки или столбца
Вот что получилось:
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int i, j;
int main()
{
        int col, row, temp, repeat;
        char *File="temp.txt";                  // èñõîäГ*ûé ГґГ*ГЁГ«
        char** arr;
  char tempChar;
        ifstream f(File);
        if (!f.is_open())                                       // ïðîâåðêГ* Г*Г*ëè÷èÿ ГґГ*éëГ* Г± Г¤Г*Г*Г*ûìè Г® êëèåГ*ГІГ*Гµ
        { cout<<"ERROR: not file:"<<File<<endl; }
        else
        {       f >>col; // ñ÷èòûâГ*ГҐГ¬ êîëè÷åñòâî ñòîëáöîâ
                f >>row; // ñ÷èòûâГ*ГҐГ¬ êîëè÷åñòâî ñòðîê
        //      cout<<col<<" "<<row<<endl;
 
                // âûäåëÿåì ГЇГ*ìÿòü ïîä äâóìåðГ*ûé Г¬Г*Г±Г±ГЁГў
         arr = new char* [col];
                for (i=0; i<col; i++)
                        arr[i]=new char[row];
 
                // ñ÷èòûâГ*ГҐГ¬ ГЁГ§ ГґГ*éëГ* Г¤Г*Г*Г*ûå
                for (j=0; j<row; j++)       
                {
                        for (i=0; i<col; i++)
                        {
                                f>>arr[i][j];
                                cout<<" "<<arr[i][j];
                        }
                        cout<<endl;
                }
        } // end else
 
        // ïîèñê ñîâïГ*Г¤Г*ГѕГ№ГЁГµ ñèìâîëîâ Гў ñòîëáöГ*Гµ
        cout<<endl;
        int a;
        for (i=0; i<col; i++)                               // ïðîãîГ* ГЇГ® ГўГ±ГҐГ¬ ñòîëáöГ*Г¬
        {       repeat=0;
                a=0;
                for (j=0; j<row; j++)
                { temp=0;
                        for (int k=j; k<row; k++)
                                if (arr[i][j]==arr[i][k]) 
                                        temp++;                        
                        if(repeat==temp)
                            a=0;
                        if(repeat<temp)
                        {
                                repeat=temp; tempChar=arr[i][j]; a=1; 
                        }
 
                }
                if(a==1)
                    cout<<" "<<tempChar;
                else
                    cout<<" "<<arr[i][0];
 
        }
 
        // ïîèñê ñîâïГ*Г¤Г*ГѕГ№ГЁГµ ñèìâîëîâ Гў ñòðîêГ*Гµ
 
        for ( i=0; i<row; i++)                               // ïðîãîГ* ГЇГ® ГўГ±ГҐГ¬ ñòðîêГ*Г¬
        {       repeat=0;  
                a=0;
                for (j=0; j<col; j++)
                { temp=0;
                        for (int k=j; k<col; k++)
                                if (arr[j][i]==arr[k][i]) 
                                        temp++;
                        if(repeat==temp)
                            a=0;                        
                        if(repeat<temp)
                        {
                                repeat=temp; tempChar=arr[j][i]; a=1;
                        }
                }
                if(a==1)
                    cout<<"\n"<<tempChar;
                else
                    cout<<"\n"<<arr[0][i];
        }
        cout<<endl;
        system("pause");
        return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru