- ベストアンサー
【プログラム】2の倍数で表示非表示
(1)(2)(3)(4)(5)(6)・・・・ と数字があり これを100回繰り返すとします。 さらにそれらを、1と2、3と4というように ペアを作って行きます。 [(1)(2)] [(3)(4)]・・・・ さらにその各数字から返り値が受けれるとして ペアのどちらかがFALSEの場合は排除します。 [(1)TRUE(2)TRUE)] [(3)FALSE(4)TRUE] [(5)TRUE(6)TRUE] ↓ [(1)TRUE(2)TRUE)] [(5)TRUE(6)TRUE)] これをC言語系のプログラム的に書くとしたら どうなるでしょうか。
- yuzuru0024
- お礼率86% (557/646)
- C・C++・C#
- 回答数4
- ありがとう数13
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
タイトルが2の倍数となっていたので、100個の数値(50ペア)の双方が偶数のケースを拾い出す形で記述してみました。 取りあえず 数値を入力してTRUE, FALSEを返す関数 funcA() は、2の倍数ならTRUEという形にしてあります。 参考にしてみてください。 #include <stdio.h> typedef enum _boolean { FALSE, TRUE } boolean; #define RW 50 #define CL 2 boolean funcA( int a ) { if ( (a % 2) == 0 ) return( TRUE); else return( FALSE ); } void main( void ) { int i,j,n; int nm; int data[RW][CL]; int result[RW][CL]; for ( i = 0; i < RW ; i++ ) { for( j = 0; j < CL ; j++ ) { printf( "input data[%#d][%d] =?", i,j ); scanf( "%d", &data[i][j]); } } n = 0; for ( i = 0; i < RW; i++ ) { if ( funcA( data[i][0] ) && funcA( data[i][1] ) ) { result[ n ][0] = data[ i ][0]; result[ n ][1] = data[ i ][1]; n++; } } printf( "Number = %d\n",n ); for ( i=0; i < n ; i++ ) { printf( "result[ %#d ] = %d,%d\n", i,result[i][0],result[i][1] ); } }
その他の回答 (3)
- kmee
- ベストアンサー率55% (1857/3366)
訂正 else { 1,2 を採用} → else { 1,2 を不採用} 以下、同様に。
- kmee
- ベストアンサー率55% (1857/3366)
if( (f(1) == TRUE) && (f(2)==TRUE)){ 1,2 を採用} else { 1,2 を採用} if( (f(3) == TRUE) && (f(4)==TRUE)){ 3,4 を採用} else { 3,4 を採用} if( (f(5) == TRUE) && (f(6)==TRUE)){ 5,6 を採用} else { 5,6 を採用} if( (f(7) == TRUE) && (f(8)==TRUE)){ 7,8 を採用} else { 7,8 を採用} if( (f(9) == TRUE) && (f(10)==TRUE)){ 9,10 を採用} else { 9,10 を採用} ...略... if( (f(99) == TRUE) && (f(100)==TRUE)){ 99,100 を採用} else { 99,100 を採用} データの保存方法、使用言語(C言語系、と言われても...)、使用ライブラリ と言ったものが不明では、 この程度までしか具体的には書けません。
お礼
回答有難うございます。 for文を使わないのもありですね。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
C言語"系"ってなんですか? C++ならどってことなく書けますが。
お礼
回答有難うございます。 記述構文がC言語系のという意味です。
関連するQ&A
- C言語プログラム 作ってくれませんか?m(__)m
C言語 プログラム 1~45の数字の中からランダムに15ペアの組み合わせと残りの数字を表示するようなプログラムをつくりたいのですが,どなたか作ってくれませんか? 以下のような表示例みたいなのが,嬉しいです。お願いします。 Ex. ./ random 6 -27 5 -22 4 -19 1 -21 15 -14 33 -40 17 -36 37 -28 13 -42 23 -41 34 -24 7 -35 38 -11 12 -8 26 -18 43 9 3 25 16 2 44 29 30 39 45 10 20 32 31
- ベストアンサー
- C・C++・C#
- C#でパスワード認証プログラムを作っています
C#言語でパスワード認証プログラムを作っています。 If文を使う場合、 if (password.Length < 8) valid = false; というように、8文字以下は駄目にするとかは出来るのですが、 そのパスワードの中に必ず大文字(Uppercase)、数字(Digit)が1つは入っていないといけないというものを作る場合 どのようにすれば良いでしょうか?
- 締切済み
- その他(プログラミング・開発)
- excelのtrue/falseの表示とかについて
エクセルで論理式の返り値としてtrue falseが返ってきますが、 true を 0 false を 1 とする表示形式ってあるのでしょうか? if文を使えば出来るのは充分承知した上での質問です。 ついでの質問ですが、FALSEの入っているセルを + 計算すると普通の1として扱ってくれますが、 SUM で計算するとエラーになるのは、どういう理由かご存知の方教えてください。
- ベストアンサー
- その他MS Office製品
- 重複しない組み合わせのプログラム
0から9のうち4つの数字を取り出すというC言語のプログラムをつくりたいのですが、ランダム関数を用いると重複してしまいます。どのようにしたらよいでしょうか?
- ベストアンサー
- その他(インターネット・Webサービス)
- 乱数表示のプログラム
こんにちは。C言語初心者で現在会社で勉強しているものです。上司に課題を出されました。以下の通りです。 「1~100までの数字をランダムに出力するプログラムを作成しなさい。ただし実行するたびにその結果は異なるようにし、同じ数字は表示されないようにしなさい。」 time関数を使って実行する度に異なる結果が得られるところまではできたのですが、一度表示された数字を省くロジックがわかりません。質問検索で似たような質問をされていた方が何人かいて、それを参考にやってみたのですがどうもうまくいきません。できるだけCPUに負荷をかけないように、という条件もあります。 提出期限が迫っており困っています。どなたか教えてください。
- ベストアンサー
- C・C++・C#
- atanh(sin(rad))のプログラム
はじめまして。 C言語で、y = tan(-1)(sinφ)を求めたいのですが、 どうすればよいでしょうか。 y = atanh(sin(Phi * 3.14159 / 180)); で良いのでしょうか。返り値がラジアンである必要がある と思いますが、ググるにも調べ方が分からず困っています。
- ベストアンサー
- C・C++・C#
- プログラムを始めるなら
C言語をある程度知っている人なら、プログラミングは大丈夫だと言われる理由って何でしょう? 別にC言語を元に全てのプログラムができたわけでもないし、 オブジェクト指向のプログラムとは毛色が違うし。 私自身C言語,javaなどのソースが読める程度しかできませんが、 プログラミングが出来るとはお世辞にも言えません。 何故このような事が言われているのでしょう? また、最初に学ぶべき言語としてはやはりC等の言語がいいのでしょうか? それともアセンブリ言語のような物の方がいいのでしょうか?
- 締切済み
- その他(プログラミング・開発)
お礼
回答有難うございます! とても参考になります。