首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结束代码实现的问题

结束代码实现的问题
EN

Stack Overflow用户
提问于 2020-07-25 00:09:49
回答 1查看 33关注 0票数 0

这段代码适用于所有样本,但在完成所有样本之后,就会出现问题。我不知道会发生什么然后程序就崩溃了。这段代码有问题吗?当我通常使用字符串数组时,我遇到了这个问题,这会是问题吗?

代码语言:javascript
复制
#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
#include <bits/stdc++.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
long long  t,n;
int a[1000];
string str[1000];
int main()
{
    cin>>t;
    for(int r=1;r<=t;r++){
      cin>>n;
      int maxi=0;
      for(int i=1;i<=n;i++){
        cin>>a[i];
        if(a[i]>maxi)maxi=a[i];
      };
      //input first value
      maxi=maxi+3;
      for(int r1=0;r1<maxi;r1++){
        str[1][r1]=(rand()%26)+'a';
      }
      for(int i=0;i<maxi;i++){
              cout<<str[1][i];
      }
        cout<<endl;
      //
      for(int k=2;k<=(n+1);k++){
            int w;
            for(w=0 ; w<=a[k-1];w++){
                str[k][w]=str[k-1][w];
            };
            for(int l=w-1;l<maxi;l++){
                str[k][l]=(rand()%26)+'a';
            };
            for(int i=0;i<maxi;i++){
                cout<<str[k][i];
            }
            cout<<endl;
      }

    }
    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-25 00:16:56

您正在使用字符串的元素,而没有分配它们。

通过插入来分配元素

代码语言:javascript
复制
for(int i=1;i<=(n+1);i++){
    str[i].resize(maxi);
}

紧接着

代码语言:javascript
复制
maxi=maxi+3;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63077400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档