yet配列とsold配列(入力順番のせいで2重配列にできない)があり、soldに格納されているものがyetにも格納されていたら出力せず、yetに格納されていなければ出力するというものなのですが、出力されてほしい値が25なのですが自分のプログラムだと25が15回も出力されてしまいます。
絶対に、最後の3重繰り返し処理がおかしいとわかっているのですが、どういう風に直せばいいのか分からないです。
もしかしたら普通の配列で、多重for文を使ったらおかしな挙動になるんじゃないかと頭に浮かびました。
お願いします。
c++
1/*入力順番 2nの個数:5 3mの個数:3 4mの中に入れる値:1 3 4 5sの個数:3 6sの中に入れる値:2 3 5*/ 7#include <bits/stdc++.h> 8using namespace std; 9int main(void){ 10 int n,m,s; 11 cin >> n >> m; 12 vector <int> yet (m);//自分が持っている本の番号を格納する。m個格納 13 for(int i = 0;i < m;i++){ 14 cin >> yet.at(i); 15 } 16 cin>> s; 17 vector <int> sold (s);//売られているほんの番号を格納する。s個格納 18 for(int i = 0;i < s;i++){ 19 cin >> sold.at(i); 20 } 21 22 for(int i = 0;i < n;i++){ 23 for(int i = 0;i < m;i++){ 24 for(int i = 0;i < s;i++){ 25 if(yet.at(i) != sold.at(i)){ 26 cout << sold.at(i); 27 } 28 29 30 } 31 } 32 } 33} 34
回答2件
あなたの回答
tips
プレビュー