如何将文本文档信息(名称和数字)写入多个数组
How do you write text doc info (names and numbers) into multiple arrays?
我一直在绞尽脑汁地试图将这些信息从文本文档获取到几个不同的数组中。txt 文档中每个名字前面的数字是标识号,我想将所有这些放入一个双数组中。然后将每个名称放入单个字符串数组中。最后将每个名字后面的数字放入一个双 2d 数组中,该数组有 50 行(每个名字一个)和 7 列(每个客户端的七个分数/数字)。我不是要求任何人为我做功课,我只需要一些有关如何开始的信息。
using namespace std;
int main() { ifstream file("client_info.txt");
string txtArray[450];
for (int i = 0; i < 450; ++i)
{
file >> txtArray[i];
}
我想也许我会把所有文本都放到一个字符串数组中,然后将该数组拆分为其他几个数组,但意识到使用字符串很困难,因为我需要数字加倍,以便以后找到客户的平均值分数。这是 txt 文档:
93史密斯739.15 634.36 257.02 639.32 376.75 360.56 666.96 81约翰逊888.08 975.86 672.78 176.35 114.58 511.24 502.56 50威廉姆斯222.27 171.83 232.83 609.79 726.69 444.89 520.63 32琼斯343.13 687.73 931.93 72.36 183.93 486.3 90.09 68棕色 623.39 968.13 67.59 528.93 703.95 329.02 875.95 24戴维斯97.48 296.61 568.49 990.18 448.36 567.52 179.42 21米勒147.68 38.87 64.78 463.19 172.39914.68 827.42 90威尔逊687.7 595.19 930.52 77.27 877.45 774.44 599.83 29摩尔739.33402 825.29 859.63 937.14 405.2 89.22 12泰勒976.11 531.4 731.45 815.16 518.26 858.86 832.34 31安德森133.12 355.22 517.53 926.54 552.05 932.52 745.75 89托马斯217.72 266.14 622.99 541.35 618.49 268.9 243.63 87杰克逊352.81 772.31 109.43 139.14 430.43 625.92 207.79 46白色650.79 367.65 915.68 848.85 912.44 603.15 704.01 75哈里斯708.38 70.53 34.45 409.82 288.28 735.06 140.9 85马丁701.73 643.16 766.3 198.92 805.86 802.39 239.76 67汤普森993.9 274.75 72.87 928.41208.81 260.42 5.56 52加西亚871.48 646.48 914.77 98.61 724.86 680.7 363.15 60马丁内斯 293.38 448.24 985.08 135.2 277.77 705.58 567.81 69罗宾逊914.18 688.95 112.81 270.18 950.27 607.49 915.75 76克拉克956.12 110.6 820.53 140.97 906.2 529.52 75.24 82罗德里格斯224.88 324.32 672.74 502.27 768.99 116.42 880.86 39刘易斯805.89 274.54 211.14 82.04 804.41 259.69 408.08 48李80.06 381.7 975.29 448.33 578.49 548.19 818.85 26沃克657.74 0.74 741.06 533.84 887.36 38.35 619.1755厅 266.9 46.42 825.89 986.01 146.96 349.07 386.64 100艾伦293.22 423.57 150.53 519.25 16.96 65.54 688.44 11年轻870.69 192.46 82.19 92.46 971.38 156.49 16.48 57埃尔南德斯145.33 123.45 860.78 521.86 739.9 138.88 169.33 96国王411.31 340.93 447.04 14.26 744.1 425.83 57.87 4莱特503.48 488.13 603.12 198.14 425.51 216.28 49.75 64洛佩兹296.99 744.89 270.49 138.19 897.06 374.89 831.66 62山 910.95 676.68 442.98 961.03 567.6 739.49 225.26 37斯科特970.31468.48 788.85 903.66 897.93 124.04 983.01 34绿色 260.42 714.42 496.13 492.39 170.17 999.36 890.8 51 亚当斯 212.36 115.84 308.57 741.29 780.3 193.71 423.82 40贝克 316.91 671.36 398.53 190.99 424.34 457.68 584.16 47冈萨雷斯947.9 348.88 299.11 71.82 727.49 480.59 891.51 3纳尔逊160.13 962.1 903.76 107.34 127.07 844.07 575.1 36卡特981.92 250.09 5.39 866.43 182.93 135.12 224.91 78米切尔805.83 181.19 549.25 815.72 776.2 887.33 144.86 28佩雷斯144.04 616.81 637.07 342.41
使多元素数组使用
type arrayName [x][y];
第一个数字是行,第二个数字是列。您可以使用 arrayName[0][x] 来设置您提到的名称,假设您将每一行用于单个名称以及属于该名称的任何属性。希望这对:)有所帮助
略了错误检查:
const int NUM_PERSONS = 50;
const int SCORES_PER_PERSON = 7;
double scores[NUM_PERSONS][SCORES_PER_PERSON];
int ids[NUM_PERSONS];
std::string names[NUM_PERSONS];
for(int i = 0; i < NUM_PERSONS; ++i) {
file >> ids[i] >> names[i];
for(int j = 0; j < SCORES_PER_PERSON; ++j) {
file >> scores[i][j];
}
}
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 数组/c++中的大量数字
- 遍历并行数组以确定C++中的最大数字
- 整数区间(或 int 数组)中每个数字的出现次数
- 如何在 C++ 中将文件中的逗号分隔数字读取到数组中?
- 将随机生成的数字添加到数组 + 对这些数组求平均值
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 获取 2D 数组 c++ 中的所有数字对
- 为什么使用数组元素查找最大数字的程序不起作用?
- 如何从向量或数组中选择最常见的数字?(前五名)C++
- 如何从保存在 Java 中C++的字节数组中读取数字?
- 以十为基数的数字到布尔数组,该数组要求二进制/基数为 2 的数字
- C++ 检查结果数组中有多少次数字
- 如何在不使用 C++ 中的数组或函数的情况下查找 N 位数字的所有排列
- 如何在C++中有效地将数字值重新分配给字符数组
- 查找数组中的最小数字
- 查找数组中重复(重复)数字的索引
- 我必须找到给定数组中所有数字的周期,就像有很多解决方案,但数组的大小是 10^5
- 类、数字/数组或对象中的对象