アプリ版:「スタンプのみでお礼する」機能のリリースについて

(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言語系のプログラム的に書くとしたら
どうなるでしょうか。

A 回答 (4件)

タイトルが2の倍数となっていたので、100個の数値(50ペア)の双方が偶数のケースを拾い出す形で記述してみました。



取りあえず 数値を入力してTRUE, FALSEを返す関数 funcA() は、2の倍数ならTRUEという形にしてあります。

参考にしてみてください。


#include <stdio.h>
typedef enum _boolean { FALSE, TRUE } boolean;

#defineRW50
#defineCL2

booleanfuncA( int a ) {
if ( (a % 2) == 0 )
return( TRUE);
else
return( FALSE );
}

void main( void ) {
inti,j,n;
intnm;
intdata[RW][CL];
intresult[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] );
}

}
    • good
    • 0
この回答へのお礼

回答有難うございます!
とても参考になります。

お礼日時:2014/10/07 11:29

訂正


else { 1,2 を採用} → else { 1,2 を不採用}
以下、同様に。
    • good
    • 0

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言語系、と言われても...)、使用ライブラリ と言ったものが不明では、
この程度までしか具体的には書けません。
    • good
    • 0
この回答へのお礼

回答有難うございます。
for文を使わないのもありですね。

お礼日時:2014/10/07 11:30

C言語"系"ってなんですか?


C++ならどってことなく書けますが。
    • good
    • 0
この回答へのお礼

回答有難うございます。
記述構文がC言語系のという意味です。

お礼日時:2014/10/06 14:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!