How to divide a string into N equal parts with C++

1 Answer

0 votes
#include <string>
#include <vector>
#include <iostream>

std::vector<std::string> DivideStringIntoEqualParts(const std::string &str, int parts) {
	int length = str.length();

	if (length % parts != 0) {
		std::cout << "No equal parts";
		return std::vector<std::string>();
	}

	int j = 0, part_size = length / parts;

	std::vector<std::string> parts_arr(parts);

	for (int i = 0; i < length; i = i + part_size) {
		parts_arr[j] = str.substr(i, part_size);
		j++;
	}
	
	return parts_arr;
}

int main()
{
	std::string str = "c++ java c python c#";
	int parts = 4;

	std::vector<std::string> parts_arr = DivideStringIntoEqualParts(str, parts);

	for (int i = 0; i < parts_arr.size(); i++) {
		std::cout << parts_arr[i] << "\n";
	}
}




/*
run:

c++ j
ava c
 pyth
on c#

*/

 



answered Oct 5, 2022 by avibootz

Related questions

2 answers 139 views
2 answers 153 views
2 answers 175 views
1 answer 139 views
1 answer 129 views
1 answer 120 views
1 answer 131 views
...