[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 07/01 22:51 / Filesize : 375 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)]
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題片付けます 127代目
pc12.2ch.net/test/read.cgi/tech/1244449887/

159 名前:デフォルトの名無しさん [2009/06/28(日) 22:02:20 ]
>>155
C言語でアセンブラ出力する。

160 名前:デフォルトの名無しさん [2009/06/28(日) 22:35:48 ]
どなたか>>126お願いします

161 名前:145 mailto:sage [2009/06/28(日) 22:44:53 ]
>>087 scanf("%s\n", filename); // \nでは、<Enter>で入力が終わらない。
これか、  scanf("%s%*c", filename);
または、  scanf("%[^\n]%*c", filename);
これか、  fgets(filename, FILENAME_MAX, stdin); filename[strlen(filename) - 1] = '\0';

162 名前:デフォルトの名無しさん [2009/06/28(日) 22:50:03 ]
[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):の連立1次方程式の解をガウスの消去法用いて解くプログラムを作成しなさい。
   (この行列を使用してください
     {{10,-9,0,0,0,0,0,0},
  {-9,17,-8,0,0,0,0,0},
  {0,-8,17,-9,0,0,0,0},
{0,0-9,13,-4,0,0,0},
{0,0,0,-4,12,-8,0,0},
{0,0,0,0,-8,10,-2,0},
  {0,0,0,0,0,-2,2,7}})

[3] 環境
 [3.1] OS: Windows Vista
 [3.2] Visual Studio 2008
 [3.3] 言語: C++
[4] 期限: 2009年7月1日まで]
[5] その他の制限:特にありませんがなるべく簡単なものでお願いします


163 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:05:17 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9577.txt
[3] 環境
 [3.1] OS Linux
 [3.2] コンパイラ名とバージョン:不明
 [3.3] 言語:C
[4] 期限:7/3
[5] その他の制限:ポインタ配列を利用すること
お願いします

164 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:05:32 ]
[1] 授業単元:文字列
[2] 問題文(含コード&リンク):
#include<stdio.h>
int chrlen(int n,char a[]);
void cap2sml(char a[],char b[]);
void strinv(int n,char a[],char b[]);
int main(void)
{
char a[100],b[100];
int i,n;
n=0;
/*from CAPITAL to small*/
void cap2sml(char a[],char b[])
{
int i;
for(i=0;a[i]!='\0';i++){
b[i]=a[i]+0x20;
}
if("A"<=a)&&(a<="Z")
b[i]='\0';
}
↑入力データが英大文字のときのみ小文字変換して表示するようにせよ

[3] 環境
 [3.1] OS: Windows vista
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 2009年6月29日AM07:00
[5] その他の制限: 特になし


165 名前: ◆/91kCCQXBo mailto:sage [2009/06/28(日) 23:21:26 ]
>>155 N=3までの順列
#include <iostream>
using namespace std;
int main(void) {
  int i,j,k,n;
  cout<<"n="; cin>>n;
  cout.width(1);
  switch(n) {
  case 1:
    for(i=1;i<=1;i++) {
      cout<<i<<endl;
    }
    break;
  case 2:
    for(i=1;i<=2;i++) {
    for(j=1;j<=2;j++) {
      if(i==j) continue;
      cout<<i<<j<<endl;
    }}
    break;
  case 3:
    for(i=1;i<=3;i++) {
    for(j=1;j<=3;j++) {
      if(i==j) continue;
    for(k=1;k<=3;k++) {
      if(i==k || j==k) continue;
      cout<<i<<j<<k<<endl;
    }}}
  default:
    break;
  }
}

166 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:31:15 ]
>>163
入力はポインタでなくていいのかな。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9578.txt

167 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:40:54 ]
>>164
もうちょっと何がしたいのか
具体的に書いてくれると嬉しい。

#include <stdio.h>
#include <ctype.h>

void cap2sml(char a[],char b[]){
int i;
for(i=0;a[i];i++) b[i] = tolower(a[i]);
}

int main(void){
char a[100] = "I have a friend whose name is Bob.";
char b[100];

cap2sml(a,b);

puts(a);
puts(b);

return 0;
}



168 名前:デフォルトの名無しさん [2009/06/28(日) 23:53:41 ]
>>166
早速の回答ありがとうございます
入力は指定がないのでポインタでなくてもいいです


