C++ 程序 - 为特定情况生成一组 N 个字符
这是一个 C++ 程序,用于针对特定的用例生成一系列 N 个字符。
算法
Begin function GenerateSequence() generate a Sequence of N Characters for a Given Specific Case: Use rand() for generating random indexes. Store the first character directly into the sequence. If that sequence is used earlier, then it discards that and generates random index again. End
示例
#include<iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
void GenerateSequence(char string[], int n, int l, char *sequence)
{
int i, j=0, k,in;
for(i = 0; i < n; i++) {
//store first character directly into sequence
if(j == 0)
sequence[j++] = string[rand()%l];
else {
h:
in = rand()%l;
for(k = 0; k < j; k++) {
if(string[in] == sequence[k])
goto h;
}
sequence[j++] = string[in];
}
}
sequence[j] = '\0'; //end the sequence with null character
}
int main() {
int n, m, l, i;
char string[100];
cout<<"Enter the original string: ";
cin>>string;
cout<<"\nEnter the number of strings to be generated from the Base string: ";
cin>>n;
cout<<"\nEnter the length of each string to be generated: ";
cin>>m;
l = strlen(string);
for(i = 0; i < n; i++) {
char sequence[m];
GenerateSequence(string, m, l, sequence);
cout<<"\nSequence "<<i+1<<": "<<sequence;
}
return 0;
}输出
Enter the original string: tutorialspoint Enter the number of strings to be generated from the Base string: 7 Enter the length of each string to be generated: 6 Sequence 1: tuanol Sequence 2: itlurp Sequence 3: tonaiu Sequence 4: untlri Sequence 5: liorpt Sequence 6: liusto Sequence 7: luisot
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP