把一根绳子分成N等分

难度等级: 菜鸟 问题: 编写一个程序来打印给定字符串的N个相等部分。 解决方案: 1) 使用string函数获取字符串的大小 斯特伦() (出现在string.h中) 2) 得到零件的尺寸。

null
       part_size = string_length/n 

3) 循环输入字符串。在循环中,如果索引变为零件大小的倍数,则放置零件分隔符(“”) 实施:

C++

// C++ program to divide a string
// in n equal parts
#include <iostream>
#include <string.h>
using namespace std;
class gfg {
// Function to print n equal parts of str
public :
void divideString( char str[], int n)
{
int str_size = strlen (str);
int i;
int part_size;
// Check if string can be divided in
// n equal parts
if (str_size % n != 0) {
cout << "Invalid Input: String size" ;
cout << " is not divisible by n" ;
return ;
}
// Calculate the size of parts to
// find the division points
part_size = str_size / n;
for (i = 0; i < str_size; i++) {
if (i % part_size == 0)
cout << endl;
cout << str[i];
}
}
};
// Driver code
int main()
{
gfg g;
// length od string is 28
char str[] = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
g.divideString(str, 4);
return 0;
}
// This code is contributed by SoM15242


C

// C program to divide a string
// in n equal parts
#include <stdio.h>
#include <string.h>
// Function to print n equal parts of str
void divideString( char * str, int n)
{
int str_size = strlen (str);
int i;
int part_size;
// Check if string can be divided in
// n equal parts
if (str_size % n != 0) {
printf ( "Invalid Input: String size" );
printf ( " is not divisible by n" );
return ;
}
// Calculate the size of parts to
// find the division points
part_size = str_size / n;
for (i = 0; i < str_size; i++) {
if (i % part_size == 0)
printf ( "" );
printf ( "%c" , str[i]);
}
}
int main()
{
// length od string is 28
char * str = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
divideString(str, 4);
getchar ();
return 0;
}


JAVA

// Java program to divide a string
// in n equal parts
class GFG {
// Method to print n equal parts of str
static void divideString(String str, int n)
{
int str_size = str.length();
int part_size;
// Check if string can be divided in
// n equal parts
if (str_size % n != 0 ) {
System.out.println( "Invalid Input: String size"
+ "is not divisible by n" );
return ;
}
// Calculate the size of parts to find
// the division points
part_size = str_size / n;
for ( int i = 0 ; i < str_size; i++) {
if (i % part_size == 0 )
System.out.println();
System.out.print(str.charAt(i));
}
}
// Driver Code
public static void main(String[] args)
{
// length od string is 28
String str = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
divideString(str, 4 );
}
}


蟒蛇3

# Python program to print n equal parts of string
# Function to print n equal parts of string
def divideString(string, n):
str_size = len (string)
# Check if string can be divided in n equal parts
if str_size % n ! = 0 :
print ( "Invalid Input: String size is not divisible by n" )
return
# Calculate the size of parts to find the division points
part_size = str_size / n
k = 0
for i in string:
if k % part_size = = 0 :
print ()
print (i,end = '')
k + = 1
# Driver program to test the above function
# Length of string is 28
string = "a_simple_divide_string_quest"
# Print 4 equal parts of the string
divideString(string, 4 )
# This code is contributed by Bhavya Jain


C#

// C# program to divide a string
// in n equal parts
using System;
class GFG {
// Method to print n
// equal parts of str
static void divideString(String str, int n)
{
int str_size = str.Length;
int part_size;
// Check if string
// can be divided in
// n equal parts
if (str_size % n != 0) {
Console.Write( "Invalid Input: String size"
+ "is not divisible by n" );
return ;
}
// Calculate the size
// of parts to find
// the division points
part_size = str_size / n;
for ( int i = 0; i < str_size; i++) {
if (i % part_size == 0)
Console.WriteLine();
Console.Write(str[i]);
}
}
// Driver Code
static void Main()
{
// length od string is 28
String str = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
divideString(str, 4);
}
}
// This code is contributed by Anuj_67


PHP

<?php
// PHP program to divide a string
// in n equal parts
// Function to print n
// equal parts of str
function divideString( $str , $n )
{
$str_size = strlen ( $str );
$i ;
$part_size ;
// Check if string can be divided
// in n equal parts
if ( $str_size % $n != 0)
{
echo "Invalid Input: String size" ;
echo " is not divisible by n" ;
return ;
}
// Calculate the size of parts to
// find the division point
$part_size = $str_size / $n ;
for ( $i = 0; $i < $str_size ; $i ++)
{
if ( $i % $part_size == 0)
echo "" ;
echo $str [ $i ];
}
}
// Driver Code
// length od string is 28
$str = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
divideString( $str , 4);
// This code is contributed by ajit.
?>


Javascript

<script>
// Javascript program to divide a string
// in n equal parts
// Method to print n
// equal parts of str
function divideString(str, n)
{
let str_size = str.length;
let part_size;
// Check if string
// can be divided in
// n equal parts
if (str_size % n != 0)
{
document.write( "Invalid Input: String size" +
"is not divisible by n" );
return ;
}
// Calculate the size
// of parts to find
// the division points
part_size = parseInt(str_size / n, 10);
for (let i = 0; i< str_size; i++)
{
if (i % part_size == 0)
document.write( "</br>" );
document.write(str[i]);
}
}
// length od string is 28
let str = "a_simple_divide_string_quest" ;
// Print 4 equal parts of the string
divideString(str, 4);
// This code is contributed by rameshtravel07
</script>


输出

a_simple_divide_string_quest

在上述解决方案中,仅打印字符串的n个相等部分。如果我们希望存储单个部分,我们需要为所有N个部分分配part_size+1内存(1个额外的用于字符串终止字符“”),并将这些部分的地址存储在字符指针数组中。

另一种方法: 在C++中使用STL

C++

#include <iostream>
using namespace std;
void divide(string str, int n)
{
if (str.length() % n != 0) {
cout << "Invalid Input: String size" ;
cout << " is not divisible by n" ;
return ;
}
int parts = str.length() / n;
int start = 0;
while (start < str.length()) {
cout << str.substr(start, parts) << endl;
start += parts;
// if(start < str.length()) cout << endl; to ignore
// final new line
}
}
int main()
{
string str = "a_simple_divide_string_quest" ;
divide(str, 4);
}
//Contributed By Jagadeesh


JAVA

import java.util.*;
class GFG {
static void divide(String str, int n) {
if (str.length() % n != 0 ) {
System.out.print( "Invalid Input: String size" );
System.out.print( " is not divisible by n" );
return ;
}
int parts = str.length() / n;
int start = 0 ;
int t = parts;
while (start < str.length()) {
String temp = new String(str);
System.out.print(temp.substring(start, parts) + "" );
start = parts;
parts += t;
// if(start < str.length()) System.out.println(); to ignore
// final new line
}
}
// Driver code
public static void main(String[] args) {
String str = "a_simple_divide_String_quest" ;
divide(str, 4 );
}
}
// This code is contributed by umadevi9616


输出

a_simple_divide_string_quest

如果你发现任何不正确的地方,或者你想分享更多关于上述主题的信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享