トップページ⇒tech
1001コメント348KB

C/C++の宿題を片付けます 83代目

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/02/07(水) 15:41:38
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
0232デフォルトの名無しさん2007/02/14(水) 00:02:00
>>225
元はバブルソートのプログラムだったんだろうと予想
#include<stdio.h>
#define ARRAY_SIZE 5
int main(void)
{
  int Ary[ARRAY_SIZE]={10,5,8,2,6};
  int wrk,i,j;

  for(i=0;i<ARRAY_SIZE-1;i++)
  {
    for(j=0;j<ARRAY_SIZE-1-i;j++)
    {
      if(Ary[j]>Ary[j+1])
      {
        wrk=Ary[j];
        Ary[j]=Ary[j+1];
        Ary[j+1]=wrk;
      }
    }
  }
  printf("整列後\n");
  for(i=0;i<ARRAY_SIZE;i++)
  {
    printf("%d\t",Ary[i]);
  }
  printf("\n");
  return 0;
}
0233デフォルトの名無しさん2007/02/14(水) 00:03:00
>>230
やってること

#include <stdio.h>
#include <string.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i1, i2;
i1=strlen(str) - 1;
i2=0;
while(i1>=0){
str[i2]=str[i1];
putchar(str[i2]);
i2++;
i1--;
}
putchar('\n');
return 0;
}
0234デフォルトの名無しさん2007/02/14(水) 00:04:05
つまりZをコピーした瞬間にAが無くなってZが2つあるw
02352212007/02/14(水) 00:07:31
>>231>>233>>234
ありがとうございます。
す ご く よ く わ か り ま し た。納得!

だから、str2を逃げ場所として用意してたんですね・・・
0236デフォルトの名無しさん2007/02/14(水) 00:08:00
>>221
これの出力結果をじっくり眺めてみるよろし

#include <stdio.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *p1,*p2;
p1=str;
p2=str;

while(*p1!='\0'){
p1++;
}
p1--;
while(p1>=str){
puts(str);
*p2=*p1;
p2++;
p1--;
}
puts(str);

return 0;
}
02372212007/02/14(水) 00:11:16
>>236
ABCD・・・WXYZ
ZBCD・・・WXYZ
ZYCD・・・
となる!(と思う)

わざわざ理解させるために、改変してもらってありがとうございます m(_ _)m 
02381282007/02/14(水) 00:33:27
>>213
自分で操作する部分は完璧です!
あとはコンピュータと対戦という形にできれば完成です!
敵は連続数字(34、78といった連続した数字)>2枚組(22、66など)>一枚抜かし(13、57など)
といった優先順位で自動で切るというようにしたいのですが、可能でしょうか?
02392252007/02/14(水) 00:47:35
大体解決しました、ありがとうございました
0240デフォルトの名無しさん2007/02/14(水) 00:55:56
>>226
> 何をして欲しいんだ?
童貞な俺でも愛してもらいたい
0241デフォルトの名無しさん2007/02/14(水) 06:52:48
マジ童貞?
0242デフォルトの名無しさん2007/02/14(水) 08:09:45
おうっ、27歳にしてまだ童貞。顔は悪くないんだけどな・・・
0243デフォルトの名無しさん2007/02/14(水) 08:58:51
そればっかりは手伝ってやれないが、まあ頑張れ。
0244デフォルトの名無しさん2007/02/14(水) 09:21:18
ケツ貸せよ
0245デフォルトの名無しさん2007/02/14(水) 09:24:18
誰がケツ掘れと言った?愛してもらいたい とは書いてあるが?
0246デフォルトの名無しさん2007/02/14(水) 09:28:27
誰がケツ掘ると言った?ケツ貸せよ とは書いてあるが?
0247デフォルトの名無しさん2007/02/14(水) 10:06:33
プログラム製作ではありませんが課題ですのでここでお願いしたいと思います。
以下のC++の問題の回答について教えていただけませんでしょうか?
一応自分でもやってみましたがコピーコンストラクタなんかがどうも自信がなく…orz

http://www.za.ztv.ne.jp/yosi-h/vfsh0003faf0e6.jpg
0248デフォルトの名無しさん2007/02/14(水) 10:31:40
>>128
チョンボの判定は無し
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3652.c
0249デフォルトの名無しさん2007/02/14(水) 11:06:56
>>247
ソースコードがすべてあるんだから
実行してみれば良い