169 名前:155 [2009/06/29(月) 00:24:46 ]
>>165
ありがとうございます!

>>159
すみません、それはどういうことでしょう?

170 名前:デフォルトの名無しさん [2009/06/29(月) 00:27:46 ]
回答してもらえるとうれしいです。>>162


171 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:42:50 ]
>>170
みんな暇なときにやってんだからさ
そうせかすなよw

締め切りまだ近いわけじゃないしw

172 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:44:38 ]
[1] 授業単元:計算機システム
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9532.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月30日まで
[5] その他の制限:
ボスケテ



173 名前:デフォルトの名無しさん [2009/06/29(月) 01:07:25 ]
>>171
そうですね。つい焦っちゃって。
ごめんなさい。。


174 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:00:36 ]
>>173
昔作ったのでよければあげる。
データ変える程度ならちょっといじれば動くようになるはず。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9580.txt

175 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:26:03 ]
>>169
gcc と objdump が使えるなら
$ gcc a.c -c
$ objdump -d a.o > a.s
とかすればよかったとおもう

176 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:33:49 ]
gccならgcc -S foo.cで良くないか
わざわざディスアセンブルせんでも

177 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:43:03 ]
>>170

>>174さんのプログラムを使って作ってみたけどコアを吐く

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9581.txt

行列式ゼロなのか、それともピボット選択の必要があるのか



178 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 03:02:55 ]
>>162 {0,-9

179 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 03:15:45 ]
>>178
すみませんコピペミスしてました
でも、そこを直してもやっぱりコアダンプです

180 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 03:18:17 ]
行列が潰れている(行列式がゼロ)なんじゃないでしょうか?
それともやっぱりピボット選択した方がいいのかなあ?
デバッガ掛けてみたらやっぱり tmp がゼロになる時があり
Division by Zero という事でした

181 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 03:37:11 ]
>>162 #define N 8

182 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 09:09:12 ]
>>181
あら本当だありがとう
でもこれじゃ未知数8、数式は7しかない
これじゃ解けませんぜ旦那

>>170
どうする?元の行列もう一列足りないよ

183 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 09:11:56 ]
と思ったら

#define N 7

でOKなのねシクシク

という事で上げ直し

>>170
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9582.txt

学校行ってくる

184 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 12:39:00 ]
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
  kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9583.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: c++6.0
 [3.3] 言語:C
[4] 期限:6/29
[5] その他の制限:
よろしくお願いします。
   


185 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 12:45:43 ]
>>184
> B入出力例 こうならなければ修正する
これって授業中に「こうならなければ〜になるように修正する」って言われてるとおもうんだけど
「こうならなければ、こうなるようにプログラムを修正する」って話?

186 名前:デフォルトの名無しさん [2009/06/29(月) 12:49:58 ]
1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9584.txt
ヒントから表を並び替えて、
1) 総点順に並び換えよ。
2) 各科目別成績順に並びかえよ。

  [3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: C++
 [3.3] 言語:C 言語
[4] 期限:6/29
[5] その他の制限: 並び替えはdo,for,if,whileで習いました。
お手数ですがよろしくお願いします。


187 名前:デフォルトの名無しさん [2009/06/29(月) 13:01:28 ]
for(i=0;i<1800;i++)
{
fprintf(fpw,"[09x%4d]",i);
}
のようにやると
[09x@@@0]
[09x@@@1]
[09x@@@2]
…のようになってしまいます(@はスペ−ス)。
[09x0000]
[09x0001]
[09x0003]
…にしたいのですがやり方が分かりません。
教えてください





188 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:02:48 ]
%04d

189 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:32:39 ]
>>186(9584.c) >>113(9568.jpg) 問題 >>131(CODE) 解答

190 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 14:05:06 ]
>>186
名前さんは全部0点のわけだ。CSVファイル経由なんかだとよくあることだけどね。

191 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 14:13:04 ]
確実にデータ管理方法がおかしいことによる弊害ですねわかります

192 名前:デフォルトの名無しさん [2009/06/29(月) 15:42:04 ]
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):http:
//kansai2channeler.hp.infoseek.co.jp/cgi- bin/joyful/img/9587.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 明日 06月30日20:00まで
[5] その他の制限: 特にありません。

