如图,数字代表不同的字符串,我想知道用什么方法可遍历以做到找到每一列中最长的字符串的长度。
注意,图只是一种情况,已知字符串数组的行数和每一行对应的列数
怎么样对一个遍历一个不规则字符串数组,找到每列中最长字符串的大小
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- threenewbee 2018-07-22 13:49关注
// Q695423.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdlib.h" #include "string.h" #include <iostream> using namespace std; struct MyArr { int len; char ** arr; MyArr(int n, char * _arr[]) { n = n / (sizeof(char *)); arr = new char *[n]; len = n; for (int i = 0; i < n; i++) arr[i] = _arr[i]; } ~MyArr() { delete[] arr; } }; class ExpendCol { private: int _len; int _alen; int * _pa; void expend(int a) { int * pp = _pa; _pa = new int[a]; memset(_pa, 0, sizeof(int) * a); memcpy(_pa, pp, sizeof(int) * _len); delete[] pp; _alen = a; } public: ExpendCol() { _alen = 1; _pa = new int[_alen]; _len = 0; } ~ExpendCol() { delete[] _pa; } void set(int index, int value) { while (index >= _alen) { expend(_alen * 2); } if (_len <= index) _len = index + 1; _pa[index] = value; } int get(int index) { if (index >= _len) return 0; return _pa[index]; } int length() { return _len; } }; int _tmain(int argc, _TCHAR* argv[]) { char * s1 = "file"; char * s2 = "edit"; char * s3 = "view"; char * s4 = "project"; char * s5 = "build"; char * s6 = "debug"; char * s7 = "team"; char * s8 = "data"; char * s9 = "tools"; char * s10 = "architecture"; char * a1[] = { s1, s2, s3 }; char * a2[] = { s4, s5, s6, s7 }; char * a3[] = { s8, s9 }; char * a4[] = { s10 }; MyArr arr[] = { MyArr(sizeof(a1), a1), MyArr(sizeof(a2), a2), MyArr(sizeof(a3), a3), MyArr(sizeof(a4), a4) }; ExpendCol r; for (int i = 0; i < sizeof(arr) / sizeof(MyArr); i++) { for (int j = 0; j < arr[i].len; j++) { int slen = strlen(arr[i].arr[j]); if (r.get(j) < slen) r.set(j, slen); } } for (int i = 0; i < r.length(); i++) { cout << "col" << i << ":" << r.get(i) << endl; } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法