試験中なのかもしれんがw
02501282007/02/14(水) 13:43:28
>>248
完璧です!チョンボは配慮しなくてOKです!
本当にありがとうございました!
おかげで進級できます!ありがとうございました!
0251デフォルトの名無しさん2007/02/14(水) 15:37:20
[1] 授業単元:プログラミング演習
[2] 問題文:
平面上の3点(x1,y1),(x2,y2),(x3,y3)の座標値を与えて、その3点を通る二次関数 y=ax^2+bx+c
あるいはy=a(x-b)^2+cの3つの係数a,b,cを計算し、極点(xp,yp)を計算するプログラムを作れ。
ただし、平面上の3点を与えたときに二次曲線にならない場合はエラーとして返す事。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:2/15 18:00まで
[5] その他の制限:特にありません。

どうか、よろしくお願いします
0252デフォルトの名無しさん2007/02/14(水) 16:23:47
[1] 授業単元: プログラミング�U
[2] 問題文(含コード&リンク):
入力ファイル in.txt に、英文が格納されている。英文は、1行が末尾の改行も含めて40字以下、全体で20行以内とする。
英文には、英字、単語の区切りの空白、語句の区切りのコンマ、文末のピリオドのみが使われている。
入力ファイルの改行を取り除き、1行に1文の形式で出力する。すなわち、ピリオドの後のみで改行し直す。
コンマでは改行せず、単語の区切りの空白は残す。文末に空白が残っていてもよい。
出力は、ファイル out.txt に書き出す。

● 実行例

入力 inp.txt
This is a pen.But I don't have eraser.
出力 out.txt
This is a pen.
But I don't have eraser.

なお、入力ファイルと出力ファイルをオープンする。
行単位の読込みより、書式付の方が処理しやすい。
入力ファイルを字句単位で読み込み、空白を入れて出力ファイルに書き込む。
字句の最後にピリオドがあれば、改行を書き込む。
ファイル終端 EOF で終了する。
字句の最後のピリオドの有無は、文字列の長さを求めたり、文字の出現位置を返す関数で調べる。