5問ありますが、5問目は必須ではないのでスルーして下さってもかまいません。


193 名前:192 [2009/06/29(月) 15:46:26 ]
リンク先の貼り付け失敗しました…
kansai2channeler.hp.infoseek.co.jp/cgi- bin/joyful/img/9587.txt



194 名前:46 [2009/06/29(月) 16:55:11 ]
>>48
レスさんくす。
それでやってみたのですが、2とか4とか2のn乗の数の場合うまくいかないのですが。

195 名前:デフォルトの名無しさん [2009/06/29(月) 17:16:57 ]
>>192
とりあえず、1問目だけ。
テキストの整形なんかは、適当に直して。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9588.txt

2問目以降は、
クイックソート, シェルソート, 挿入ソート, 選択ソート、マージソート
の、ベースになるソースとかない?
自前で書くと、細部の実装が授業の内容と合わなくなりそうだけど。

196 名前:デフォルトの名無しさん [2009/06/29(月) 17:17:23 ]
>>189さん
>>131(CODE) 解答の中のseito,returnなど
ならってないものが多くてわかりません。
授業でならったdo,for,if,whileを使っていただけると
とてもありがたいのですが。


197 名前:デフォルトの名無しさん [2009/06/29(月) 17:21:55 ]
>>194
while(n < x){ n *= 2; k++;} nが2のk剰「より大きい」

while(n <= x){ n *= 2; k++;} nが2のk剰「以上」





198 名前: ◆/91kCCQXBo mailto:sage [2009/06/29(月) 17:53:49 ]
>>186 >>196 教室で習ったソート(並び替え)のCソースをくれると、参考にする、かも。
#include <stdio.h>
#include <stdlib.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int cmp(const int *a, const int *b) {
  int t = a[1] - b[1];
  return (t==0)?0:(t>0?1:-1);
}
int main()
{
  int k;
  int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
  for(k=m-2; k>=0; k--) { /* 科目数のループ */
    printf("\n%sの点数で並び替え\n", kamoku[k+1]);
    if(k == m-2)
      for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
    else
      for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
    qsort(&index[1][0], n-1, sizeof(int)*2, (int (*)(const void*, const void*))cmp );
    for(i=1; i<n; i++) { /* 生徒数のループ */
      printf("%s", namae[index[i][0]]);
      for(j=0; j<m-2; j++){ /* 科目数のループ */
        printf("%6.0f",seiseki[index[i][0]][j]);
      }
      printf("%6.0f\n",goukei[index[i][0]]);
    }
  }
  return 0;
}

199 名前:デフォルトの名無しさん [2009/06/29(月) 18:02:17 ]
>>186
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9589.txt

できる限り、簡単に書いてみた。

200 名前:デフォルトの名無しさん mailto:9590.txt [2009/06/29(月) 18:23:20 ]
>>198さん >>199さん
ありがとうございます。
一応、授業でならった並び換えのCソースをはっときます。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9590.txt

201 名前:デフォルトの名無しさん [2009/06/29(月) 18:38:01 ]
[1] 授業単元:計算機言語T
[2] 問題文(含コード&リンク)
 キーボードから自然数nを1個ずつ入力する。入力を終える場合は0以下を入力する。
 入力終了後、入力した自然数の内、偶数と奇数がそれぞれ何個であったかを表示するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: (提出準備のため[2009年06月30日AM2:45まで] )
[5] その他の制限
 習った範囲は
  ・if文(if else文を含む)
  ・switch文
  ・for文(無限ループ含む)


偶数と奇数がそれぞれ何個あったか数える部分のプログラムが???です。
お願いします。


202 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:03:51 ]
>>201
こんなんでどうでしょ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9591.c

203 名前:デフォルトの名無しさん [2009/06/29(月) 19:10:42 ]
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9592.txt
               u9.getuploader.com/himajinn/download/190/DLL_files.zip
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C 
[4] 期限:7月1日まで
[5] その他の制限: 2問あります




204 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:21:00 ]
[1] 授業単元:
コンパイラの構成
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9593.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
7月7日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

よろしくお願いします。

205 名前:デフォルトの名無しさん [2009/06/29(月) 19:37:21 ]
>>195 ありがとうございます。

