היי, אנשים! אז, כמתכנתים, אנו לעתים קרובות עוסקים במערכי נתונים של כל סוגי הנתונים. נכיר את מערך מחרוזות ב־C++ במאמר של היום.
דרכים להגדיר מערך של מחרוזות ב־C++

1. המילה המפתחית String ליצירת מערך של מחרוזות ב־C++
C++ provides us with ‘string’ keyword to declare and manipulate data in a String array.
המילה המפתחית string
מקצה זיכרון לאלמנטים של המערך באופן דינמי או בזמן ריצה בהתאם. לכן היא שומרת על טרחת ההקצאה הסטטית של אלמנטי הנתונים.
תחביר: להגדיר מערך של מחרוזות באמצעות מילת המפתח 'string'
string array-name[size];
בנוסף, אנו יכולים לאתחל את מערך המחרוזות באמצעות התחביר הבא:
string array-name[size]={'val1','val2',.....,'valN'};
דוגמה 1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string fruits[5] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"String array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
בדוגמה לעיל, אנו אתחלנו את מערך המחרוזות והשתמשנו בלולאות for של C++ כדי לעבור דרך המערך ולהדפיס את הנתונים הנמצאים במערך המחרוזות.
פלט:
String array:
Grapes
Apple
Pineapple
Banana
Jackfruit
דוגמה 2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string arr[5];
cout<<"Enter the elements:"<<endl;
for(int x = 0; x<5;x++)
{
cin>>arr[x];
}
cout<<"\nString array:\n";
for (int x = 0; x< 5; x++)
cout << arr[x] << "\n";
}
כפי שכולם יכולים לראות, בדוגמה לעיל, אנו מקבלים את פריטי הנתונים של מערך המחרוזות מהקונסולה, כלומר מקולט קלט מהמשתמש ומדפיסים את אלמנטי מערך המחרוזות.
פלט:
Enter the elements:
Jim
Nick
Daisy
Joha
Sam
String array:
Jim
Nick
Daisy
Joha
Sam
2. שימוש במנוע STL של C++ – Vector
C++ Standard Template Library provides us with containers to work with data and store it efficiently.
Vector, היוצרת אחד מסוגי המיכלים המאפשרים אחסון רכיבי מערך באופן דינמי. לכן, ניתן להשתמש ב- Vectors ב־C++ כדי ליצור מערך מחרוזות ולנהל אותו בקלות.
תחביר:
vector<string>array-name;
- שיטת
vector.push_back(element)
משמשת להוספת רכיבים למערך מחרוזות של ה־vector. - שיטת
vector.size()
משמשת לחישוב אורך המערך, כלומר מספר הרכיבים שהוזנו למערך המחרוזות.
דוגמה:
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<string> arr;
arr.push_back("Ace");
arr.push_back("King");
arr.push_back("Queen");
int size = arr.size();
cout<<"Elements of the vector array:"<<endl;
for (int x= 0; x< size; x++)
cout << arr[x] << "\n";
}
פלט:
Elements of the vector array:
Ace
King
Queen
3. שימוש במערך תווים דו־ממדי
A 2D array represents an array of string in C++. So, we can use a 2D char array to represent string type elements in an array.
ה- מערך char יוצר ומאחסן רכיבים בזמן סטטי או בזמן הקומפילציה, כלומר מספר וגודל הרכיבים נשארים קבועים.
תחביר:
char array-name[number-of-items][maximun_size-of-string];
דוגמה:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char fruits[5][10] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"Character array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
במקטע שלעיל מקודד, יש לנו מערך char שנוצר כדי לאחסן אלמנטים מסוג מחרוזת. כלומר, מערך char בגודל 5×10. כאן 5 מייצג את מספר האלמנטים מסוג מחרוזת ו-10 מציין את הגודל המרבי של מחרוזת הקלט.
פלט:
Character array:
Grapes
Apple
Pineapple
Banana
Jackfruit
C++ String Array as an Argument to a Function
A string array can also be passed to a function as an argument the same way as another non-string type array is passed to it.
תחביר:
return-type function-name(string array-name[size])
{
// גוף הפונקציה
}
דוגמה:
#include <iostream>
#include<string>
using namespace std;
void show(string arr[4]){
for(int x=0;x<4;x++)
{
cout<<arr[x]<<endl;
}
}
int main() {
string arr[4] = {"Jim", "Jeo", "Jio", "John"};
cout<<"Printing elements of the string array:"<<endl;
show(arr);
}
פלט:
Printing elements of the string array:
Jim
Jeo
Jio
John
מסקנה
במאמר זה, הבנו דרכים ליצירת מערכי מחרוזות וטכניקות לשימוש בהם בפונקציה.
מקורות
Source:
https://www.digitalocean.com/community/tutorials/string-array-in-c-plus-plus