MAKCim А нельзя к массиву двумерному обращаться, как к двумерному? Я понимаю, что все равно в памяти все храниться, как одномерный, но все же ... Нельзя никак?
| Цитата | | потому что тип text != char** |
В смысле, почему? Ведь и то и другое типа char ...
Если что, вот вся задача ... может тут можно чего удобнее сделать.
| Код | #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; const int MAX_STR=20; const int MAX_SYM=100; void check_matrix (int strcount, char** _text); void display_string (int string, char** _text); void find_longest (int strcount, char** _text);
int main(int argc, _TCHAR* argv[]) { char text[MAX_STR][MAX_SYM]; int str_count=0; for (int str=0;str<MAX_STR;str++) //Cikl vvoda strok { cout << str << "| "; for (int sym=0;sym<MAX_SYM;sym++) { char ch; ch=_getche(); //Vvodim simvol text[str][sym]=ch; if (ch==13) //Jesli nazhali ENTER, to .... { break; //Vihodim i ... } } cout << endl; str_count++; //... uvelichivajem schetchik strok if (text[str][0]==13) //Jesli posledniaja stroka pustaja { cout << endl; break; } } check_matrix(str_count,(char**)&text); find_longest (str_count,(char**)&text); _getch(); return 0; }
void check_matrix (int strcount, char** _text) //Proverka na uslovije { for (int str=0;str<strcount;str++) { for (int sym=0;sym<MAX_SYM;sym++) { if (_text[str][sym]=='E' || _text[str][sym]=='+' || _text[str][sym]=='-' || (_text[str][sym]>='0' && _text[str][sym]<='9')) //Jesli stroka soderzhit +, ili -, ili E, ili cifru { display_string(str,_text); //Otobrazhajem stroku i ... break; //... vihodim } } } }
void display_string (int string,char** _text)
{ cout << string << "| "; for (int i=0;i<MAX_SYM;i++) { if (_text[string][i]==13) //Jesli vstreciajem v stroke priznak nazhatije ENTER { cout << endl; break; } cout << _text[string][i]; //Vivodim simvol stroki } }
void find_longest (int strcount, char** _text) { int max=0; int max_str_num=0; for (int i=0;i<strcount;i++) { int sym=0; while (_text[i][sym]!=13) { sym++; } if (sym>max) { max=sym; max_str_num=i; } } cout << "Samaja dlinnaja stroka: " << max_str_num; }
|
|