ソースはないですねぇ…
何と言うか、出来れば何でもいいような感じなので特に気にしなくて良いかと思います。

206 名前:184 mailto:sage [2009/06/29(月) 19:42:50 ]
>>185そういうことです。ヒントのプ口グラムをから作る感じです。よろしくお願いします

207 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:46:38 ]
シェルと挿入は前スレ807の使えば?



208 名前: ◆YtFiiqjbeo [2009/06/29(月) 19:49:27 ]
【質問テンプレ】
[1] 授業単元:プログラミング言語c
[2] 問題文(含コード&リンク):

www.dotup.org/uploda/www.dotup.org184216.txt.html
[3] 環境
 [3.1] OS:Windows
 [3.2] vc++
 [3.3] 言語: C
[4] 期限: 06月29日23:59時まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
名前と偏差値(最大10科目まで対応可)が書かれたファイル(最大5000人対応可)を読み込み、
各人の名前、学籍番号、平均偏差値などを出力ファイルに書き込むとともに、
平均偏差値上位5名を抽出してDOS窓表示するプログラムを作りなさい。
1、入力と出力のはおよび科目数はキーボード入力
2、ファイルからの読み込みは一度のみ、名前は二次元文字配列、偏差値は二次元数値配列に読み込むこと

実行例www.dotup.org/uploda/www.dotup.org184298.txt.html

お願いします

209 名前:201 [2009/06/29(月) 19:56:02 ]
>>202
有難う御座います。
ズバリですね。

210 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:25:23 ]
[1] 授業単元:基礎プログラミング
[2] 問題文(含コード&リンク):

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9594.txt

[3] 環境
 [3.1] OS: Windows Vista
 [3.2] Visual Studio 2008
 [3.3] 言語: C++
[4] 期限:7月2日まで
[5] その他の制限:できるだけ元のソースを弄らずにお願いします。


211 名前:デフォルトの名無しさん [2009/06/29(月) 22:34:52 ]
次の条件判断文を使うケースをフローチャートにせよ



変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる



文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。


変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する


#include<iosteam>
using namespace std;
int main{

return 0;
}
は多分いいと思いますが

212 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:35:17 ]
>>210
goukei += kata[i]; → goukei += ninzuu[i];

213 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:47:57 ]
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク)
アルゴリズムの異なる2つのプログラムを作成し、処理時間の違いを比較せよ。
できるだけ処理時間の違いが顕著なもの。
例:マージソートとバブルソート
[3] 環境
 [3.1] OS:Windows
 [3.2] Visualstudio2008
 [3.3] 言語:C++
[4] 期限:2009年7/7
[5] その他の制限:

214 名前: ◆/91kCCQXBo mailto:sage [2009/06/29(月) 23:20:13 ]
>>186 >>200 成績一覧(バブルソート)
#include <stdio.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int main()
{
  int k, S;
  int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
  for(k=m-2; k>=0; k--) { /* 科目数のループ */
    printf("\n%sの点数で並び替え\n", kamoku[k+1]);
    if(k == m-2) for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
    else for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
    /* 作業用の配列を並び替える(バブルソート) */
    for(i=1;i<n-1;++i)
      for(j=2;j<n+1-i;++j)
        if(index[j-1][1] < index[j][1]){
          S = index[j][1], index[j][1] = index[j-1][1], index[j-1][1] = S;
          S = index[j][0], index[j][0] = index[j-1][0], index[j-1][0] = S;
        }
    for(i=1; i<n; i++) { /* 生徒数のループ */
      printf("%s", namae[index[i][0]]);
      for(j=0; j<m-2; j++){ /* 科目数のループ */
        printf("%6.0f",seiseki[index[i][0]][j]);
      }
      printf("%6.0f\n",goukei[index[i][0]]);
    }
  }
  return 0;
}

