算法-求助 怎么让while循环中有输入的时候让程序完成后停下来 题目中没有结束标志 晕

问题描述

求助 怎么让while循环中有输入的时候让程序完成后停下来 题目中没有结束标志 晕

#include
#include
#include
using namespace std;
void output();
int check();
int a[1000]={0},n=0,flag=1,g;
char b[50],c[50],d;
int init();
void search(int m);

int main()
{
while(init())
{
cout <<"["<<endl;
search(0);
cout <<"]"<<endl;
flag=1;
n=0;
g=0;
}
return 0;
}

int check()
{
int k=0,top=-1,m=0,r=0;
char st[50];
flag=1;
for (int i=0;i<n;i++)
{
if (a[i]==1)k++;

}

if (k==n/2)
{
        for (int i=0;i<n;i++)
    {
        if (a[i]==1) top++,st[top]=b[r],r++;
        else{
            if (st[top]==c[m])
            {
                m++;
              top--;
            }
            else {
                 flag=0;
                 break;
            }
        }
    }
}
else flag=0;
free(st);
return (flag);

}

int init ()
{
g=1;
int k=0;
char h;
while((d=getchar())!='n')
{
b[k++]=d,n++;
}
k=0;
while((d=getchar())!='n')
{
c[k++]=d,n++;
}
return g;
}
void search(int m)
{
if(m==n){
check();
if (flag) output();
}

else
{
    a[m]=1;
    search(m+1);
    a[m]=0;
    search(m+1);
}

}
void output()
{
for (int i=0;i<n;i++)
{
if (a[i]==0) cout <<"o";
else cout <<"i";
}
cout <<endl;
}

解决方案

break吧。

时间: 2024-08-02 11:53:53

算法-求助 怎么让while循环中有输入的时候让程序完成后停下来 题目中没有结束标志 晕的相关文章

代码-C++编程 算法 求助!!!

问题描述 C++编程 算法 求助!!! 在一篇英文文章中,输入一个字母,请输出与该字母一起出现频率最高的三个字母.如:输入s,可能和s一起出现频率最高的就是t,e.....想知道算法!!!如果可以,可以给个代码作为参考吗?非常谢谢 解决方案 之前回答过你的问题.和计算出现频率最高的字母其实类似,只不过那个只需要一个向量保存结果,这个需要一个矩阵,保存字母转移关系.最后统计输出.要代码,请采纳. 解决方案二: 我的想法是这样: 建立一个代表字母的数组a[300],比如a[A]表示A出现的次数. 那

c++-C++编程 算法 求助!!!

问题描述 C++编程 算法 求助!!! C++编程 算法 求助!!! c++代码编程出现频率 在一篇英文文章中,输入一个字母,请输出与该字母一起出现频率最高的三个字母. 如:输入s,可能和s一起出现频率最高的就是t,e..... 想知道算法!!!如果可以,可以给个代码作为参考吗?非常谢谢 解决方案 没问题,采纳了就写给你. 解决方案二: 求一篇英文文章中各个字母出现的频率,不区分大小写. 思路: (1)首先定义一个数组freArray= new int[26],存放每个单词的出现频率. (2)读

汇编用DEBUG调试程序,如果程序中有输入,怎么办

问题描述 汇编用DEBUG调试程序,如果程序中有输入,怎么办 debug调试一个程序,单步执行到需要输入的代码,debug不会提示输入,一直继续单步执行,这样该怎么调试呢 解决方案 到了输入的代码的地方,程序就会回到控制台中,然后让你输入内容后,才再回到代码里继续调试 解决方案二: 用P指令运行到接收输入的指令的位置会给你输入的机会的. 通常是int 21h中的01号功能接收字符,这个指令是循环等待你的输入,不输入这个指令不往下执行,debug也就断不了. 解决方案三: 单步执行的话,到了需要输

地图api-webGL问题,地图多线合并算法求助!!!

问题描述 webGL问题,地图多线合并算法求助!!! 开发一个新的地图API,目前一个难题. 需要将多条不规律的线合并为一条,这些线可相交,可是折线,长短不一. 有过类似经验或者有想法的同僚来探讨一下吧

java-一个简单的小算法求助

问题描述 一个简单的小算法求助 找出一个数组中既不是最大的数也不是最小的数,我的java代码如下(错误的): class NotMM{ public void NotMM(int arr[]){ int mid = arr[0]; for(int i=0;i<arr.length-2;i++){ if(arr[i+1]>arr[i]&&arr[i+1]<arr[i+2]){ mid = arr[i+1]; }else if(arr[i+1]<arr[i]&&

java-for循环中有多个if判断,for循环16次,优先执行一个if判断

问题描述 for循环中有多个if判断,for循环16次,优先执行一个if判断 Java for循环中有3个if判断依次执行.for循环16次, 我想让第一个if判断先执行16次(优先执行16次), 如果在16次中有符合第一个if判断的就执行停止循环. 如果16次之后,第一个if判断没有符合的结果,在依次执行第2和第3个if判断. 优先执行第一个if判断如何做,请大神赐教. 解决方案 #!/bin/bash for((i=1;i do ? ? if((i%3==0)) ? ? ? ? then ?

oracle 11g-求救!用oracle11g实现人事管理数据库设计,在循环键盘输入信息时遇到错误!

问题描述 求救!用oracle11g实现人事管理数据库设计,在循环键盘输入信息时遇到错误! 我现在做用oracle实现人事管理数据库,遇到了很严重的问题,请各位路过的大侠帮帮忙!!! 它的要求和部分代码如下: 我用的是oracle 11g,用cmd进行以下操作,我的用户名已创建(user_name1),被授予了需要用到的权限,创建了3个表空间orcltbs1_1.orcltbs1_2.orcltbs1_3都是(300m的容量)用来完成要求1. 要求: 1.员工表(按出生日期建立分区表)creat

图论-关于点聚集情况问题,算法求助

问题描述 关于点聚集情况问题,算法求助 已知,N个点两两之间的距离,现希望能够寻找到靠的最紧密的S个点?如果可以能否可以找到这S个点是以什么点为聚集中心的? 对于这S个点到其所聚集的中心距离之和最小,但这个聚集中心并不知道 解决方案 1.N个点选3个,算出半径 2.找出最短半径 3.找出离圆心最近的点. 其实我不懂.

函数-编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,

问题描述 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值, 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递. 声明函数avar: (3)主函数输入10个数据,用for循环语句输入: 解决方案 你能不能再懒点?发了这个问题编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出,都有答案了,整数改成浮点的自己都不改. 解决方案二