掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.26018

約分
投稿者---ABS(2006/02/06 03:51:37)


ユーグリッド互除法を使った約分の問題を考えています。
以下のように作ったのですが、どうもうまくできません。
ご指摘お願いいたします。

#include<stdio.h>

struct fraction{
  int numerator;
  int denominator;
};

int TheGreatestCommonDenominator(struct fraction b)
{
  int i;
  while(1){
    if(b.denominator == 0)
      return b.numerator;
    else if(b.numerator % b.denominator == 0)
      return b.denominator;
    else{
      b.numerator = (b.numerator % b.denominator);
      i = b.numerator;
      b.numerator = b.denominator;
      b.denominator = i;
    }
  }
}
int main()
{
  int g;
  struct fraction fra;
  printf("numerator: ");
  scanf("%d", &fra.numerator);
  printf("denominator: ");
  scanf("%d", &fra.denominator);
  g = (&fra);
  printf("%d/%d -> %d/%d", fra.numerator, fra.denominator, fra.numerator / g, fra.denominator / g);
  return 0;
}


[環境]
windows2000 cygwin
gcc vesrion 3.4.4


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:約分 26019 ぽへぇ 2006/02/06 07:29:53
<子記事> Re:約分 26020 Blue 2006/02/06 08:44:38
<子記事> Re:約分 26021 TJ 2006/02/06 08:49:17


No.26019

Re:約分
投稿者---ぽへぇ(2006/02/06 07:29:53)


>症状は具体的に詳しく書きます。

何がどう、「どうもうまくできない」んですか?

・コンパイルができない
・実行できない
・意図しない結果が得られる

どれで、具体的にどういう状態?



この投稿にコメントする

削除パスワード

No.26020

Re:約分
投稿者---Blue(2006/02/06 08:44:38)


>   g = (&fra);
これ何やりたいのでしょうか?

> TheGreatestCommonDenominator
はどこで呼んでいるのでしょうか?
もっとも、値渡しなので、いくらその関数内でstruct fraction bの値を変更しても、
mainに戻ってきたら意味はないですケド。(C言語におけるもっとも基本的なトコ)



この投稿にコメントする

削除パスワード

No.26021

Re:約分
投稿者---TJ(2006/02/06 08:49:17)
http://home.f01.itscom.net/toge/programingreport/


>g = (&fra);
この部分がまずいです。
int TheGreatestCommonDenominator(struct fraction b)
の関数に値を渡したいんですよね?
関数名が無いのと、引数はアドレスではなく、そのまま値を渡せばいいので、

g = TheGreatestCommonDenominator(fra)

とするべきです。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