215 名前:デフォルトの名無しさん [2009/06/29(月) 23:35:04 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9596.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc 3.4
 [3.3] 言語:C
[4] 期限:2009年6月30日正午まで
[5] その他の制限: なし

216 名前:デフォルトの名無しさん [2009/06/29(月) 23:40:08 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
www.dotup.org/uploda/www.dotup.org185487.txt.html
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語:C
[4] 期限: 6月30日23:59
[5] その他の制限: 特になし

よろしくお願いします

217 名前:デフォルトの名無しさん [2009/06/29(月) 23:45:45 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
www.dotup.org/uploda/www.dotup.org185515.txt
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:6/30
[5] その他の制限: なし



218 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:02:18 ]
[1] 授業単元:プログラミングT
[2] 問題文(含コード&リンク):入力した数字(最大8行)を,
「*」を用いて花文字で表示するプログラムを作成しなさい.
なお,花文字の形状は各自自由に考えてください(可読できれば問題ありません).
例:数字を入力してください:56
****  *****
*      *
****  *****
     * *     *
****  *****
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月3日
[5] その他の制限:柴田望洋 明解C言語入門編4章まで

お願いします

219 名前:211 [2009/06/30(火) 00:16:01 ]
if(a < b)
{
__cout("aはbより小さいです\n");
}
else
{
__a = a + b;
}

if(m == 'a')
__cout("aが格納されています\n");
}
else
{
__printf("\'a\'でない文字が格納されています\n");
}

if(a < b)
{
__cout("aはbより小さいです\n");
}
else if(a == b)
{
__cout("aとbは等しいです\n");
}
else
{
__cout("aはbより大きいです\n");
}

じゃあこれをフロートチャートにしてくれませんか?誰でもいいので。

220 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:40:35 ]
>>219
フローチャートを書くためのツールをください

221 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:56:03 ]
>>203
ライブラリうp記念にやってみた
問1 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9597.txt
問2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9598.txt

222 名前:デフォルトの名無しさん [2009/06/30(火) 00:56:04 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9599.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: ?
 [3.3] 言語: C言語
[4] 期限: 7月2日9時
[5] その他の制限: ポインタと配列まで習いました

223 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 01:02:23 ]
>>218
こんなんでどうでしょ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9600.c

224 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 01:20:28 ]
>>222
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int **p, n, i, j;

printf("何段表示しますか?: ");
scanf("%d", &n);

p = calloc(n, sizeof(int*));
for(i=0; i<n; i++) p[i] = calloc(i+1, sizeof(int));

for(i=0; i<n; i++) {
for(j=n-1; j>i; j--) printf("   ");
p[i][0] = p[i][i] = 1;
for(j=1; j<i; j++) p[i][j] = p[i-1][j-1] + p[i-1][j];
for(j=0; j<=i; j++) printf("%3d   ", p[i][j]);
putchar('\n');
}

for(i=0; i<n; i++) free(p[i]);
free(p);

return 0;
}

225 名前:222 [2009/06/30(火) 01:50:15 ]
>>224の通りに打ち込んでもうまく出来ませんでした><
どうしてなんでしょう?

226 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 02:20:14 ]
>>225
エラーの内容をコピペしてみて。

227 名前:デフォルトの名無しさん [2009/06/30(火) 02:20:22 ]
>>225
>>224さんではないですがどんなエラーが出たんでしょうか?
私もコンパイルしてみましたがunknown escape sequence:'\216'と言うエラーが出たので、そこだけ修正してちゃんと動作しました
>>224さんの空白文字を修正をしたものを張っておくのでもしよければどうぞja.pastebin.ca/1478546



228 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 02:31:44 ]
>>225
codepadで確認したけど、エラーでなかったよ
codepad.org/5h347P3K
(入力部分だけ変更してあるので注意

ついでに35段目でオーバーフローすることを確認したw

229 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 02:57:33 ]
半角スペース省略回避の&nbsp;が悪さしてんのか?

230 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 06:50:57 ]
>>223
ありがとうございます。
まだ習ってない部分もありますが
解読してみようと思います

231 名前:デフォルトの名無しさん [2009/06/30(火) 07:12:58 ]
>>208お願いします。

232 名前:222 [2009/06/30(火) 08:33:36 ]
正しくコンパイルできてエラーは出ませんでしたが
数字を入力したあとになにも表示されませんでした。
今教えてもらったプログラムを解読しているとこです。

