私はデバッガ(onlinegdb)のC++ベクトル入力 - 実行時エラー - アウトデバッグ回 - FAILING FIRST FOR LOOP
2 1 /newline/
4
出力と標準入力のための私のC++プログラムをデバッグしようとしています: - ながら2行目は質問によって提供される別の入力のために読み込まれていました。今回は、ベクトルarrは出力を表示していません4 argsを設定 /home/a.out..doneからシンボルを読み込みます。
(gdb)continue
プログラムが実行されていません。
(GDB)の実行
Starting program: /home/a.out </home/input.txt
2 1
P.S. The program successfully compiles and runs for user provided input
3 2
3
4
P.S.そう、プログラムのループの最初の部分が正しく実行されていないのはなぜですか?
SOURCEコード -
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int m;
cin>>m;
int t;
cin>>t;
cout<<m<<" "<<t<<"\n";
int sum=0;
vector<int> arr(t);
for(int i=0;i<t;i++)
cin>>arr[i]; //arr[i]=k digit nos
for(int i=0;i<t;i++)
cout<<arr[i]<<" ";
int comb(int a, int b); //6,2
for(int i=0;i<t;i++)
{
if(m==arr[i]){
cout<<m<<" a "<<9*pow(10,m-1)<<"\n";
}
if(m>arr[i]){
cout<<m<<" b "<<9*pow(10,m-1)<<"\n";
}
if(m<arr[i]){
/*if(m==arr[i]-1){
cout<<m<<" c "<<9*pow(10,arr[i]-1)-9<<"\n";
}
else{*/
sum=pow(10,arr[i])-1;
for(int j=arr[i]-1;j>m;j++)
sum=sum-comb(arr[i],j)*pow(9,arr[i]-j+1);
cout<<" d "<<sum<<"\n";
//}
}
}
//for m upto 10^4, k<=10^5; else k=10^5
return 0;
}
int comb(int a, int b) { //6,2
int j=1;
int s=a;
for(int k=a-1;k>b;k--) //5,4,3
s=s*k;
for(int l=1;l<=b;l++)
s=s/l;
return s;
}
//It is a problem involving displaying number of integers with no digit //repeating more than m (=2 here) times for t(=1) inputs with each input //being a arr[i] (=4) digit number.