gpt4 book ai didi

C++索引数组打印和删除字符串名称数组打印

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:24 24 4
gpt4 key购买 nike

我在尝试解决我的教授布置的问题时遇到了困难。我相信我已经弄清楚了下面列出的 3 个项目的第二部分,但根本不知道如何做第一部分或第三部分。请帮忙!非常感谢您。


编写一个程序。

在main()中创建一个字符串数组,叫做firstNameArray,用7个名字初始化

Jim、Tuyet、Ann、Roberto、Crystal、Valla、Mathilda

编写第一个将单个名称和数组传入函数的函数,并让它搜索数组以查看名称是否在 firstNameArray 中。如果找到,它将返回找到名称的数组索引,否则返回数字 7。(可能需要传入其他参数到函数中)

在主程序中编写调用函数的代码。检查返回值,并使用索引号打印名称,或打印“未找到名称”。

编写第二个函数来打印数组中的所有名称。将数组传递给函数。 (函数中需要传入几个参数)

在主程序中编写调用该函数的代码。

编写第三个函数,从数组中删除一个名字。在尝试删除它之前(使用第一个函数),首先检查该名称是否在数组中。你不是在减小数组的大小……只是让一个点空白。 (可能需要将其他参数传递到函数中)。调用此函数后,调用 Print the Whole array。

打印出数组……如果那个地方是空白的就不要打印。


到目前为止,我已经了解了第二部分:


#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <string>
using namespace std;


void printArray(string array[], int size);

int main()
{
string firstNameArray[7];

firstNameArray[0] = "Jim";
firstNameArray[1] = "Tuyet";
firstNameArray[2] = "Ann";
firstNameArray[3] = "Roberto";
firstNameArray[4] = "Crystal";
firstNameArray[5] = "Valla";
firstNameArray[6] = "Mathilda";

printArray(firstNameArray, 7);

system("pause");
return 0;
}

void printArray(string array[], int size){
for (int i = 0; i < size; i++){
cout << array[i] << endl;
}
}

最佳答案

试试这个。

#include "stdafx.h"

#include <string>
#include <iostream>

int FindName(std::string* names, std::string name, int size) {
for (int i = 0; i < size; i++) {
if(names[i] == name)
return i;
}

return size;
}

void PrintNames(std::string* names, int size) {
for (int i = 0; i < size; i++) {
std::cout << names[i] << std::endl;
}
}


void DeleteName(std::string* names, std::string name, int size) {
if(FindName(names, name, size) == size)
return;

for (int i = 0; i < size; i++) {
if(names[i] == name)
names[i] = "\0";
}
}


int main()
{
std::string firstNameArray[7];

firstNameArray[0] = "Jim";
firstNameArray[1] = "Tuyet";
firstNameArray[2] = "Ann";
firstNameArray[3] = "Roberto";
firstNameArray[4] = "Crystal";
firstNameArray[5] = "Valla";
firstNameArray[6] = "Mathilda";

int index = FindName(firstNameArray, "Ann", 7);

if(index == 7)
std::cout << "Name not found" << std::endl;
else
std::cout << std::to_string(index) << std::endl;

PrintNames(firstNameArray, 7);
DeleteName(firstNameArray, "Ann", 7);

std::cout << "\n";

PrintNames(firstNameArray, 7);

::getchar();
return 0;
}

关于C++索引数组打印和删除字符串名称数组打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com