233 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 09:47:26 ]
>>227
sjisだと漢字の`表'は0x955cになるが、0x5cはASCIIでは`\'だから、
その次の文字`示'(0x8ea6)の0x8e(\216)がエスケープシーケンスにされちゃうんだよ。
$ od -tx1z -Ax foosjis.c | grep -1 '5c 8e'
000050 0a 0d 0a 70 72 69 6e 74 66 28 22 89 bd 92 69 95 >...printf("...i.<
000060 5c 8e a6 82 b5 82 dc 82 b7 82 a9 3f 3a 20 22 29 >\..........?: ")<
000070 3b 0d 0a 73 63 61 6e 66 28 22 25 64 22 2c 20 26 >;..scanf("%d", &<
`表'意外にもこうした問題を起こす文字がsjisにはあるから、ほんと困ったもんだ。
さっさと文字コード統一してくれ。

234 名前:デフォルトの名無しさん [2009/06/30(火) 09:51:03 ]
[1] 授業単元:確率論
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9602.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2009年7月5日12:00まで]
[5] その他の制限: 既存のRAND関数使用不可

1.合同式法による一様乱数を生成する関数
2.ボックスミュラー法による正規乱数を生成する関数
3.平均値を求める関数
4.標準偏差を求める関数
5.ヒストグラムを作成する関数
の5個の関数から構成されるのは分かるのですが、その後どうすれば作れるのか見当もつきません。

宜しくお願い致します。

235 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 09:53:05 ]
>>233
--input-charset=cp932
とかでググってはどうだろうか

236 名前:デフォルトの名無しさん [2009/06/30(火) 10:02:10 ]
>>215
誰か助けてm(__;)m

237 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:02:27 ]
いや、sjisとかcp932とか使わないからどうでもいいんだよ。
ただ変換するコードを書くのが面倒だし毎度変換するだけの無駄なクロックが使われていると思うとね。
さっさと文字コード統一してくれ、といいたくなる。



238 名前:デフォルトの名無しさん [2009/06/30(火) 10:21:12 ]
>>199さん
合計と科目別すべて一緒に表示したいときは
どうすればいいですか?

239 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:39:15 ]
文字コードは、英語のAtoZしか使わないから関係ない人へ。
SPACE->&nbsp;置換お疲れ。

240 名前:239 ◆/91kCCQXBo mailto:sage [2009/06/30(火) 12:02:47 ]
>>186 >>238 成績一覧(選択ソート) 199が選択ソートなので再UP
#include <stdio.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int main()
{
  int k, p, S;
  int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
  for(k=m-2; k>=0; k--) { /* 科目数のループ */
    printf("\n%sの点数で並び替え\n", kamoku[k+1]);
    if(k == m-2) for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
    else for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
    /* 作業用の配列を並び替える(選択ソート) */
    for(i=1; i<n-1; i++){
      p = i;
      for(j=i; j<n; j++)
        if(index[p][1] < index[j][1]) p = j;
      S = index[i][1], index[i][1] = index[p][1], index[p][1] = S;
      S = index[i][0], index[i][0] = index[p][0], index[p][0] = S;
    }
    for(i=1; i<n; i++) { /* 生徒数のループ */
      printf("%s", namae[index[i][0]]);
      for(j=0; j<m-2; j++){ /* 科目数のループ */
        printf("%6.0f",seiseki[index[i][0]][j]);
      }
      printf("%6.0f\n",goukei[index[i][0]]);
    }
  }
  return 0;
}

241 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 13:02:41 ]
>>239
何かを皮肉っているように読めるけど、何を指してるのかよくわからんや

242 名前:デフォルトの名無しさん [2009/06/30(火) 13:46:46 ]
>>238
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9604.txt
一番簡単なのは、もう1つ外側でループしてやることかな・・・と。



243 名前:デフォルトの名無しさん [2009/06/30(火) 14:37:33 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9605.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語: C++
[4] 期限: 7月1日12:00
[5] その他の制限:特になし
よろしくお願いします

244 名前:デフォルトの名無しさん [2009/06/30(火) 14:51:32 ]
〔1〕授業単元:C言語
〔2〕問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9601.txt

〔4〕期限:7月6日
〔5〕ポインタ配列

お願いします

245 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:14:36 ]
>>208
手遅れ感がすごいけど一応。
こんなんでどうでしょ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9606.c
スタックに配列取ってるのはそうした方が主旨に沿いそうな気がしたから。

