[再]文字を逆に

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: [再]文字を逆に

Re: [再]文字を逆に

#7

by たいちう » 7年前

かずまさん

> 入力が 0 の場合、0 と出力されますか?

私のプログラム、ダメダメでしたね。

Re: [再]文字を逆に

#6

by かずま » 7年前

よろしくおねがい さんが書きました:なんとかできるだけこの形を崩さずに0101を1010に出来ませんか?

コード:

#include <iostream> 
using namespace std;
 
 
int main() {
 
 
    int a, b[12], i = 0;
 
 
    cout << "10進数\n";
 
    cin >> a;
 
 
 
    do {
 
        b[i++] = a % 2;
 
 

        a = a / 2;
 
    } while (a); 
 
 
    while (i) {
 
        cout << b[--i]; 
 
 
    }
 
 
 
}

Re: [再]文字を逆に

#5

by かずま » 7年前

よろしくおねがい さんが書きました:無事、完成させることが出来ました^^
本当に完成したのですか?
それなら、その完成したコードを提示してください。
入力が 0 の場合、0 と出力されますか?

次のコードは参考になりますか?

コード:

#include <iostream>
#include <string> 
using namespace std;
 
int main()
{
    cout << "10進数\n";
    int a;
    cin >> a;
    string s; 
    do s = char((a & 1) + '0') + s; while (a >>= 1);
    cout << s; 
}
do s = char((a % 2) + '0') + s; while (a /= 2); でもいいんだけど。

Re: [再]文字を逆に

#4

by よろしくおねがい » 7年前

お二人方、ありがとうございました!
無事、完成させることが出来ました^^

Re: [再]文字を逆に

#3

by purin52002 » 7年前

stack使えばあまり形が崩れないかも、、、?

コード:

#include<stack>
using namespace std;
 
 
int main() {
 
 
    int a,b;
 
    stack<int> st;//new!
 
    cout << "10進数\n";
 
    cin >> a;
 
 
 
    while (a >= 1) {
 
            b = a % 2;
 
        a = a - b;
 
        a = a / 2;
 
 
 
 
        //cout << b;
        st.push(b);//new!
 
 
 
    }
 
    //new!
    while(!st.empty()) {
        cout<<st.top();
        st.pop();
    } 
 
}

Re: [再]文字を逆に

#2

by たいちう » 7年前

「できるだけこの形を崩さず」という条件が難しいので無視して、私が普通に書くとこうなります。

コード:

#include <iostream>

using namespace std;

void printBinary(int a) {
	if (a) {
		printBinary(a / 2);
		cout << a % 2;
	}
}

int main() {
	int a;
	cout << "10進数\n";
	cin >> a;

	printBinary(a);

	return 0;
}

[再]文字を逆に

#1

by よろしくおねがい » 7年前

コード:


using namespace std;


int main() {


	int a,b;


	cout << "10進数\n";

	cin >> a;



	while (a >= 1) {

	        b = a % 2;

		a = a - b;

		a = a / 2;




		cout << b;




	}



}

この10進数を2進数に変えるプログラムは10と打つと0101となるのですが、なんとかできるだけこの形を崩さずに0101を1010に出来ませんか?

ページトップ