[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン: bcc32
 [3.3] 言語: C
[4] 期限: 本日中までです。
[5] その他の制限: 早いうちだと助かります。
0253デフォルトの名無しさん2007/02/14(水) 16:51:14
>>252
#include <stdio.h>
#include <string.h>

void setup()
{
    if (!freopen("in.txt", "r", stdin)) {
        perror("in.txt");
        exit(1);
    }
    if (!freopen("out.txt", "w", stdout)) {
        perror("out.txt");
        exit(1);
    }
}
int main()
{
    char buff[64], *p, *q;

    setup();
    while (scanf("%63s", buff) != EOF) {
        for (p = buff; q = strchr(p, '.'); p = q + 1)
            printf("%.*s\n", q - p + 1, p);
        if (*p)
            printf("%s ", p);
    }
    putchar('\n');
    return 0;
}
02542522007/02/14(水) 17:06:49
ありがとうございます。
警告が何個か出てますがきにしないでいいんですかね?
0255デフォルトの名無しさん2007/02/14(水) 17:09:33
>>254
無視しても問題はないけど、
#include <stdlib.h>
は追加しといてくれ。

代入式をforループの条件に使っていることに関する警告は無視しても構わない
0256デフォルトの名無しさん2007/02/14(水) 17:14:02
括弧で囲めばいいんじゃ無いか
02572522007/02/14(水) 17:14:55
了解しました。
ありがとうございました。
0258デフォルトの名無しさん2007/02/14(水) 17:19:13
VC++プログラマーちょっとこい!!
http://ex17.2ch.net/test/read.cgi/news4vip/1171440924/
0259デフォルトの名無しさん2007/02/14(水) 17:48:00
[1] 授業単元: program 演習
[2] 問題文(含コード&リンク):

typedef struct _Student Student;
struct _Student {
char name[10]; // 氏名
int p1; // 数学の得点
int p2; // 英語の得点
int p0; // 合計点
}
上記のような構造体で、学生の成績を格納し、構造体の配列で成績表を管理する。
最初に、データ数 num を入力する。データ数は4以上とする。
以降で、1行単位で、氏名 数学の得点 英語の得点 を入力する。
氏名と合計点を、合計点の低い方から3人だけ出力する。
同点の場合は、先に入力された方を優先する。

[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン: bcc32
 [3.3] 言語: C
[4] 期限: 19時まで
[5] その他の制限:
0260デフォルトの名無しさん2007/02/14(水) 18:50:49
よろしくお願いします。m(__)m
[1] 授業単元: 情報処理
[2] 問題文:
toupper,strcmp,strlen を用いずにそれらと同等の動作をする自作関数を作成せよ
[3] 環境 : Borland C++ 5.5
[3.1] OS: WindowsXP
[3.2]言語:C
[4]期限:2月15日 12時
0261デフォルトの名無しさん2007/02/14(水) 19:22:00
>>260
ほい。
#include<string.h>
int mystrlen(const char*a){return strchr(a,0)-a;}
int mystrcmp(const char*a,const char*b){return strncmp(a,b,-1);}
int mytoupper(int c){return c-97<26u?c^32:c;}
0262デフォルトの名無しさん2007/02/14(水) 19:42:51
>>260
int toupper( int ch ) { return ( ch += (('a'<=ch && ch <='z') ? 'A'-'a' :0) );}

int strcmp( char *a, char *b){
  while( *a !=NULL && *b !=NULL && *a++ == *b++ ) ;
  return ( *a - *b );}

int strlen(char *p){int cnt=0;
  while ( *p++ !=NULL) cnt++;
  return( cnt);
}
0263デフォルトの名無しさん2007/02/14(水) 21:12:47
>>262
*p++ !=NULLはないわ
0264デフォルトの名無しさん2007/02/14(水) 21:26:11
>>262
ch+=もないわ
0265デフォルトの名無しさん2007/02/14(水) 21:52:14
>263は同意
>264はウソ
0266デフォルトの名無しさん2007/02/14(水) 22:01:55
代入する意味ってあるの?
0267デフォルトの名無しさん2007/02/14(水) 22:10:53
>>266 判らないならスルーしてろw
0268>>2602007/02/14(水) 22:49:43
>>261
>>262
ありがとうございました
思ってたより早くて助かりました
0269デフォルトの名無しさん2007/02/14(水) 22:50:11
ないだろ。無駄に括弧多くて読みづらいし
0270デフォルトの名無しさん2007/02/14(水) 23:09:39
>>266
ch +='A'-'a'
小文字なら'A'-'a' を足す
0271デフォルトの名無しさん2007/02/14(水) 23:11:41
int toupper( int ch ) { return ch + (('a'<=ch && ch <='z') ? 'A'-'a' :0);}
0272デフォルトの名無しさん2007/02/14(水) 23:12:16
>>270
それなら代入する必要ないじゃん
0273デフォルトの名無しさん2007/02/14(水) 23:14:41
>>272
よくみりゃそーだな
0274デフォルトの名無しさん2007/02/14(水) 23:16:26
>>272 こう書かないと読めない?
ch = ch + ('A'-'a' );
0275デフォルトの名無しさん2007/02/14(水) 23:18:15
>>271
これなら読みやすい
0276デフォルトの名無しさん2007/02/14(水) 23:18:32
>>274
return してるから代入する意味無いと言っている件
0277デフォルトの名無しさん2007/02/14(水) 23:28:05
なんでここは未解決ほったらかしで
1つの問題に固執するんだ?
0278デフォルトの名無しさん2007/02/14(水) 23:39:22
>>276
debugerで返値を見てると予想
0279デフォルトの名無しさん2007/02/14(水) 23:43:59
>>277
ここは回答者が腕試しをするスレだもん。
0280デフォルトの名無しさん2007/02/15(木) 01:22:37
>>259
期限がよく分かんね
過ぎちゃったかな?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3653.c
0281デフォルトの名無しさん2007/02/15(木) 08:13:33
>>277
どこもそうでしょ
アイドルの話をする掲示板でも何かの話題で盛り上がると
埋もれて流れてしまう書き込みがあるし。
誰も答えていない面倒な依頼を探すより
指摘など即答できるものに盛り上がってしまう。
0282デフォルトの名無しさん2007/02/15(木) 11:16:05
みんな好きでやってんだから面白い議題に集中するのは当たり前。
どっかの誰かの宿題を解く義務はない。
0283デフォルトの名無しさん2007/02/15(木) 14:12:11
>>251
やってみた。
こういう計算初めてやったから自信ないけど……

bcc5.5で確認。
gccもLinuxもさわったことないので適切に修正お願い

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3657.txt
0284デフォルトの名無しさん2007/02/15(木) 15:32:29
[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク):
  プロンプト”input moji = ”に続けてgetchar()関数によりキーボードから文字を読み込み、
  putchar()関数で入力された文字を画面に出力し、これをEOFが読み込まれるまで続ける。  
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Visual Studio
 [3.3] 言語: C
[4] 期限: 明日AM9時
[5] その他の制限:よろしくおねがいします┏oペコリ
0285助けて・・・2007/02/15(木) 16:12:29
■プログラム課題:最小値を算出するプログラムを作る

3つの整数を入力し,その内の最小値を出力するプログラムを作成せよ.
但し,最小値を算出する関数,"min3"を自分で作成し用いなさい.
また,最小値の出力はメイン文で行うこと.
-------------------------------------------
"表示結果の例"
3つの整数を入力してください。
整数1:5
整数2:-4
整数3:0
最も小さい整数は-4
-------------------------------------------

<条件>
0.各自の課題であり,それぞれが自力でソースプログラムを作ること.
1.プログラム冒頭にプログラムの説明を入れる.
 (どうやって作ったかの説明を記述下さい.)
2.各ポイントにコメントを挿入し,内容が分かるようにしておく.
3.ソースが綺麗になるようにVCのタブ機能を使うこと.

お助けください!!!!!まじできない・・・
0286デフォルトの名無しさん2007/02/15(木) 16:17:27
>>285

tempalte <typename T>
T min3(T a0, T a1, T a2)
{
  return std::min(std::min(a0, a1), a2);
}
0287デフォルトの名無しさん2007/02/15(木) 16:26:25
ちょっとCっぽくありませんが、以下をお願いしますお(;^ω^)

課題:サイズnの配列をランダムでソートする場合、何回ソートを行うのが最適か、考えなさい。

一応作ってみたソースはこんな感じ

int a[size]をこれでシャッフル

void Shuffle(int a[],int size)
{
for(int i=0;i<size;i++)
{
int r=rand()%size;
int temp=a[i];
a[i]=a[r];
a[r]=temp;
}
}

よろしくお願いしますお( ^ω^ )
0288デフォルトの名無しさん2007/02/15(木) 16:37:54
>>284
#include <stdio.h>
int main(void) {
int c;
printf("input moji = ");
while((c=getchar())!=EOF) putchar(c);
}
0289デフォルトの名無しさん2007/02/15(木) 16:41:57
>287
CっぽくないどころかCとは無関係だろ。
0290デフォルトの名無しさん2007/02/15(木) 16:42:59
>>284
#include <stdio.h>
int main(void)
{
int ch=0;
    while ( EOF!=ch ) {
        printf("input moji = ");
        while ( EOF!=(ch=getchar()) ){
            putc(ch,stdout);
            if( ch=='\n')
                break;
        }
    }
    return 0;
}
0291デフォルトの名無しさん2007/02/15(木) 16:53:58
>>285
マルチだったのか
0292デフォルトの名無しさん2007/02/15(木) 18:30:31
>>287
この質問の意味が分からないのは俺だけ?
シャッフルしてるうちにいつかは整列される…って意味なら
配列の要素数をn、同じ要素の数をa#1, a#2・・・a#v としたら
n! / (a#1 * a#2 *・・・* a#v)
じゃね?
0293デフォルトの名無しさん2007/02/15(木) 18:35:50
>>292
俺もよう分からんが、
「サイズnの配列をランダムでソートする場合、何回ソートを行うのが最適か、考えなさい。」
たとえば
「a[5]={1,2,3,4,5} を 1回ソートしても、
0294デフォルトの名無しさん2007/02/15(木) 18:37:35
みすった

「a[5]={1,2,3,4,5} を 1回ソートしても、{3,2,1,4,5} みたいにランダムにはならない」
「つまり、何回くらい入れ替えればランダムっぽくなるか?」
的な問題かとオモタ

ていうか、「ランダムでソートする場合」って何?
0295デフォルトの名無しさん2007/02/15(木) 18:41:09
数学的にはn-1回の入れ替えでいいらしいけど、証明方法は知らん。
0296デフォルトの名無しさん2007/02/15(木) 18:42:28
ソートの意味分かってないんだろ
0297デフォルトの名無しさん2007/02/15(木) 18:42:50
>>295
単純選択ソート......
0298デフォルトの名無しさん2007/02/15(木) 18:46:16
乱数を用いて配列の要素を入れ替えるとき、何回入れ替えれば充分にランダムかってことじゃないの?
ソートって言葉を間違って使ってるからわかりにくいけど。
0299デフォルトの名無しさん2007/02/15(木) 18:48:41
なるほど。ソートの意味を違えていたのか。
よく気がついたな…。ム板はエスパー大杉。
0300デフォルトの名無しさん2007/02/15(木) 19:00:02
スワップ

>>295
タメニナルナー
0301デフォルトの名無しさん2007/02/15(木) 19:17:27
課題:サイズnの配列を
 ランダム := 無作為な交換
でソートする場合、何回
 ソート := 交換
を行うのが最適か、考えなさい。

こういうことか
0302デフォルトの名無しさん2007/02/15(木) 19:37:04
>>287のソースを見る限り、そーっすね
0303デフォルトの名無しさん2007/02/16(金) 00:37:59
>>295
「自分自身との入れ替え(つまり、実質入れ替わり無し)を含む」
やり方で n-1回 入れ替える

ってのが最小・均等なのかな?
0304デフォルトの名無しさん2007/02/16(金) 01:42:23
STRING STR="32"
INT I=ATOI(STR);

みたいな事できないの?
0305デフォルトの名無しさん2007/02/16(金) 01:48:52
できますが、スレ違いです
0306デフォルトの名無しさん2007/02/16(金) 01:55:16
>>288
>>290
ありがとうございます┏oペコリ
0307お願いしますm(_ _)m2007/02/16(金) 02:15:49
[1] 授業単元: 情報処理概論
[2] 問題文(含コード&リンク):1から5000までの素数をすべて計算せよ。
               計算した素数のうち、双子素数となっている組を出力せよ。
双子素数とは、連続した奇数が素数になっているものの組である。
[3] 環境 windowsXP
 [3.2] コンパイラ名とバージョン:VC 6.0 win32
 [3.3] 言語: visualC++
[4] 期限: 2007年2月20日13:00まで
[5] その他の制限: プログラム中でC++の掛け算、割り算*,/を使ってはいけない。
0308デフォルトの名無しさん2007/02/16(金) 02:52:47
>>307
#include<stdio.h>

int main(void){
    int i, j;
    int prev_prime=1;

    for(i=2;i<=5000;i++){
        for(j=2;j<i;j++)
            if(i%j==0) break;
        if(j>=i){
            if(i-prev_prime==2)
                printf("%d %d\n", prev_prime, i);
            prev_prime=i;
        }
    }
    return 0;
}
0309デフォルトの名無しさん2007/02/16(金) 03:02:32
>>307 言語間違えてた スマソ
#include<iostream>
int main(void){
    int i, j;
    int prev_prime=1;
    for(i=2;i<=5000;i++){
        for(j=2;j<i;j++)
            if(i%j==0) break;
        if(j>=i){
            if(i-prev_prime==2)
                std::cout << prev_prime << " " << i << std::endl;
            prev_prime=i;
        }
    }
    return 0;
}
0310デフォルトの名無しさん2007/02/16(金) 03:57:16
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3658.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C++
[4] 期限: 2月16日

よろしくお願いします。
0311デフォルトの名無しさん2007/02/16(金) 04:05:11
[1] 授業単元: Cプログラミング演習
[2] 問題文(含コード&リンク):
  キーボードからgets()関数によりchar型配列a[5]に整数を文字列として読み込み、
  atoi()関数を用いて文字列を整数に変換し、出力する。  
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Visual Studio
 [3.3] 言語: C
[4] 期限: 本日12時
[5] その他の制限:
0312デフォルトの名無しさん2007/02/16(金) 04:30:05
>>311
bcc5.5で動作確認。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[5];
puts("整数を入力 ※4桁以内");
gets(a);
printf("%d\n", atoi(a) );
return 0;
}
0313デフォルトの名無しさん2007/02/16(金) 04:40:57
こんな遅い時間にどうもありがとうございます^^
0314デフォルトの名無しさん2007/02/16(金) 05:08:05
>>309
いくらなんでもひどすぎだろ…
0315デフォルトの名無しさん2007/02/16(金) 07:57:04
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3661.txt
>>310
自信ないけどやってみた
C++ってあるけど、明らかに元ソースがCなので.cで作成。

誰かツッコミよろ (汗
0316デフォルトの名無しさん2007/02/16(金) 08:47:57
>>314
ひどくない解答plz
0317デフォルトの名無しさん2007/02/16(金) 10:02:25
>>315
助かりました。ありがとうございました。
0318デフォルトの名無しさん2007/02/16(金) 10:57:06
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
http://3rd.geocities.yahoo.co.jp/as_rmter/mondai.txt

[3] 環境
[3.1] OS: WindowsXP SP2
[3.2] コンパイラ名とバージョン: bcc55\bcc32.exe
[3.3] 言語: C
[4] 期限: できれば今日中
どなたかお願いします
0319デフォルトの名無しさん2007/02/16(金) 10:58:47
>318
問題文見れない
0320デフォルトの名無しさん2007/02/16(金) 11:19:55
http://3rd.geocities.jp/as_rmter/mondai.txt

すいませんでした
こっちのアドレスです
0321デフォルトの名無しさん2007/02/16(金) 11:29:05
カレンダーの仕様がわからん。
0322デフォルトの名無しさん2007/02/16(金) 11:57:24
仕様が分からんカレンダーを使用しよう
0323デフォルトの名無しさん2007/02/16(金) 12:00:59
またしようがない事を……
0324デフォルトの名無しさん2007/02/16(金) 12:08:25
すまん、突っ込ませてくれ!
lastday[1] += ((ty%4==0 && ty%100!=0) || ty%400==0);
式の評価で2月の日数に加算をしているんだろうけど、きんもぉ〜〜☆
0325デフォルトの名無しさん2007/02/16(金) 12:27:56
>>324
if ((ty%4==0 && ty%100!=0) || ty%400==0)
lastday[1] ++;

ならいいのか
0326デフォルトの名無しさん2007/02/16(金) 13:13:22
>>318
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3664.c
0327デフォルトの名無しさん2007/02/16(金) 13:26:59
>>326
ありがとうございました
0328デフォルトの名無しさん2007/02/16(金) 13:28:16
ttp://www.ispace.co.jp/tech/cgi/zeller.html
> この公式を使用する際は西暦1582年10月15日金曜日
> (グレゴリオ暦施行日)から有効になりますので注意
> この公式では1月、2月は前年の13月、14月として計算する事になっています。
念のために補足しとくっす。
0329デフォルトの名無しさん2007/02/16(金) 13:38:39
>>327
すまん、return 1; で終了させる条件の指定をミスったっす。面倒だから
if(year<=1582 && month<=10) return 1;
これを && month<=10 の部分は消しておいて。
1583年以降から適応ってことで if(year<=1582) にしといてちょっ。
0330デフォルトの名無しさん2007/02/16(金) 20:25:07
よろしくおねがいします
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):4行5列の行列の要素(整数)の最小値を求め表示する。。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual Studio.NET
 [3.3] 言語: C
[4] 期限: 2月17日12時
[5] その他の制限: if文、for文から配列まで習いました。
0331デフォルトの名無しさん2007/02/16(金) 20:57:53
>>330
こういう意味で良いの?
全角スペースは痴漢してちょ

#include <stdio.h>
a[4][5] = { // 超適当
  { 4, 2, -3, 3, 5 },
  { -1, 4, 0, 8, 23 },
  { 18, 2, 7, 9, 0 },
  { 22, -8, 9, 1, 18 }
};
int main(void)
{
  int i, j;
  int min;
  
  min = a[0][0];
  for (i=0; i<4; i++) {
    for (j=0; j<5; j++) {
      min = (a[i][j] < min) ? a[i][j] : min;
    }
  }
  
  printf("最小値: %d\n", min);
  
  return 0;
}
■ このスレッドは過去ログ倉庫に格納されています