246 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:37:05 ]
>222
>>224の通りに打ち込んでもうまく出来ませんでした><
>どうしてなんでしょう?
何がうまくないんでしょう?

Answer1:パスカルの三角形が気に入らない
Answer2:パソコンが壊れてる。電源が入らない。パソコンを持ってない。
Answer3:コンパイル環境が無い
Answer4:コンパイルエラーが出る!
Answer5:実行はするが変な文字が出る

Ans 5.ならコンパイラの名前を : ( )
...テンプレ...
[3.2] コンパイラ名とバージョン: (gcc 3.4/VC 6.0等)
...テッパン...
gcc --input-charset=cp932 --exec-charset=cp932 file.c

247 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:38:04 ]
ググってわからなかったので、質問させてください。
%eを使って表示したいのですが、
表示させたときにeの左側の小数部分の表示桁数を指定するにはどうすればいいですか?



248 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:40:48 ]
printf("%XXX.XXXe", f); // Xは0-9の数字

249 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:41:38 ]
その辺は書式といいます。

c言語 書式 などでぐぐるといろいろでてくると思います。

少数を扱う場合は

%1.5e
などと書きます

250 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:46:35 ]
ありがとうございます。
書式でググればよかったんですね。

251 名前:デフォルトの名無しさん [2009/06/30(火) 15:48:50 ]
>>234
とりあえず、中心極限定理の場合
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9608.txt

正規乱数に変換する部分を書き換えれば、ボックスミュラーの方にも使えるっしょ。
ヒストグラムはカウントだけしておいて、EXCELで処理ってことで。


252 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:51:31 ]
>>244
全部まとめて、こんな感じで。動作は保障しない。ソースの整形はご自分で!
#include <stdio.h>
#include <stdlib.h>
void swap(int* a,int* b){int T=*a;  *a = *b *b = T;}
void InitCard(int* Card,int N){int i=0; for(i=0;i<N;i++) Card[i]=i+1;}
void Shuffle(int* Card,int N){int i=0;  for(i=0;i<N;i++) swap(&Card[i],&Card[rand()%N]);}
int main(){
    int Card[52];
    int i=0;
    char* Number="A23456789TJQK";
    char* Mark="shdc";
    srand(0);
    InitCard(Card,52);
    /****************No.1**********************/
    Shuffle(Card,52);
    for(i=0;i<52;i++) printf("%d ",Card[i]);
    printf("\n\n");
    /****************No.2**********************/
    InitCard(Card,52);
    for(i=0;i<52;i++) printf("%d:%c ",i,Number[(Card[i]-1)%13]);
    printf("\n\n");
    /****************No.3**********************/
    InitCard(Card,52);
    for(i=0;i<52;i++) printf("%c%c ",Number[(Card[i]-1)%13],Mark[(Card[i]-1)/13]);
    printf("\n\n");
    return 0;
}

253 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:52:01 ]
すみません。
もう1つ質問なのですが、
無限ループでとある計算を行い、
xが10の-10乗より小さくなったときに無限ループを脱出するプログラムを作りたいのですが、

if(x < 1.0e-10)
break;

では、コンパイルエラーが出ました。
ここは、やはり

if(x < 0.0000000001)

と、書くしか方法はないのでしょうか?

254 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:53:48 ]
>>253
無限ループは何で実現してるの?

255 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:56:24 ]
>>525
ソース詰めてるときにセミコロン消しちゃった。申し訳ない。
正しくは以下。
void swap(int* a,int* b){int T=*a;  *a = *b; *b = T;}

256 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:56:51 ]
すみません。
While(1)
です

257 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 16:02:36 ]
>>252
上が駄目で下がOKならそういうことではないかと
ただなぜかといわれると規格とかの話になりそうなので詳しくはわかりませんが。
制御文には指数は使えないのかも



258 名前:デフォルトの名無しさん [2009/06/30(火) 16:10:54 ]
>>192 お願いします。

259 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 16:16:22 ]
>>253
これをコピペしてもダメ?(必ずコピペで)
コンパイラは何使ってるの?
#include<stdio.h>

int main(void){
double x=1;

while(1){
if(x < 1.0e-10) break;
x/=10;
}
printf("%.15f\n", x);
return 0;
}






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<375KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef