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

暇な人がエレガントにC/C++の宿題片づけます 33代目

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
暇な人がエレガントにC/C++の宿題を片づけて見せます。
――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
 解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html

【歴代スレは>>2-10】
0002デフォルトの名無しさんNGNG
31代目: http://pc5.2ch.net/test/read.cgi/tech/1095075678/
30代目: http://pc5.2ch.net/test/read.cgi/tech/1091954342/
29代目: http://pc5.2ch.net/test/read.cgi/tech/1090765027/
28代目: http://pc5.2ch.net/test/read.cgi/tech/1089974839/
27代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
1代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
0003デフォルトの名無しさんNGNG
32代目は諸事情によりお見せできません。
どうかご了承ください。
0004デフォルトの名無しさんNGNG
前スレが終わってからでも遅く無いのに
0005デフォルトの名無しさんNGNG
【注意点追加】
・複雑なAAはスレが荒れたり問題を埋もれさせてしまう原因に
 なりますので、使用を控えてください。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
0006デフォルトの名無しさんNGNG
ダディクールがC/C++の宿題を片づけます 32代目
http://pc5.2ch.net/test/read.cgi/tech/1097592876/l50

↑使い切って、その時点でここ残っていれば移行すれば?
0007デフォルトの名無しさんNGNG
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:

テンプレに沿って質問したほうが回答者も正確な情報をつかみやすくなります。
問題文はこう書いたほうが分かりやすいだろうとか自分で勝手に改変しないでください。
原文をそのまま忠実に書いてください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0008デフォルトの名無しさんNGNG
>>6
過去スレあさる奴が迷惑だろ?
あんなAAばっかの糞スレなんか
0009デフォルトの名無しさんNGNG
安心しろ。過去スレあさる奴なんていない。
0010デフォルトの名無しさんNGNG
>>8
AAばっか貼ってたのもあんたじゃないの?
0011デフォルトの名無しさんNGNG
さぁ毎度お馴染みの最悪な空気です
つか、前1の影響引きずってるなー
0012デフォルトの名無しさんNGNG
>>10
違う。
漏れは歴代スレの2-3でお世話になってた者
今では回答者側に回ってる。
ここのスレにお世話になったから変なAAでいっぱいになるのがつらかった。
だからこのスレたてた。
0013デフォルトの名無しさんNGNG
今1=前1
だったりしてな
0014デフォルトの名無しさんNGNG
ま、ガンバレ
俺はあっちが終わるまでは、重複に質問するようなのは無視する
0015デフォルトの名無しさんNGNG
削除依頼しておく。
0016デフォルトの名無しさんNGNG
>>15
それならついでに前スレのAAのレス削除依頼してきて
0017デフォルトの名無しさんNGNG
こっちはその時(あっちを使い切ったとき)がくるまでじっくり寝かせておこう。
0018デフォルトの名無しさんNGNG
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       /|(●),   、(●)、.:::::::::::::::|
  | |       |   ,,ノ(、_, )ヽ、,, .U :::::::::::::::| なにこのスレ……
  | |      .|U  `-=ニ=- '  .::::::::::::U:::|
  | |       |    `ニニ´ U.....:::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::
0019NGワードNGNG
(●)
0020デフォルトの名無しさんNGNG
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       /|(○),   、(○)、.:::::::::::::::|
  | |       |   ,,ノ(、_, )ヽ、,, .U :::::::::::::::| なにこのスレ……
  | |      .|U  `-=ニ=- '  .::::::::::::U:::|
  | |       |    `ニニ´ U.....:::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::
0021NGワードNGNG
\((●|○)\)
0022デフォルトの名無しさんNGNG
前スレタイよりはまし。
0023デフォルトの名無しさんNGNG
ただ、感情にまかせてスレ立てするのはいただけない
気持ちはわかるが。
0024デフォルトの名無しさんNGNG
Linax 2.4.23 SCHED.C を修正して FAIR TIME SCHEDULING にしなさい。
というものです。どうか、よろしくお願いします。
0025デフォルトの名無しさんNGNG
あっ、間違いました。Fair Share Scheduling です。
すみません、よろしくお願いします。
0026デフォルトの名無しさんNGNG
Linux 2.6.0 を修正してマイクロカーネルにしなさい.
というものです.どうかよろしくお願いします.
0027デフォルトの名無しさんNGNG
>>26
良い課題に恵まれたんですね.いいなぁ.
GNU Hurd のソースとかは参考になるのかな?
0028デフォルトの名無しさんNGNG
なんか凄いね。

会社で良い組み込み系OS探してんだが、
調べてる暇も無いので、完成したらパクらせて欲しい。
0029デフォルトの名無しさんNGNG
    /\___/ヽ
   /''''''   '''''':::::::\     
  . |(●),   、(●)、.:| + >>26 全部自分でやりなさい。
  |   ,,ノ(、_, )ヽ、,, .::::|.    
.   |   `-=ニ=- ' .:::::::| +   
   \  `ニニ´  .:::::/  +  
,,.....イ.ヽヽ、ニ__ ーーノ゙-、    
:   |  '; \_____ ノ.| ヽ i   
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||.
0030デフォルトの名無しさんNGNG
>>26
既にそういうプロジェクトがあるようです.
http://research.nii.ac.jp/H2O/
0031デフォルトの名無しさんNGNG
質問テンプレ】
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:winXP
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:今日中
[5] その他の制限:特に無し

C言語初心者です。課題で迷っています。
strcmp関数(文字列の比較する関数)と同じ働きをする関数αを作りたいですがどのように作れば良いのか分かりません。教えて下さい。
ちなみに関数の作り方の構文は知っています。

003231NGNG
開発環境はMicrosoft Visual Studio .NET 2003
0033デフォルトの名無しさんNGNG
>>31
関数の作り方の構文とは何だ。
ていうか、前スレ終わってから使えよ、ここを。
0034デフォルトの名無しさんNGNG
>>31 動作確認もしとらんがこんなもんだろ。マルチやめれ。

int α( char* a, char* b )
{
while( *a && *b && *a == *b ) { a++; b++; }
return *a - *b;
}
0035デフォルトの名無しさんNGNG
マルチなんかに答えてやるなよ
0036デフォルトの名無しさんNGNG
まぁそうなんだが、誰か答えれば止めるだろうと...
0037デフォルトの名無しさんNGNG
そうやって甘やかす香具師がいるから図に乗ってマルチすんだろが
0038デフォルトの名無しさんNGNG
そうやって誰も答えないからさらにマルチするんだろが。

ま、素人のマナー違反にカリカリしなさんな。
0039デフォルトの名無しさんNGNG
>>38
あっちでみんな答えてるだろうが。
お前のマナー違反をどうにかしろ馬鹿野郎
0040デフォルトの名無しさんNGNG
↑あっちこっちにまともな回答がないから書いたわけだが...

不毛なのでもうやめ。逃げるにあらず。
0041デフォルトの名無しさんNGNG
逃げやがった
0042デフォルトの名無しさんNGNG
>>40
ちゃんと答え出てるのにな。ああ、お前が理解できないだけか。
逃げた馬鹿に何を言ってもしかたがないけど。
0043デフォルトの名無しさんNGNG
ヘタレ野郎を追い詰めるスレはここですか?
0044デフォルトの名無しさんNGNG
別板より誘導されたのでここで質問します。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク):http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=126

[3] 環境
 [3.1] OS:WinXP
 [3.2] コンパイラ(バージョン):Microsoft Visual C++ 6.0
 [3.3] 言語:C
[4] 期限:10月22日まで

リンク先のプログラムはL x M 行列 A と M x N 行列 B の積 C(Cは L x N 行列)
を求めるプログラムですが、これを
「行列Bを、転置行列に変換してからAとの積を求める」プログラムにするには
どうしたらいいいか回答をお願いします。
0045デフォルトの名無しさんNGNG
>>44
ていうか、前スレ終わってから使えよ、ここを。
0046デフォルトの名無しさんNGNG
>>44
正方行列でなくても転置行列って定義できるのか?
というか題意の通り行と列をひっくり返したら正方行列でないと積が不可能になっちまう。
0047デフォルトの名無しさんNGNG
>>46
..........................................................................
0048デフォルトの名無しさんNGNG
>>47
何が言いたいのか低学歴なヲレにも分かるような表現をしてくれ
004944NGNG
行列Bは転置したあとに 必ずM x N 行列となると考えていいです。
0050デフォルトの名無しさんNGNG
Bを転置する関数かいて放り込めばいいやん
それぐらいやれ
0051デフォルトの名無しさんNGNG
すいません!よろしくお願いします!(赤、緑、青、白、黒を示すプログラム)
赤、緑、青の数値の中で

(1)まず青の数値の割合が20〜26%の時に白
(2)次に赤、緑、青のうちで最も割合の多い色を示し
(3)それ以外は黒
とするプログラムを作成願います。
自分はif文のただ羅列で行き詰ってしまったのでお手数ですが。
0052デフォルトの名無しさんNGNG
>>51
マルチは放置
0053デフォルトの名無しさんNGNG
>>36
>>38
早く答えてやれよ
出番だぜ
0054デフォルトの名無しさんNGNG
>>51
RGB各プレーンを対象とするということか?
(1)はBプレーン以外は関係ないのか?
(2)は各プレーンのうち一番明るいプレーンがどれかということか?
(3)は(1)以外で(2)以外と解釈すると有り得ないがどういう意味か?
0055デフォルトの名無しさんNGNG
>>54
(1)はBプレーン以外のものはなんでもいいんじゃない!
それから(2)と(3)は逆のプログラムすればいいと思うがそれにしてもムリそうだな!
0056デフォルトの名無しさんNGNG
>>51
何をしたいのか全く分からん。そのif文だらけになった
自分で書いたコードをさらしてみよ。理解の一助になるかも知れん。
0057デフォルトの名無しさんNGNG
そうやって甘やかす香具師がいるから図に乗ってマルチすんだろが
0058デフォルトの名無しさんNGNG
ここって、甘やかすためのスレではなかったのですか?
0059デフォルトの名無しさんNGNG
マルチする奴にやってはいけませんよと優しくささやくスレですが?
0060デフォルトの名無しさんNGNG
エラストテネスのふるいで100までの素数を求める方法キボンヌ
0061デフォルトの名無しさんNGNG
ていうか、前スレ終わってから使えよ、ここを。
0062デフォルトの名無しさんNGNG
>>60
工夫という工夫、一切なし。
#include <iostream>
static const int PRIME_MAX = 100;
int main()
{
  int prime[PRIME_MAX + 1];
  for (int i = 2; i <= PRIME_MAX; ++i)
    prime[i] = 1;
  for (int i = 2; i <= PRIME_MAX; ++i)
  {
    int notprime = i;
    while ((notprime += i) <= PRIME_MAX)
      prime[notprime] = 0;
  }
  for (int i = 2; i <= PRIME_MAX; ++i)
    if (prime[i]) std::cout << i << ' ';
  std::cout << std::endl;
}
0063デフォルトの名無しさんNGNG
て い う か 、 前 ス レ 終 わ っ て か ら 使 え よ 、 こ こ を 。
0064デフォルトの名無しさんNGNG
つまり前スレ終わってからここを使えってことか?
0065デフォルトの名無しさんNGNG
「ていうか」ってなんですか?
0066デフォルトの名無しさんNGNG
もうこのスレ埋め立てするの?
0067デフォルトの名無しさんNGNG
本当にまずいんです!よろしくお願いします!(赤、緑、青、白、黒を示すプログラム)
赤、緑、青の数値の中で

(1)まず青の数値の割合が20〜26%の時に白
(2)次に赤、緑、青のうちで最も割合の多い色を示し
(3)それ以外は黒
とするプログラムを作成願います。
自分はif文のただ羅列で行き詰ってしまったのでお手数ですが。

>>54
違います!

>>56
すいません。いやになって消してしまいました

>>57
どうかお願いします!
0068デフォルトの名無しさんNGNG
>>60
サンクス!!繰り返しの仕方かなり参考になるわ。初心者でスマヌ。
0069デフォルトの名無しさんNGNG
だから何を言いたいのかまったく分からないと書いているだろうに。
こんなんでいいんかいな。
#include <stdio.h>
int max(double x[3]){
  return x[0] < x[1] && x[1] < x[2] ? 2 : x[0] < x[1] && x[1] > x[2] ? 1 : x[0] > x[1] && x[1] > x[2] ? 0 : x[0] < x[2] ? 2 : 0;
}
int main(void){
  double color[3];
  const char* colorname[3] = {"赤", "緑", "青"};
  printf("%s(%%)?:", colorname[0]);
  scanf("%lf", &color[0]);
  printf("%s(%%)?:", colorname[1]);
  scanf("%lf", &color[1]);
  printf("%s(%%)?:", colorname[2]);
  scanf("%lf", &color[2]);
  if (color[0] < 0.0 || 100.0 < color[0] ||
      color[1] < 0.0 || 100.0 < color[1] ||
      color[2] < 0.0 || 100.0 < color[2]) {
    printf("Error!:0%未満、または100%以上のものがあります!");
    return 1;
  }
  if (20.0 <= color[2] && color[2] <= 26.0) {
    printf("白\n");
    printf("最大のものは%s\n", colorname[max(color)]);
  }
  else
    printf("黒");
  return 0;
}
007051NGNG
>>67
誰だよ!俺のフリして書き込みしてるアホは!
>>69
どうもありがとうございました、ご恩に尽きます。
0071デフォルトの名無しさんNGNG
恩に尽きちゃうのか。
0072デフォルトの名無しさんNGNG
              ,,;:-‐''"⌒ ̄";;;;;;;⌒ ̄"ヾ、
              ='-‐''"/,::´ /::::::::::::::::ヽ :::`ヾ
              ァ'´.,:´/.::::::/i:: :::::. :; :::丶 ::::::ヾ、
             / / ::/.:  { l ヽ_,,,_`、 .:`、ヽ:::::::ヽ`
              {::/ァ' .i..:/i.::{::{.ヾ~::i:ヾ丶::::::.::::i:::::::::}
          、_ノ'.{ .::::{-{‐{:;iヾ{ '"T ヾ il.|'.:::.::}::::::::ト、
              l.:il :lヽi'"ヽ`、ヽ .l,'゚i!'〉リi}::i:::::l:::ノ::ハヽ、_
麻衣子は        {:| i .} } {'゚}.   ┴-' i}:ノl::::}::i:::::. l`ー"
 お風呂入るから   {、.ヾ-i ー´、    〃 ノ:::ノ::ノ::}:: ::. }
  ちょっと待っててね   ノト " っ   、_,;-':.:'/:::::::l: : l
                {:l:::`i::..、   ._.,.;:イシ:::/::ノ   l、
                iんV´iノノ` ツi iリノツ-‐''"  :: : ヽ 、
             _,-.r‐i {,-ト .i_,,ノ-‐-―/ : : :::ノ :::::.  } `、
            ( l ./ /~   /     .ノ/:::::/:  ::::::: : :l
           (.._,,iツvV   .,'     ,'::{:::;:::::   :::::::: :::i
          `ー7/::::{. '"~/     {;;;li/::::l::::::  :::::::::::::{
            {:l(ァ'  ,, '      l::;;|l/:::{i::::: : ::: :::: ::::l
            リァ' .,  ´       /メ{ {l:::/ {:::l:. :  :  ::::|
           /, ´      ノ // l {iメ {:::|i:: :    :::l
          /./       /::'/:/  {:i:|イ{ i::l::  i    ::}
          i' ´      /::::::/::/    l .:|::::|:l:::l : l :   ::l
          {      , イ´  /::;/  .ィ´:| }::::l:i::::i:i:. .| : :.  ::l
            i、__,, ィ i::::l  /:,:::l //l::::l .}::::li:::::l l::::} i: i  :::l
0073デフォルトの名無しさんNGNG
>>72
( ゚Д゚)ゴルァ!!
こっちきちゃダメ。
0074デフォルトの名無しさんNGNG
xが整数であるかどうかを,if文で判別したいんですが,どうすればいいんかな?
0075デフォルトの名無しさんNGNG
doubleのxのことか?
0076デフォルトの名無しさんNGNG
xは文字列ではないかと超予想
0077デフォルトの名無しさんNGNG
>>76
エスパーキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
007874NGNG
>>75
そう,xはdoubleっす
0079デフォルトの名無しさんNGNG
>>74
if(x == (int)x)
で、望みの結果が得られるかもしれない。
0080デフォルトの名無しさんNGNG
   / ̄ ̄ ̄ ̄ ̄ ミ
  /   ,――――-ミ
 /  /  /   \ |
 |  /   ,(・) (・) |
  (6       つ  |
  |      ___  |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |      /__/ /  < なわけねぇだろ!
/|         /\   \__________
0081デフォルトの名無しさんNGNG
>>80
なんで?
0082デフォルトの名無しさんNGNG
望みの結果がintに収まる範囲でのみ、で桶なら
0083デフォルトの名無しさんNGNG
(x+0.5)(int)
四捨五入な。
008474NGNG
>>79
さんくす
0085デフォルトの名無しさんNGNG
ファイルを読み込むときにその前にscanfで入力した値に
依存するファイルを読み込む、ってことはできるんでしょうか?
scanf("%d",&n);
fp=fopen("node3.dat","r");
この3をnによって変えたいのですがやり方がわかりません。
0086デフォルトの名無しさんNGNG
>>85
できる
0087デフォルトの名無しさんNGNG
>>85
char filename[100];
sprintf(filename, "node%d.dat", n);
fp = fopen(filename, "r");
0088デフォルトの名無しさんNGNG
>>86
すみません、できれば教えていただきたいのですが・・・
0089デフォルトの名無しさんNGNG
>>87
ありがとうございました
0090デフォルトの名無しさん NGNG
依頼お願いします。
ある領域内に長方形が描画されている(入力画像として読み込み)として、
その長方形で平行な線分どうし(縦横各一組)をペアリングして検出する
プログラムをVC++で作りたいのですが、どのような記述にすればよいで
しょうか。
結果の表示方法は、平行だということが言えている様ならどんな感じでも
大丈夫です。どなたか知恵を貸して下さい。
0091デフォルトの名無しさんNGNG
edgeの抽出は終わってて辺の直線のベクトルとかは既に得られてると考えていいの?
0092デフォルトの名無しさんNGNG
>>90
  ■■■
  ■■■
こういう画像があったら、
  │
─┴─┬─
     │
微分するとこうなる。
  ↑  ↑
ここに注目すればペアが得られる。写真などの場合はノイズに注意。
0093デフォルトの名無しさんNGNG
◆
こんなのも
0094デフォルトの名無しさんNGNG
質問なのですが
#defineで指定している定数値があるのですが
それを外部のファイルから数値を読み込んで設定する方式に変えたいのですが
どのように書けばいいでしょう?

0095デフォルトの名無しさんNGNG
Win32APIのInterlocked〜とCriticalSectionだけを使って同期を取り、2つのスレッドを交互に実行する方法はありますか?ヒントだけでもお願いします。
0096デフォルトの名無しさんNGNG
n人の成績データを入力して、合計、平均、平均との差を出力するプログラムを
書いてるんですが、もう少しきれいなソースになる気がするんですが、どう変更すればいいでしょうか?

#include<stdio.h>
#define N 10

int main(void)
{
int ten[N],sum,ave,i;
printf("点数データを%d件入力してください\n->",N);
scanf("%d",&ten[0]);
sum=ave=ten[0];

for(i=1;i<N;i++){
printf("->");
scanf("%d",&ten[i]);
ave=(ave+ten[i])/2;
sum+=ten[i];
}

printf(" 点数 平均との差\n");
printf("----------------\n");
for(i=0;i<N;i++){
printf("%3d\t%3d\n",ten[i],ten[i]-ave);
}
printf("----------------\n");
printf("合計:%4d : 平均:%3d\n",sum,ave);
return 0;
}
0097デフォルトの名無しさんNGNG
>>96
平均の式が間違い
まず算数からやり直せ
009896NGNG
>>97
int sum=0

for(i=0;i<N;i++){
printf("->");
scanf("%d",&ten[i]);
sum+=ten[i]
}

ave=ten/N;

こんな感じに変更すればいいでしょうか?
0099デフォルトの名無しさんNGNG
#include<stdio.h>
#define N 10

int main(void)
{
  int ten[N], sum, ave, i;
  printf("点数データを%d件入力してください", N);
  for (i = 0; i < N; i++) {
    puts("->");
    scanf("%d", &ten[i]);
    sum += ten[i];
  }
  ave = sum / N;

  puts(" 点数 平均との差");
  puts("----------------");
  for(i = 0; i < N; i++) {
    printf("%3d\t%3d\n", ten[i], ten[i] - ave);
  }
  puts("----------------");
  printf("合計:%4d : 平均:%3d\n", sum, ave);
  return 0;
}
0100从*・ 。.・) ◆SayuminPM. NGNG
100
010190NGNG
>>91-92
返信遅れてすみません。
edgeの抽出は終わってる状態でかまいません。もし分かるなら
教えていただけませんでしょうか。
0102デフォルトの名無しさんNGNG
Cで自然数a,bの約数を全て表示するプログラムを教えてください。
0103デフォルトの名無しさんNGNG
>>102
公約数じゃなくてそれぞれの約数でいいのか?
0104デフォルトの名無しさんNGNG
工夫なし
#include <stdio.h>

int main(void)
{
int a, b, x, i;

printf("a b "); scanf("%d %d", &a, &b);
if (a < 0 || b < 0) return 1;
x = (a - b) ? (b) : (a);
for (i = 1; i <= x; i++)
if(a % i == 0 && b % i == 0) printf("%d\n", i);

return 0;
}
0105デフォルトの名無しさんNGNG
一応
#include <stdio.h>

void f(int x)
{
int i;
for (i = 1; i <= x; i++)
if(x % i == 0) printf("%3d ", i);
puts("");
}

int main(void)
{
int a, b;

printf("a b "); scanf("%d %d", &a, &b);
if (a < 0 || b < 0) return 1;

puts("aの約数"); f(a);
puts("bの約数"); f(b);

return 0;
}
0106デフォルトの名無しさんNGNG
あ、まちがえてた。
まあいいや、勝手にしる。
0107デフォルトの名無しさんNGNG
>>102
公約数なら、、 と思って作ったら表示してねぇ。まぁいいか。

struct int_list{
  int value;
  int_list next*;
}
int_list* kouyakusuu(int a,int b){
  if(a==0 || b==0){
    return null;
  }
  int_list result* = new int_list;
  int_list nowList* = result;
  int minArg = a<b?a:b;
  for(int i=1;i <= minArg;i++){
    if(a%i==0 && b%i==0){
      (*nowList).next = new int_list;
      nowList = (*nowList).next;
      (*nowList).value=i;
    }
  }
  return (*result).next;
}
0108102NGNG
>>103-107
すいません、ありがとうございます。
公約数って書き忘れてました。
0109デフォルトの名無しさんNGNG
公約数とはどこにも書いてないからなあ
0110107NGNG
>>107 に、これつなげれば動くかな。

#include <stdio.h>

void main(char** args){
  int a,b;
  scanf("%d %d", &a, &b);
  int_list result* = kouyakusuu(a,b);
  while(result != null){
    printf("%d\n", (*result).value);
    result = (*result).next;
  }
}
0111デフォルトの名無しさんNGNG
#include <stdio.h>

int main(void)
{
    int a = 234, b = 354, i;
    for(i = 1; i <= a && i <= b; i++)
        if(a % i == 0 && b % i == 0)
            printf("%d\n", i);
    return 0;
}
0112ジョンNGNG
急ぎなんですけど、誰か助けてください。
学校で課題が出たんですけど、さっぱり分かりません。
ボイヤームーア法を使って文字列の探索するプログラムを作れという課題です。
下にプログラム(未完成)を載せておきます。これを改良して作るのらしいのですが・・・。
どなたかお願いします。
#include <stdio.h> #include <string.h> #define MAXCHR1 1000 #define MAXCHR2 256
int main(void){
char filename[MAXCHR2], ex[MAXCHR1], strg[MAXCHR2];
FILE *fp;
printf("Input filename.\n");
fgets(filename, MAXCHR2, stdin);
printf("Input search string.\n");
fgets(strg, MAXCHR2, stdin);
if((fp = fopen(filename, "r")) == NULL){
printf("read open error!");
return(-1);
while(fgets(ex, MAXCHR1, fp) != NULL){
/* ここでボイヤームーア法を使う */ }
fclose(fp);
return (0);
0113デフォルトの名無しさんNGNG
>>112
ちょっとまってろ。めしおごれよ。
0114デフォルトの名無しさんNGNG
急ぎ?
今日土曜だし、明日日曜だし、早くても明後日までだろ?
0115ジョンNGNG
そうですね。あさってまでなら何とかなりそうです。
お願いします。
0116デフォルトの名無しさんNGNG
知ってるが
      お前の態度が
                気に入らない
0117rNGNG
BMサーチ

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1027870433_319/bms.c

うそ。インチキ。
インチキなのは、INCHIKI を含む行です。
つか、どうやるんだろう。いくつ足し算をするんだろう。
0118デフォルトの名無しさんNGNG
C++ の宿題なんですが
入力した文字を逆転表示して表示させるにはどうしればいいのでしょうか・・・?

例
こんにちは

はちにんこ

と言った具合です。

0119デフォルトの名無しさんNGNG
for(i=0; i<sizeof(str); i++)
{
printf("%c",str[(sizeof(str)-1)-i]);
}
printf("\n");
0120デフォルトの名無しさんNGNG
sizeofでいいのかー?
0121デフォルトの名無しさんNGNG
>>118
1-tape TuringMachineのプログラムでもいいですか?
0122デフォルトの名無しさんNGNG
>>121
お願いします。
0123デフォルトの名無しさんNGNG
こんにちは
はマルチバイトだよ
0124デフォルトの名無しさんNGNG
#include <stdio.h>
void main(){
  char str[256];
  gets(str);
  for(int i=strlen(str)-1;i;i--){
    printf("%c",str[i]);
  }
}
0125デフォルトの名無しさんNGNG
>>124
error C2065: 'strlen' : 定義されていない識別子です。とでました・・・
0126デフォルトの名無しさんNGNG
ハハハ・・・
strlenはstring.hにあるの忘れてた上にマルチバイトも無視するとはな・・・

#include <string.h>
0127デフォルトの名無しさんNGNG
>>126
今度は出来ました。
ありがとうございました。
0128デフォルトの名無しさんNGNG
//ちょっと訂正。いまだマルチバイト無視。
#include <stdio.h>
#include <string.h>
void main(void){
  char[] str = new char[256];
  gets(str);
  int i=strlen(str);
  while(i){
    i--;
    printf("%c",str[i]);
  }
}
0129デフォルトの名無しさんNGNG
>>128

\test2.cpp(5) : warning C4091: 空白の宣言が見つかりました。
\test2.cpp(5) : error C2143: 構文エラー : ';' が '[' の前に必要です。
\test2.cpp(5) : error C2143: 構文エラー : ';' が '[' の前に必要です。
\test2.cpp(6) : error C2065: 'str' : 定義されていない識別子です。
\test2.cpp(10) : error C2109: 配列または、ポインタでない変数に添字が使われました。
cl.exe の実行エラー

test2.exe - エラー 4、警告 1

ってなります・・・
0130デフォルトの名無しさんNGNG
CコンパイラじゃなくてC++コンパイラじゃなきゃいやん。
0131デフォルトの名無しさんNGNG
(σ゚∀゚)σgets!!
0132デフォルトの名無しさんNGNG
>>130
コンパイラは Microsoft Visual C++ 6.0使ってます。
0133デフォルトの名無しさんNGNG
あらま、、、 C++じゃない環境で動作確認したのがまずかったか・

char[] str = new char[256];
じゃなくて
char str[256];

だな。
0134デフォルトの名無しさんNGNG
>>133
今度はOKでした。
しかし DOSでこんにちはと打つと

こんにちは
ヘちにんこ1ress any key to continue

となってしまいます・・・
0135デフォルトの名無しさんNGNG
getsしたあと'\n'のあとに'\0'を入れなきゃだめな希ガス。
0136デフォルトの名無しさんNGNG
再度依頼お願いします。
ある領域内に長方形が描画されている(入力画像として読み込み)として、
その長方形で平行な線分どうし(縦横各一組)をペアリングして検出する
プログラムをVC++で作りたいのですが、どのような記述にすればよいで
しょうか。
結果の表示方法は、平行だということが言えている様ならどんな感じでも
大丈夫です。edgeの抽出は終わってる状態として結構です。
どなたか知恵を貸して下さい。
0137デフォルトの名無しさんNGNG
本当に宿題か?
0138デフォルトの名無しさんNGNG
宿題じゃなくてもいいんじゃない?
0139rNGNG
class Line {
public:
    double GetX1() const;
    double GetY1() const;
    double GetX2() const;
    double GetY2() const;
};
こんなインタフェースが用意されていて、
全部のLineはvector<Line> lines;に入っているとする。

こんなクラスを用意する
struct K {
    Line* line;
    double a;
    Katamuki( const Line* line ) {
    this.line = line;
    a = ( line -> getX1() - line -> getX2() )/ ( line -> getY1() - line -> getY2() );
    }
};
あとは、
vector<K> ks;
for( ... )
    katamuki.push_back( lines[i] );
とし、ks を a の値でソートし、
値の近い物を平行なラインとすればいい。
aが無限大になりそうな場合の処理は、まあ、なんとか考えて。
0140デフォルトの名無しさんNGNG
>>139
せめてatan2とか使えよ。
0141デフォルトの名無しさんNGNG
scanfでAかBを入力させて、そのあとifを使って分岐させて続きを作りたいのですが、
char x,A,B;
printf("AかBを入力してください>>");
scanf("%c",&x);
if(x == A)
{

}
if(x == B)
{

}
こんな感じにしましたが、ifの中身から実行されません。scanfで表示させた文字を
if文に反映させるにはどうすればいいんでしょうか?言語はCです。
0142デフォルトの名無しさんNGNG
>>141
char x,A,B;
printf("AかBを入力してください>>");
scanf("%c",&x);
A = ’A’;
B = ’B’;
if(x == A)
{

}
if(x == B)
{

}
0143デフォルトの名無しさんNGNG
>>142
できました。どうもありがとうございます。
0144デフォルトの名無しさんNGNG
>>112
ここにソースある。これコピペでOKだ。
http://www-igm.univ-mlv.fr/~lecroq/string/node14.html#SECTION00140
0145デフォルトの名無しさんNGNG
…テンプレ修正きぼん

旧: ・計算問題は必ず数式自体をあげ、どのような計算をするのか
新: ・計算問題、アルゴリズム問題では必ず数式や手順を示し、詳しい説明を付記してください。
0146デフォルトの名無しさんNGNG
>>145
そんな事が書けるようだったら質問なんかするわけないじゃん
0147118NGNG
誰か教えてください・・・
0148デフォルトの名無しさんNGNG
/*
>>118
文字反転プログラム(Shift-JIS)
*/
#include<stdio.h>

#define SIZE   256

void    r_put(unsigned char* p) {
    if (*p == '\0')
        return;
    
    if (((0x80<p[0]) && (p[0]<0xa0)) || ((0xe0<=p[0]) && (p[0]<0xf0))) {
        r_put(p+2);
        putchar(p[0]);
        putchar(p[1]);
    } else {
        r_put(p+1);
        putchar(p[0]);
    }
}

int     main() {
    unsigned char    buff[SIZE];
    
    printf("文字列を入力してください\n");
    scanf ("%s", buff);
    r_put (buff);
    
    return 0;
}
0149118NGNG
>>148
なんとお礼を申し上げたらいいものか・・・
完璧です!
ありがとうございました。
0150ジョンNGNG
>>144
ありがとうございます。でも、コンパイル時にエラーがでます・・・。
0151デフォルトの名無しさんNGNG
>>148
「�хavを入力すると正しく動きません。
0152デフォルトの名無しさんNGNG
>>150
ソースの先頭に
#include <stdio.h>
#define ASIZE 256 /* 256文字種(asciiだけでいいなら128?) */
#define XSIZE 100 /* 検索文字列の最大長かな(動的確保するなら不要) */
#define OUTPUT(x)printf("%d\n", (x))
#define MAX(a, b)(a) > (b) ? (a) : (b)
でもつけとけ。
0153ジョンNGNG
>>152
#define MAX(a, b)(a) > (b) ? (a) : (b)
の?っていうのはどういうものですか?
0154デフォルトの名無しさんNGNG
if(a>b)
return b;
else
return a;
を総画
0155152NGNG
あー、小修正。
#define OUTPUT(x) printf("%d\n", (x)) /* 開始位置の出力(0オリジン) */
#define MAX(a, b) ((a) > (b) ? (a) : (b)) /* 大きいほうの数値を得るよくあるマクロ */
0156デフォルトの名無しさんNGNG
どうしてもわかりません。どなたかご教授ください。おねがいします!
f(x)=exp(-x^2)-sinx=0を2分法で根を求めるプログラムを作成せよ。
・初期値a,bをそれぞれ1,0とし、収束判定値eを5*10^-7とすること。
・コマンドライン引数として「-k」を与えると計算量を表示すること。
・計算結果はファイルに保存できるようにすること。
(実行例1)
C:\....\C>nibunpou
a=1
b=0
e=5E-7

出力ファイル名を入力してください。 > test.txt
c  n
----------------
1  0.5000000
2  0.7500000
3  0.6250000
4  0.6875000
5  0.6562500
・
・
・
20  0.6805983
(実行例2)
C:\....\C>nibunpou -k
a=1
b=0
e=5E-7

計算量は20回です。
0157デフォルトの名無しさんNGNG
言語はCです。お願いします。
0158デフォルトの名無しさんNGNG
>>156
どこがどう判らない?
全部丸ごと一分たりとも判らないなら死ね。
0159デフォルトの名無しさんNGNG
>>118
#include <locale>
#include <string>
#include <list>
#include <iostream>

int main() {
std::locale::global(std::locale("japanese"));
std::wstring wstr;
std::wcin >> wstr;
std::list<wchar_t> wclst(wstr.begin(), wstr.end());
wclst.reverse();
wstr.assign(wclst.begin(), wclst.end());
std::wcout<< wstr << std::endl;
}
0160デフォルトの名無しさんNGNG
>>156
#include <stdio.h>
#include <assert.h>
#include <math.h>
#include <string.h>
#define func(x) (exp(-pow((x),2))-sin(x))
int main(int argc, char **argv) {
double low=0, mid, high=1, ret;
double e = 5 * pow(10,-7);
int count = 0;

assert((func(low)<0&&func(high)>0) || (func(low)>0&&func(high)<0));
for (;;) {
count++;
mid=(low+high)/2;
if (fabs(ret=func(mid))<e)
break;
if (ret>0)
low = mid;
else
high = mid;
}
if (argc==2 && strcmp(argv[1],"-k")==0)
printf("%d times, ans: %f\n",count,mid);
else
printf("ans: %f\n",mid);
return 0;
}
完全に仕様には沿ってないけど、こんなもんでどう?
0161デフォルトの名無しさんNGNG
どうでもいいこと気にしてみたり。
#define func(x) (exp(-(x)*(x))-sin(x))
double e = 5e-7;
0162デフォルトの名無しさんNGNG
>>156
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=249
0163デフォルトの名無しさんNGNG
>double e = 5e-7;
完全に忘れてたよ(;´Д`)
0164156NGNG
>>160,>>161,>>162
丁寧にお答えいただき非常に助かりました。
ありがとうございます!
0165デフォルトの名無しさんNGNG
ここって大学の入試問題のプログラムとか面倒見てくれるの?
海外向け携帯電話の英文入力インターフェース作ってるんだけど
今日の昼までの期限なんですが未だ出来ておらず…
自宅受験なんですがカンニングではなく情報収集力のテストもかねられてるっぽいんで
ttps://www.52school.com/rits/ans_menu.jsp
とりあえず問題見て感想ぷりーず
0166デフォルトの名無しさんNGNG
↑みれない
0167デフォルトの名無しさんNGNG
↑へんなsはいってるぞ
ttp://www.52school.com/rits/ans_menu.jsp
0168デフォルトの名無しさんNGNG
おもしろそうだけど今日の昼までにはさすがに無理。
3日くらいほしいな。。
0169165NGNG
>>168
独創的なのを作ろうとして*ボタンを切り替えボタンにして、
キーボードのQWERTY配列をキーボード左から3×3マスずつカットして3分割したのを
*ボタンで切り替えてうつって方式やりたいんだけど
切り替えボタンのプログラムがわからないっぽ
0170165NGNG
キーボードの3×3カットの意味わかります?
こゆことです
パターン1

  1ボタン q 2ボタン w 3ボタン e

  4ボタン a 5ボタン s 6ボタン d

  7ボタン z 8ボタン x 9ボタン c
パターン2

1ボタン r 2ボタン t/ 3ボタン y

4ボタン f 5ボタン g 6ボタン h

7ボタン v 8ボタン b 9ボタン n
パターン3 

1ボタン u 2ボタン i 3ボタン o

4ボタン j 5ボタン k 6ボタン l

7ボタン m 8ボタン p 9ボタン 記号
0171デフォルトの名無しさんNGNG
マルチすんなボケ
0172デフォルトの名無しさんNGNG
>>165
オオ同じ穴の狢よw
ところで、オレはオーソドックスにToUpperを使って小文字を大文字に変換するプログラムを作ろうと思ってるんだけど

else if(SensePressedDuration(2) == LONG){//強く押された時
if (status == 10 ){//直前に入力された文字が10[a]なら
DeleteLetter();//[a]を削除し
DisplayLetter(ToUpper(10));     //大文字の[A]に変換、表示し ←ここがかなり間違ってる臭い・・
status = -1;//文字を確定する
}
でいのでしょうか・・・教えて偉い人・・・
0173デフォルトの名無しさんNGNG
>>172
終わりそう?
俺取扱説明書で死にそう。2000字もいかね
創意工夫点も1000字もいかねw
0174デフォルトの名無しさんNGNG
質問です。
配列に格納された文字列を1文字ずつ表示する関数。

void put_st(const char str[])
{
unsigned i=0;

while(str[i])
putchar(str[i++]);
}

これをprintf関数を用いるとコンパイルは出来るのですが、
実行途中でエラーがでます。
printf("%s",str[i++]);

なぜでしょうか?
どう直したらいいのでしょうか?

おねがいします。
0175173NGNG
>>172
else if(SensePressedDuration(2) == LONG){//強く押された時
ってPressedDurationは長さのやつやのにコメントが「長く」じゃなくて「強く」
になってんの?
0176デフォルトの名無しさんNGNG
>>169
配列とかでパターンごとのマップで持つくっといて、
'*'が押されたらマップを切り替えるようなものを作ってみたら?
0177デフォルトの名無しさんNGNG
>>165
マルチじゃねぇか。消えろ。

>>174
%sってなんだよ。
0178デフォルトの名無しさんNGNG
%sは文字列。この場合は%c。
0179デフォルトの名無しさんNGNG
>>176
アドバイスさんくすです。
それ考えてたんですが。パターンごとのボタン表示のプログラム(今は3つ繋げられないんでパターンごとに保存してます)
はできているんですが、マップとしてくくるためにどんなプログラム使えばよろしいでしょうか?
0180174NGNG
みなさんどうもありがとうございましたm(. .)m
すっきりしました。
0181デフォルトの名無しさんNGNG
>174

printf("%c",str[i++]);
じゃないの?あるいは
printf("%s",str+i);i++;
0182デフォルトの名無しさんNGNG
ランレングス符号化において、
効率よく圧縮を行う方法はどのようなものがありますか?

0183デフォルトの名無しさんNGNG
>>173
こっちに書き込むときに間違ってたw
本文は確かめたけどちゃんと短く長くになってた・・
取り扱い説明書は、いろんな所のマニュアルからひっぱってくればいいとおもうよ
創意工夫は・・・むずいw
0184ドシロウトかもしれない・・・NGNG
int SensePressedDuration(int ButtonNum)のくだりは合ってると思う
int ToUpper(int LetterNum)の使い方がちょっとわからなくて・・・
0185デフォルトの名無しさんNGNG
>>183
てか海外向けだから説明書は英語じゃなくていいのか?w
0186デフォルトの名無しさんNGNG
>>182
ランレングス法の問題点は、ランダムな文字列を符号化する場合
かえってサイズを大きくしてしまうことがある
そこで 「ここからn文字先までは符号化をしない――」 
ような情報を付加すれば、極端な膨張をおこさずに効率よく圧縮できる。
0187デフォルトの名無しさんNGNG
C言語:分割コンパイルの宿題

2つの値(実数)をキーボードから入力し、
それぞれ以下のことを行う関数を作成し画面に表示するソースコードを記述しなさい。
ただし、main()関数と以下の関数は別ファイルに記述し、ヘッダファイルmp用いること。
-�@加算 �A減算 �B乗算 �C除算
-�D大きいほうを出力 �E小さいほうを出力

よろしくお願いします。
0188デフォルトの名無しさんNGNG
誤字です、すいません
mp→も
0189デフォルトの名無しさんNGNG
>>185
もしそうだとしたら絶望的だ・・w
0190デフォルトの名無しさんNGNG
>>189
そんなときはExcite翻訳で。
#事後チェックを忘れずにw
0191デフォルトの名無しさんNGNG
エキサイト翻訳を使うのは初心者。
漏れみたい玄人は暗記パンを使う。
0192デフォルトの名無しさんNGNG
人の宿題をやってあげるなんて・・・。
なんていい人たちだ・・
0193デフォルトの名無しさんNGNG
教えたがり人種
0194デフォルトの名無しさんNGNG
CやC++のスレで宿題教えてと書くと邪魔だからこの隔離スレがあるのだよ
0195デフォルトの名無しさんNGNG
そしてスルーされる187
0196デフォルトの名無しさんNGNG
>>187
//main.c
#include <stdio.h>
#include <stdlib.h>
#include "calc.h"
int main() {
  char Buffer[128];
  double Num[2];
  int i;
  for (i = 0; i < 2; i++) {
    printf("%dつめの数:", i + 1);
    fgets(Buffer, sizeof Buffer, stdin);
    Num[i] = atof(Buffer);
  }
  Add(Num);
  Sub(Num);
  Mul(Num);
  Div(Num);
  Max(Num);
  Min(Num);
  return 0;
}
0197デフォルトの名無しさんNGNG
//calc.c
#include <stdio.h>
#include "calc.h"

void Add(double d[]) {
  printf("加算:%f\n", d[0] + d[1]);
}

void Sub(double d[]) {
  printf("減算:%f\n", d[0] - d[1]);
}

void Mul(double d[]) {
  printf("乗算:%f\n", d[0] * d[1]);
}

void Div(double d[]) {
  printf("除算:%f\n", d[0] / d[1]);
}

void Max(double d[]) {
  printf("最大値:%f\n", d[0] > d[1] ? d[0] : d[1]);
}

void Min(double d[]) {
  printf("最小値:%f\n", d[0] < d[1] ? d[0] : d[1]);
}
0198デフォルトの名無しさんNGNG
//calc.h
void Add(double []);
void Sub(double []);
void Mul(double []);
void Div(double []);
void Max(double []);
void Min(double []);
0199デフォルトの名無しさんNGNG
>>197
0除算チェックは?
0200デフォルトの名無しさんNGNG
どうすべきか指定がないから、対応しようがないわな
0201Cの課題NGNG
#include <stdio.h>
int gi;
void main(void)
{
int i,gi=0;
void count();
printf("\t gi\t ai\t si\n");
for(i=0; i<3; i++){
count();
gi=gi+1;
printf("main()\t gi= %d\n",gi);
}}
void count(void)
{
int i, ai=0;
static int si;
for(i=0; i<3; i++){
printf("count()\t gi= %d\t ai=%d\t si=%d\n",gi,ai,si);
ai =ai+1;
gi =gi+1;
si =si+1;
}}
(1)以上のプログラムを実行し,表示結果を説明せよ。
また,main()の中と外で変数名giを誤って重複使用している。
この場合,コンピュータは重複した変数をどう扱ってると考えられるか。
(2)変数宣言のところで,自動変数のgiやaiを0に初期化しているが,
初期化を行わないとどうなるか。
なんだかよく分からないので、どなたか説明して下さい!お願いします。


0202デフォルトの名無しさんNGNG
(1)count関数を呼び、グローバル変数gi,自動変数ai,静的変数siを表示し、
  それぞれ+1する。これを3回繰り返しcount関数から戻る。
  自動変数giを+1して表示する。
  main関数内ではこの、「count関数を呼ぶ,自動変数giを+1して表示」を3回繰り返す。
  main関数内では、giは自動変数としてグローバル変数giとは別に扱われる。

(2)自動変数を初期化しないと、変数の内容は不定(なにが入っているか分からない)
  で開始される。
0203デフォルトの名無しさんNGNG
#include <stdio.h>
#defineVSIZE 256
#defineHSIZE 256
int im[VSIZE][HSIZE];
main ()
{
int i,j;
int c;
FILE *fp;
fp = fopen("カラー.psd","rb");
for(i=0;i<VSIZE;i++){
for(j=0;j<HSIZE;j++){
c = fgetc(fp);
im[i][j] = c;
}
}
fclose(fp);
fp=fopen("グレースケール.psd", "wb");
for (i=0;i<VSIZE; i++){
for(j=0;j<HSIZE;j++){
fputc(im[i][j],fp);
}
}
fclose(fp);
}
カラー画像をグレースケール画像に変換する式は分かったんですが
どうやって書いていいのか分かりません。
変換式 グレースケール = 0.299R + 0.587G + 0.114B
おねがいします
0204デフォルトの名無しさんNGNG
>>203
食事のあと入浴してから紅茶を飲んだ後に作ってあげるけれど、
言語はCでカラーのPSDフォーマットの画像をグレイスケールのPSDフォーマットの画像
に変換するんだね?
0205デフォルトの名無しさんNGNG
C++でもOK?
0206203NGNG
>>204 グレースケールは.rawに
>>205 OK
0207デフォルトの名無しさんNGNG
>>165がどんな問題だったのか教えてくれorz気になって眠れん(´д`)
0208デフォルトの名無しさんNGNG
PSDってどんな形式だっけ…。
0209デフォルトの名無しさんNGNG
>>208
ホトショップ
0210デフォルトの名無しさんNGNG
変換式がわかっててなんでかけないんだろう……
0211デフォルトの名無しさんNGNG
psdって、レイヤー情報も持ってるんじゃなかったっけ?
単純に>203みたいには読めないと思うのだけど。
0212デフォルトの名無しさんNGNG
PSDフォーマットの詳細がみつからないんだけど、
だれか知らない?
0213デフォルトの名無しさんNGNG
psdの仕様が教えられている or 仕様書を貰っている
でもなきゃ、そんな宿題でないはず…。
0214デフォルトの名無しさんNGNG
ちょっとお聞きしたいのですが、C言語の
関数からで.midiの再生をするプログラムを作ることは可能ですか?
.wavの再生にはPlaySound関数を使ってるのですがwavはファイルサイズ
が大きすぎて人に渡すプログラムを作るときに困ってしまいます。
もし再生する方法をどなたかご存じでしたらお願いします。


0215デフォルトの名無しさんNGNG
>>214
とてもすれ違いです
0216デフォルトの名無しさんNGNG
ふーん、宿題スレは誘導されなかったのに敢えてマルチとはねぇ。
0217デフォルトの名無しさんNGNG
調べた方が早い上に労力もいらないだろうに
0218デフォルトの名無しさんNGNG
216>>ついてきたか
217>>アフォだからわかんなかったんだよ
0219デフォルトの名無しさんNGNG
>>203
ttp://www.wotsit.org/download.asp?f=psd3_4
0220デフォルトの名無しさんNGNG
>>219
うへっ、めんどくせ。>204は満漢全席でも食べに行ったのか、一向に仕上がってこないから
フォーマットが来たことだしちょっとやってみようかと思ったら……
ImageMagickでも拾ってこいって感じだな。
0221デフォルトの名無しさんNGNG
ポインタについて易しく書いてあるサイトありませんか?・・・
0222デフォルトの名無しさんNGNG
ttp://www.plus-vision.com/jp/product/laserpointer/laserpointer.html
ttp://pya.cc/pyaimg/pimg.php?imgid=7198
ttp://www9.plala.or.jp/sgwr-t/

つーかググッたら結構出るだろうし、
ポインタ関連ならC専門スレのほうが的確(ここもスレ違いではないが)
0223デフォルトの名無しさんNGNG
基礎的な事はサイトに頼る前に本買ってじっくり読めと思うが。

推薦図書/必読書のためのスレッド PART 20
http://pc5.2ch.net/test/read.cgi/tech/1097627740/l50
0224デフォルトの名無しさんNGNG
ポインタの理解が変な人って、大抵メモリがイメージできてないんだよね
0225デフォルトの名無しさんNGNG
目盛りですか?
軽量カップみたいなものを想像すればよろしいのでしょうか?
それとも、メジャーみたいなもののほうがいいのでしょうか?
0226デフォルトの名無しさんNGNG
軽量カップですか?
NASAが開発した新素材かなんかを想像すればよろしいのでしょうか?
0227デフォルトの名無しさんNGNG
昼間は厨房ばかりだな。つまんねーんだよ
0228デフォルトの名無しさんNGNG
もう夕方だ
0229デフォルトの名無しさんNGNG
クワガタ
0230常識人NGNG
厨房ですか?
厨房は確かに、私のスーパープログラムの作成を阻害し、
またそれにより、私のスーパープログラムを、お目にかかることのできなくなった
このスレの住人には大損失です。
ですか、そもそも宿題を丸投げする人種は厨房なのです。
自分に利益をもたらす厨房(自己満足、優越感、技術向上を与えてくれる)は、歓迎し、
そうでない厨房(ネタレスをする厨房)は貶める。これはただのわがままです。
つまり、厨房ということになります。
厨房をこのスレでは許容すべきです。

お前が厨房だという意見は受け付けないので悪しからず。

0231デフォルトの名無しさんNGNG
ほんたま?とはキャラ違うか
0232デフォルトの名無しさんNGNG
> またそれにより、私のスーパープログラムを、お目にかかることのできなくなったこのスレの住人には大損失です。
日本語の勉強をしましょう
0233デフォルトの名無しさんNGNG
優越感なんて感じるかよ・・・・こんな糞簡単な質問ばかりで・・・・・・
そりゃあ、君にはかなり難しいかもしれないがな・・・・
0234常識人NGNG
批判は受け付けません。以上。
0235デフォルトの名無しさんNGNG
まあコピペなんだがな。
0236デフォルトの名無しさんNGNG
常識人さん。
またあなたですか?
どうして、あなたはわざわざ、長文を書いてまでこのスレを荒らすのです?
スーパープログラムですって?なんですか、スーパーって?
プログラマー以前に、人間として恥ずかしくないのですか?
もし、私だったらそんな生き恥をさらす前に、死を選ぶところです。
常識人さん。
わたしはこれまであなたに、「もう来ないで下さい」
そう言い続けてきました。
ですが、今日はあえて言わねばなりますまい。

常 識 人 死 ね。
0237デフォルトの名無しさんNGNG
それもコピペなんだがな。
0238デフォルトの名無しさんNGNG
コピペではないだろうが
>>236
お前は少し言いすぎなんじゃねーの?
”死ね”なんて軽々しく人に対して言っていいもんじゃない。
せめて”氏ね”とかにして”死”という字を使わないのが2ちゃんの常識。
そういう意味でお前は常識知らず。常識人のほうが
常識を持っている分だけまし。
もうこないでほしいのはお前のほうだ。常識人は、宿題が枯渇しているときの
俺たちの心のオアシス。
水がなければ俺たちは死ぬ。>>236、お前は俺たちを殺すつもりか?
殺される前に、俺はお前のことを警察に通報するつもりだ。


0239デフォルトの名無しさんNGNG
これもコピペなんだがな。
0240 NGNG
数系変換プログラムをつくってくれませんか?
0241デフォルトの名無しさんNGNG
>>240
template< T_>
int henkan( T_ arg_ ){
    return 1;
}
0242デフォルトの名無しさんNGNG
ここではレポートの書き方とか質問しても大丈夫ですか?
0243デフォルトの名無しさんNGNG
言いわけねーだろ
0244デフォルトの名無しさんNGNG
よしのぶもちょっときてるな。
古田もきてるしな。
0245デフォルトの名無しさんNGNG
>>243
C言語の課題のアルゴリズムを書かなくちゃいけないレポートなんですけどそれでもダメですか?
0246デフォルトの名無しさんNGNG
>>245
問題見て判断
0247デフォルトの名無しさんNGNG
この問題が分かりません。どなたかお願いします。
1.要素の数256の文字型配列str1, str2を宣言する。gets 関数を使ってstr1にキーボードから文字列を入力し、
ポインタを使ってその文字列をstr2にコピーするプログラムを作りなさい
2.入力された英文字列を、すべて大文字に変換して出力するプログラムを、
ポインタを使って作りなさい。
0248デフォルトの名無しさんNGNG
>>247
関係者ですが、自分でやりなさい。
0249デフォルトの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=322

このプログラムを基にポーカーの役判定アルゴリズムを完成させてください。
※トランプ52枚のカードはスペードのエースが0…スペードのキングが12…
そしてクラブのキングが51というように整数で表します。ジョーカーはなしです。
0250デフォルトの名無しさんNGNG
>249

もちとまともなのを基に汁!
0251デフォルトの名無しさんNGNG
>>247
1
#include <stdio.h>
int main(void)
{
char str1[256], str2[256], *p1 = str1, *p2 = str2;

printf("str1:");
gets(str1);
while (*p2++ = *p1++) ;
printf("str2:%s\n",str2);
return 0;
}
2
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char str[256], *p = str;
gets(str);
while (*p) *p++ = toupper(*p);
printf("%s\n", str);
return 0;
}

0252デフォルトの名無しさんNGNG
>>249
ポーカーのルールがわからない俺は(ry
0253デフォルトの名無しさんNGNG
常にクールな顔をすればいいのだよ
0254デフォルトの名無しさんNGNG
( ´・ω・`)Am I cool?
0255デフォルトの名無しさんNGNG
( ´・ω・`)私は寒いの?
0256デフォルトの名無しさんNGNG
( ´・ω・`)そう、心が寒いの
0257デフォルトの名無しさんNGNG
ストレートの判定

下の関数は外で宣言
int comp(const void *i, const void *j)
{
  return *(int*)i - *(int*)j;
}

ここから

//hdは%13されてる
int flag_str=0;

qsort(hd,5,sizeof(int),comp);

for(int i=0; i<4; i++){
 // 9は13から1にいった場合の判定
 if(abs(hd[i]-hd[i+1])==1 || abs(hd[i]-hd[i+1])==9){if(i==3) flag_str=1; }
 else{i=4}
}
ストレートフラッシュはフラッシュとのフラグの組み合わせ

合ってるか自信は無い


   

   
0258デフォルトの名無しさんNGNG
ご参考に
http://www.japan-poker.net/game/p_game.htm
0259デフォルトの名無しさんNGNG
>>257,>>258
ありがとうございます。
一応一通り判定はできるようになりました。

あと、同じマークのカードが4つ来たときに
フラッシュを狙うための方法を考えているのですが
うまくいきません。もしよければ教えていただけませんか?
0260デフォルトの名無しさんNGNG
>>259
それはもうスレ違い
0261デフォルトの名無しさんNGNG
ハニーフラッシュを作りなさい
0262デフォルトの名無しさんNGNG
>>261
すべてQで、ハニーフラッシュな。
0263デフォルトの名無しさんNGNG
Qが5枚はイカサマです。
0264デフォルトの名無しさんNGNG
ジョーカー使えば・・・?
0265デフォルトの名無しさんNGNG
ショッカーってなんでキーキー言うの?耳障りなんだけど
0266rNGNG
>>259
仲間はずれのカードを捨てればいいんじゃないの?
0267デフォルトの名無しさんNGNG
card[5] に、手持ちのカードが入ってるとして

/* 捨てるべき、手持ちのカードへのインデックスを返す */
int forFlash( int* card )
  int mark[4], i, target_mark;
  for( i = 0; i < 5; i++ )
    mark[ card[i] / 13 ]++;
  for( i = 0; i < 4 && mark[i] == 4; i++ )
    ;
  if( i == 4 )
    return -1;
  target_mark = mark[i];
  for( i = 0; i < 5; i++ )
    if( card[i] / 13 != target_mark )
      return i;
  return -1; // エラー
}
0268デフォルトの名無しさんNGNG
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=323
誰かこれを分かりやすく説明して下さいお願いします
0269デフォルトの名無しさんNGNG
>>268
見たまんまだろ?
これ以上、何を説明しろと?
0270デフォルトの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=323
0271デフォルトの名無しさんNGNG
前者はローカル変数を引数として渡し、後者はグローバル変数を使っている。以上。

何が知りたいのかよく分からん。
「プログラム変数の受け渡し方法の違い」って何よ?
同じ出力結果になるソースを提示されても非常に説明しづらい。
違う結果になるソース貼られて「どうして違うの?」なら答えやすいけど。
0272デフォルトの名無しさんNGNG
グローバルに宣言しちゃえば関数に渡す必要ないんだから
全部グローバルで宣言すればええやん
なんでわざわざそんな面倒なことするん?



とエスパってみる(リンク先すら見てないので見当違いかも)
0273268NGNG
>>271
>>この二つのプログラムの変数の受け渡し方法の違いを
「の」が抜けてましたね
自分も答え方が分からなくて困ってます
0274デフォルトの名無しさんNGNG
例えて言うならデータを渡す時にメール(引数)を使うか
掲示板(グローバル変数)を使うかの差。

なんて答え方すればいいのだろうか。
0275デフォルトの名無しさんNGNG
関数の呼び出し時に値がスタックに積まれる、とか
戻り値がeaxに入ってくる、とか
なんかソッチ方面の気がしね?

あとは何だ、再帰してたり再入してたりすると
アレだったりとかよ。
0276デフォルトの名無しさんNGNG
>>275
>関数の呼び出し時に値がスタックに積まれる、とか

これは処理系依存。レジスタ渡しだって普通にあるぜ
0277デフォルトの名無しさんNGNG
>276
言われてみりゃそうだな。Winでも fastcall だとレジスタ渡しか。
__declspec(naked) で自前で fastcall やろうとして暴走させたりしてよw

まーでも学校の課題だしよ。センコーも難しーことは考えてなさそーくね?
もれはソッチ方面にジェンキン寿司禁固1年賭けんぜ。ウヘヘ
0278デフォルトの名無しさんNGNG
問題文の意図が汲み取れないので、
答え方が解らんといっているくせに、
当の問題文を改変せずに
そのまま載せようとしない奴には
回答のしようがない。
0279デフォルトの名無しさんNGNG
同じクラスの奴キタ━━━━(゚∀゚)━━━━ッ!!
0280デフォルトの名無しさんNGNG
>>279
で、>>279 はどういう風に解釈した?
0281デフォルトの名無しさんNGNG
a(0)=1
b(0)=1
a(n)=a(n-1)+b(n)
b(n)=b(n-1)*1.1
で与えられる数列を、a(n)が30以下の間表示せよ

変数がいっぱいで意味わからない。゚(゚´Д`゚)゜。
おねがいしまs
0282デフォルトの名無しさんNGNG
>>281
#include <iostream>

double b(int n)
{
 return (n == 0) ? 1. : b(n - 1) * 1.1;
}

double a(int n)
{
 return (n == 0) ? 1. : a(n - 1) + b(n);
}

int main()
{
 for (int n = 0; n <= 30; n++)
  std::cout << "a(" << n << ") = " << a(n) << ", b(" << n << ") = " << b(n) << std::endl;
}
0283デフォルトの名無しさんNGNG
>>281
#include <stdio.h>

int main() {
int i = 0;
double a = 1;
double b = 1;

printf("a(%d) = %lf, b(%d) = %lf\n", i, a, i, b);

for(i = 1; i < 30; i++) {
b = b * 1.1;
a = a + b;
printf("a(%d) = %lf, b(%d) = %lf\n", i, a, i, b);
}
return 0;
}
0284デフォルトの名無しさんNGNG
>>281 失礼。訂正。
#include <iostream>

double b(int n)
{
 return (n == 0) ? 1. : b(n - 1) * 1.1;
}

double a(int n)
{
 return (n == 0) ? 1. : a(n - 1) + b(n);
}

int main()
{
 for (int n = 0; n <= 30; n++)
  if (a(n) <= 30.)
   std::cout << "a(" << n << ") = " << a(n) << ", b(" << n << ") = " << b(n) << std::endl;
}
0285デフォルトの名無しさんNGNG
>>281

#include <stdio.h>
int main() {
 int i;
 double a=b=0;
 
 for (i=0; i<30; i++) {
  b = b * 1.1;
  a = a + b;
  printf("a(%d) = %f\n", i, a);
  printf("b(%d) = %f\n", i, b);
 }
 return 0;
}

どのへんが変数多いんだろう?
0286285NGNG
( ´д`;) aとbを0にしてどうするんだろう・・・
double a=b=1.0;
0287デフォルトの名無しさんNGNG
a(n)が30以下の時だぞ。
今の所正解は>>284だけだ。
0288デフォルトの名無しさんNGNG
>>283
>>285
for (i=1; i<=30; i++) {
だな
0289デフォルトの名無しさんNGNG
>>288
そうしても>>285の場合はa(0)がなくてa(31)が余分になるんじゃない?
0290デフォルトの名無しさんNGNG
>>288
そりゃ「nが30以下の場合」だろ。頭悪いのか?
0291デフォルトの名無しさんNGNG
>>287
馬鹿。>>284 は唯の勘違い野郎だ。
問題文には「数列」と書いてあるだろうが。
0292デフォルトの名無しさんNGNG
a(n)が30以下の間表示せよ
a(n)が30以下の間表示せよ
a(n)が30以下の間表示せよ
a(n)が30以下の間表示せよ
0293デフォルトの名無しさんNGNG
おおっと、全員間違いか?!
アホばっかだな。
0294デフォルトの名無しさんNGNG
>>293
だから>>284が唯一の正解なの。今のところ。
0295デフォルトの名無しさんNGNG
こんな奴らに仕事は出せんな。とんでもないプログラムを作ってくれそうだ。
0296デフォルトの名無しさんNGNG
>>295
厨房なので許してあげてください。
0297281NGNG
あ!
いっぱい書いてもらったところ恐縮なんですが
while文使ってできますか?
0298デフォルトの名無しさんNGNG
>>297
#include <iostream>

double b(int n)
{
 return (n == 0) ? 1. : b(n - 1) * 1.1;
}

double a(int n)
{
 return (n == 0) ? 1. : a(n - 1) + b(n);
}

int main()
{
 double a = 1., b = 1.;
 int n = 1;

 while (true) {
  if (a > 30.) break;
   std::cout << "a(" << n << ") = " << a << ", b(" << n << ") = " << b << std::endl;
  b *= 1.1;
  a += b;
  n++;
 }
}
0299デフォルトの名無しさんNGNG
C言語で『西暦年月日を入力し、2000年12月31日までの日数を計算するプログラム』を作りたいのですが、
全然分かりません.どなたかプログラムを作ってくれませんか?お願いします.
0300デフォルトの名無しさんNGNG
あ、スマソ。こちらで
#include <iostream>

int main()
{
 double a = 1., b = 1.;
 int n = 1;

 while (true) {
  if (a > 30.) break;
   std::cout << "a(" << n << ") = " << a << ", b(" << n << ") = " << b << std::endl;
  b *= 1.1;
  a += b;
  n++;
 }
}
0301デフォルトの名無しさんNGNG
whileを使うならこの方が良くない?

#include <iostream>
int main()
{
 double a = 1., b = 1.;
 int n = 1;

 while (a <= 30.) {
  std::cout << "a(" << n << ") = " << a << ", b(" << n << ") = " << b << std::endl;
  b *= 1.1;
  a += b;
  n++;
 }
}
0302デフォルトの名無しさんNGNG
>>297
std::cout << "a(" << n << ") = " << a << ", b(" << n << ") = " << b << std::endl;

→

printf("a(%d) = %lf, b(%d) = %lf\n", n, a, n, b);

ね。
死らな刈田だろう。
0303デフォルトの名無しさんNGNG
>>299
#include <stdio.h>
#include <time.h>

int main(void)
{
 struct tm tm, tm2;
 int y, m, d;

 printf("西暦と年月日を入力して下さい:");
 scanf("%d %d %d", &y, &m, &d);

 tm.tm_year = 2000 - 1900;
 tm.tm_mon = 12 - 1;
 tm.tm_mday = 31;
 tm.tm_hour = 0;
 tm.tm_min = 0;
 tm.tm_sec = 0;
 tm.tm_isdst = 0;

 tm2.tm_year = y - 1900;
 tm2.tm_mon = m - 1;
 tm2.tm_mday = d;
 tm2.tm_hour = 0;
 tm2.tm_min = 0;
 tm2.tm_sec = 0;
 tm2.tm_isdst = 0;

 printf("%ld days\n", (long)difftime(mktime(&tm), mktime(&tm2)) / (60 * 60 * 24));
 return 0;
}
0304デフォルトの名無しさんNGNG
>>299
ちなみに2000年12月31日から経過した日数ならtmとtm2をdifftime()の中で
ひっくり返せ。
0305デフォルトの名無しさんNGNG
>>303
「西暦と年月日」というのはおかしいので、「年月日を年を西暦で」か何かに
読み替えてくれ。
0306デフォルトの名無しさんNGNG
問題はキーボードから入力した文字列中の英大文字、英小文字、数字、記号の個数を出力しなさい。というものです。
下記のところまでできました。エラー、警告等もないのですが、KKKkkk999−−−と3つずつのように同じ数だけ入力すると最後にエラー表示(?)がでます。
なぜでしょうか?
#include <stdio.h>
void main()
{
char *a;
int o=0,k=0,su=0,ki=0;
scanf("%s",a);
while(*a!='\0'){
if(*a>='a'&&*a<='z'){
k++;}
else if(*a>='A'&&*a<='Z'){
o++;}
else if(*a>='0'&&*a<='9'){
su++;}
else{
ki++;}
a++;
}
printf("小文字は%d個\n大文字%d個\n数 字%d個\nその他%d個\n",k,o,su,ki);
}
0307デフォルトの名無しさんNGNG
エラー表示(?)
0308デフォルトの名無しさんNGNG
>>char *a;
>>scanf("%s",a);

ネ申
0309デフォルトの名無しさんNGNG
何もかもが理解出来てない悪寒
0310306NGNG
すみませんエラー表示書き忘れました。
エラー表示は「"0x77f627fe"の命令が"0x00000004"のメモリを参照しました。メモリが"read"になることはできませんでした」というものです。
スミマセンでした。
0311デフォルトの名無しさんNGNG
変えてみた
char *a=(char*)malloc(sizeof(char)*100);
char *b = a;
int o=0,k=0,su=0,ki=0;
scanf("%s",a);

while(*a!='\0'){
if(*a>='a'&&*a<='z'){
k++;}
else if(*a>='A'&&*a<='Z'){
o++;}
else if(*a>='0'&&*a<='9'){
su++;}
else{
ki++;}
a++;
}
a=b;

printf("小文字は%d個\n大文字%d個\n数 字%d個\nその他%d個\n",k,o,su,ki);
free(a);

でいいのかなあ

しかし暦の計算は知らなかったなあ
0312デフォルトの名無しさんNGNG
>>311
char a[100];でもいいんじゃないか?
0313デフォルトの名無しさんNGNG
ポインタインクリメントしてるからなあ
コンパイラに怒られたよ
0314デフォルトの名無しさんNGNG
free( b ); でいいじゃん。
0315デフォルトの名無しさんNGNG
それは何となく…
0316デフォルトの名無しさんNGNG
>>313
char buf[100];
char *a = buf;
0317デフォルトの名無しさんNGNG
>>問題はキーボードから入力した文字列中の
0318306NGNG
ポインタでインクリメントを使用し、ポインタの文字型に入れた「m12」の「2」を画面に出力しなさい。
printf("?",*(a+2));
「?」は?
0319デフォルトの名無しさんNGNG
ポインタの文字型に入れた
      ↑
   このへんが「?」
0320デフォルトの名無しさんNGNG
%cが文字
%sが文字列

>>318
どんな本使ってるんだ?
もしかして釣り?
0321839NGNG
バネ振り子をプログラムで作る宿題が出ました。
式は
dx/dt=v
dtheta/dt=a
dv/dt=(L+x)*a^2+g*cos(theta)-k/m*x
da/dt=-(2*v*a+g*sin(theta)/(L+x)
です。
これをアダプティブ・ルンゲクッタ法で解くプログラムをお願いします?
0322デフォルトの名無しさんNGNG
氏ねってお願いします?
0323デフォルトの名無しさんNGNG
お願いしません。
0324デフォルトの名無しさんNGNG
逝けってお願いします?
0325デフォルトの名無しさんNGNG
質問です
ttp://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H12a2/pm01.html
ここの問1のプログラムをCで構造体を使わずに作るのですが
訳解らず困ってます。

どなたか御教授願えませんでしょうか。
0326デフォルトの名無しさんNGNG
[email protected]まで
http://pc5.2ch.net/test/read.cgi/tech/1097932699/325
を送りました。
0327デフォルトの名無しさんNGNG
西暦1900年の干支は「子」である。1900以上の数値を
入力したとき、その歳の干支を出力するプログラムを作りなさい。

文字型配列etoに{"子","丑","虎",〜・・・"戌","猪"}を格納。
入力された数値と1900の差を12で割った余りでその年の干支を特定すればよい。
ポインタを使ったほうが、プログラムが簡単になる。

この問題が宿題として出されたんですが、どなたかお願いします。
0328デフォルトの名無しさんNGNG
それは干支か?十二支ではなく、本当に干支か?
0329デフォルトの名無しさんNGNG
>>325
フローに 1→n って書いてあるから出題者は BASIC を対象言語にしてるんだろなぁ。
香ばしい問題なので汚いソースを用意しました。
#include <stdio.h>
int main( void ) {
int maxn=5,n,Irank,Iusrn,Orm=0,Ormno[5];
int no[]={101,102,201,202,301},umaxn[]={4,4,3,4,6},status[]={0,1,0,1,0},rank[]={3,3,2,2,1};
scanf("%d %d", &Irank, &Iusrn );
for(n=0;n<maxn;n++)
if(!status[n]&&umaxn[n]>=Iusrn&&(Irank<1||Irank==rank[n])){
Ormno[Orm]=no[n];Orm++;
}
for(n=0;n<Orm;n++)
printf("%d\n",Ormno[n]);
return 0;
}
0330デフォルトの名無しさんNGNG
>>327
ポインタを使ったほうが簡単って
char* eto[]={"子","丑"....};
の事かぁ?
printf("%s\n", eto[(In-1900)%12]):
これだけ書けば良いだろ。
0331デフォルトの名無しさんNGNG
>>327
ということで回答。
#include <iostream>
int main()
{
  static const char jikkan[][3] = {"庚", "辛", "壬", "癸", "甲", "乙", "丙", "丁", "戊", "己"};
  static const char junishi[][3] = {"申", "酉", "戌", "亥", "子", "丑", "寅", "卯", "辰", "巳", "午", "未"};
  std::cout << "西暦(年):";
  int year;
  std::cin >> year;
  std::cout << "干支:" << jikkan[year % 10] << junishi[year % 12] << std::flush;
}
0332デフォルトの名無しさんNGNG
ポインタってdouble型なら
double *a;
と書くと思いますが、
double* a; てのとどう違うのですか?(*の位置?両方あっているの?)
0333デフォルトの名無しさんNGNG
>>332
それは本当に宿題なのか?
0334デフォルトの名無しさんNGNG
>>332
意味は同じ。
前者が昔風、後者が最近(といっても10年くらい前)からの流行。
「double* までが型である」という主張に元ずく。
double* a, b;
だと b の型は double になるのが気持ち悪いので、後者で書くときは1行1変数が
一般的。
0335デフォルトの名無しさんNGNG
double* a, * b;
0336デフォルトの名無しさんNGNG
↑本当にそんな書き方してるの?
0337デフォルトの名無しさんNGNG
double* a, *b;
0338デフォルトの名無しさんNGNG
>>334
基づく
0339325NGNG
>>329さん
ありがとうございます。
助かりました
これぐらいすぐ作れるように頑張ります〜
0340デフォルトの名無しさんNGNG
double
* a,
* b;
0341デフォルトの名無しさんNGNG
>>334
「元ずく」という表記は何時頃からの流行でつか?
0342デフォルトの名無しさんNGNG
typedef double *pointer_to_double;
pointer_to_double a, b;
0343デフォルトの名無しさんNGNG
どなたかお願い致します。Cです。

一問目
整数を入力し、入力した数値の二乗を出力するプログラムを作成せよ。
ただし、入力した整数を引数とし、その二乗を復帰値とする関数を作ること。

二問目
時間を(0〜23)を入力し、以下のような挨拶を出力せよ。
ただし、関数には入力した時間を引数として渡し、復帰値は無いこと。
0〜3 Good Night
4〜11 Good Morning
12〜16 Good Afternoon
17〜20 Good Evening
21〜23 Good Night
0344デフォルトの名無しさんNGNG
int square(int n)
{
 return n * n;
}

void greeting(int hour)
{
 switch (hour)
 {
 case 0:
 case 1:
 case 2:
 case 3:
  printf("Good Night");
  break;
マンドクセ
 default: 
  break;
 }  
}

後適当に埋めて。マンドクセ
0345デフォルトの名無しさんNGNG
case 1:
が消えちゃってら。マンドクセ
0346デフォルトの名無しさんNGNG
Janeが変だっただけだ。マンドクセ
0347343NGNG
続きです。

三問目

2つの正の整数を入力し、最大公約数を求めよ。
ただし、入力促進メッセージを必ず付けること。
また、ユークリッドの互除法を用いること。
また、何回ループしたかも表示せよ。

四問目
矩形則にてf(x)=x(2)の(a,b)での定積分を求めよ。
ただし、分割数nとa,bはキーボードより入力すること。

五問目
座標P(a,b)を円の中心とし、座標Q(c,d)を円周の一点とする円の面積を求めよ。

ヒント 1,点(e,f)を中心で半径をrとする円の公式は
    (x - e)(2)+(y - f)(2)=r(2)
    
    2,円の面積はs=πr(2)
    
    3,まず、1からr(2)を求め、それから面積を求める。
0348デフォルトの名無しさんNGNG
>>344
挨拶の中の空白は全角だYO!
0349デフォルトの名無しさんNGNG
マンドクセ
0350デフォルトの名無しさんNGNG
>>343
void greeting(int hour){
  char *word[] = {"Night", "Morning", "Afternoon", "Evening"};
  int id[24] = {0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,0,0,0};
  printf("Good %s\n", word[id[hour % 24]]);
}
0351デフォルトの名無しさんNGNG
>>347 
5

#include <stdio.h>
#define PI 3.14159
int main(void)
{
double a, b, c, d, s;

printf("a >>"); scanf("%lf", &a);
printf("b >>"); scanf("%lf", &b);
printf("c >>"); scanf("%lf", &c);
printf("d >>"); scanf("%lf", &d);
s = PI * ((c - a) * (c - a) + (d - b) * (d - b));
printf("s = %f", s);
return 0;
}
0352デフォルトの名無しさんNGNG
ぱいのていぎは 4*atan(1.0)
0353デフォルトの名無しさんNGNG
titty fucking
0354デフォルトの名無しさんNGNG
>>352
atanの定義は?
0355デフォルトの名無しさんNGNG
>>352
ふつーM_PI (@math.h)
0356デフォルトの名無しさんNGNG
>>355
uva では使えない
0357デフォルトの名無しさんNGNG
>>356
スレタイ嫁
0358デフォルトの名無しさんNGNG
すいません皆さんにはレベルが低すぎてつまらないかと思いますがお願いします
双方向リストの隣接交換法でソートするプログラムです

struct EMPLOYEE { /* 社員データ */

char name[NAME_LENGTH]; /* 氏名 */
int age; /* 年齢 */
char section[SECTION_LENGTH]; /* 所属 */
char address[ADDRESS_LENGTH]; /* 住所 */
char status; /* 状態 ('i':データ有り、'h':データ仮削除) */
struct EMPLOYEE * next; /* 次のリストを示す */
struct EMPLOYEE * prev; /* 前のリストを示す */
};
を使用してください
ソートには、ポインタをつなぎかえる方法を使用してください
0359デフォルトの名無しさんNGNG
Cで 4次の方程式
x^4 + A*x^3 + B*x^2 + C*x + D = 0
を A, B, C, Dを与えて、虚数解を含む4つの解を求めたいのですが
上手くいきません。どうかお願いします。
0360デフォルトの名無しさんNGNG
visual C++ 6.0
配列の最大値と最小値を求める関数を作成しなさい。
最大値と最小値の表示はmain関数で表示するものとします。

初期値
a[] = {10, 25, 7, 45, 2, 100, 3, 70, 50, -1};

-1は配列の終端を意味します。

#include <stdio.h>

void MaxMin(int*, int*);


void main(void)
{
int a[] = {10, 25, 7, 45, 2, 100, 3, 70, 50, -1};
}
void MaxMin(int *x, int *y)
{
}

別の変数名例えば”int Max = 0”を宣言してforで-1になるまでループし、ifで比較して格納するって言う方法以外を探しているのですができませぬ。
考えるだけ考えましたが無理だったので恥を忍んでお願いします。orz

後説明へたくそで面目ない。(´・ω・`)
0361デフォルトの名無しさんNGNG
>>358
何をどの順番にソートするんだ?

>>360
ソートとアルゴリズムで検索してくれ

4次は無理です…
解き方いろいろありそう
0362デフォルトの名無しさんNGNG
最大値、最小値の初期値は はいれつの先頭要素に汁のがセオリー(w
んで、要素2番目から比較汁!
0363デフォルトの名無しさんNGNG
>360
>別の変数名例えば”int Max = 0”を宣言

えーっと、パラメータの *x,*y そのまま使え(w
0364360NGNG
何となくわかってきました。
>>361 >>362 >>363

ありがとうございまする。
0365デフォルトの名無しさんNGNG
年齢でお願いします >361
0366デフォルトの名無しさんNGNG
#include <stdio.h>
void MaxMin(int*, int*, int*);
void main(void)
{
int a[] = {10, 25, 7, 45, 2, 100, 3, 70, 50, -1};
int Max, Min;
MaxMin(&Max, &Min, a);
printf("%d\n", Max);
printf("%d\n", Min);
}
void MaxMin(int *x, int *y, int *z)
{
for(*x = *y = *z, *z++; *z != -1; *z++)
{
if(*x < *z)
*x = *z;
if(*y > *z)
*y = *z;
}
}
試してないから動くかは知らん
0367デフォルトの名無しさんNGNG
すみません。お手上げです。5時間以上考えたんですが、どうしても上手くいきません。
何故でしょうか?^^;。分かる方ご指摘下さい。f=1です。
http://ceram.material.tohoku.ac.jp/~takamura/class/comp16/day5/day5.html

#include <stdio.h>
#include <math.h>

main()
{

int h, k, l;
float x1=0.0, x2=0.0, x3=0.5, x4=0.5, y1=0.0, y2=0.5, y3=0.5, y4=0.0, z1=0.0, z2=0.5, z3=0.0, z4=0.5;
double a, d, lambda, theta, F, FF, Fa, Fb;

a = 0.3615;
lambda = 0.154056;

for( h = -4; h<=4; h++){
for( k = -4; k<=4; k++){
for( l = -4; l<=4; l++){
if ( !(h==0 && k==0 && l==0) ){

d = a / sqrt(h*h+k*k+l*l);
theta = 2*asin(lambda/(2*d));
if ( F > 0.001){
Fa = 1+cos(6.28*(h*x2+k*y2+l*z2))+cos(6.28*(h*x3+k*y3+l*z3))+cos(6.28*(h*x4+k*y4+l*z4));
Fb = sin(6.28*(h*x1+k*y1+l*z1))+sin(6.28*(h*x2+k*y2+l*z2))+sin(6.28*(h*x3+k*y3+l*z3))+sin(6.28*(h*x4+k*y4+l*z4));

FF = Fa*Fa + Fb*Fb

printf("( %2d %2d %2d ) d = %.4lf 2theta = %.41fnm F_square = %.41f\n", h, k, l, d, theta, FF);
}}}}}}
0368デフォルトの名無しさんNGNG
>>347
> 三問目
20bitまでの対応だけど

/* calc GreatestCommonDivisor and get Iteration count */
#include <stdio.h>
int gcd(int a, int b, int n){
return (a>b)?b?gcd(b,a%b,++n):a|n<<20:gcd(b,a,n);
}

int main(){
int a, b, n, tmp;
puts("a wo irete:"); scanf("%d", &a);
puts("b wo irete:"); scanf("%d", &b);
tmp=gcd(a,b,0);
printf("saidai kouyakusu ha %d\n%d kai no loop\n",tmp&1048575,tmp>>20);
return 0;
}
0369rNGNG
>>358
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1027870433_324/sort.zip
0370デフォルトの名無しさんNGNG
>>367
とりあえず突っ込みどころ、
sqrtの引数、(double)でキャストしてあげましょう。
if(F>0.001)、Fの値が未定義です。全て偽になってprintf文が一回も呼び出されません。
printf文内、%.41fは小数点以下41桁出します。nmは謎です。指数を使いたいなら、eを使いましょう。

とりあえず5時間何を考えてたのか知りませんが、適当なところでprintf文埋め込んでデバッグしていくのがいいかと思われます。
また、うまくいかないのは何なのか、しっかり答えましょう(コンパイルがうまくいかない、実行中エラーが出る、値が違う、など)
がんばってくださいね。
0371370NGNG
悪い、nmはナノメートルの事ね。fとくっついてたからわからんかった。スマソ
0372370NGNG
#define PI 3.141592654
int main()
{
int h, k, l, cnt=0; /*追加*/
float x1=0.0, x2=0.0, x3=0.5, x4=0.5, y1=0.0, y2=0.5, y3=0.5, y4=0.0, z1=0.0, z2=0.5, z3=0.0, z4=0.5;
double a, d, lambda, theta, F, FF, Fa, Fb;

a = 0.3615;
lambda = 0.154056;

for( h = -4; h<=4; h++){
for( k = -4; k<=4; k++){
for( l = -4; l<=4; l++){
if ( !(h==0 && k==0 && l==0) ){
d = a / sqrt((double)(h*h+k*k+l*l));/*変更*/
if(lambda/(2*d)>1){continue;} /*追加*/
theta = 2*asin(lambda/(2*d));
Fa = 1+cos(6.28*(h*x2+k*y2+l*z2))+cos(6.28*(h*x3+k*y3+l*z3))+cos(6.28*(h*x4+k*y4+l*z4));
Fb = sin(6.28*(h*x1+k*y1+l*z1))+sin(6.28*(h*x2+k*y2+l*z2))+sin(6.28*(h*x3+k*y3+l*z3))+sin(6.28*(h*x4+k*y4+l*z4));

FF = Fa*Fa + Fb*Fb;
if ( FF > 0.001){
cnt++;/*追加*/
printf("( %2d %2d %2d ) d = %.4lf nm 2theta = %6.2f F_square = %4.2e\n",h,k,l,d,(180*theta)/PI,FF);/*変更*/
}}}}}
printf("count=%d",cnt);/*追加*/
}
できた。
確認のためにcntでカウント回したが、いらなかったら削除してくれ。あとはソートするだけ。
0373デフォルトの名無しさんNGNG
すみません、教えていただきたいのですが、
「100行100列のフィールドを全体領域として、そのフィールド内で5行5列の
窓枠を用意する。その窓枠内の各行列全ての値の総和が、別のフィールド(
任意の行列で構成)の任意のマスの値として代入できるようなプログラム」
という課題が出たのですが、お手上げです。どなたか考えていただけない
でしょうか。。VisualC++です。これを機会に勉強したいと思っております。
0374デフォルトの名無しさんNGNG
フィールドの構造も指定されてないのか?
0375373NGNG
>>374
指定されていませんが、おそらくある程度大きなフィールドを用意しなければ
いけないと思います。30×30の行列くらいで考えていただけないでしょうか。
もし不都合ならば、多少いじっても大丈夫だと思います。
0376デフォルトの名無しさんNGNG
素直に二次元配列でやればいいんじゃないの?
クラスでやるのも面白いだろうけど、373はそこまでやる気あるとは
思えないし。
0377367NGNG
>>370
明らかに勉強不足でした。それと説明不足で申し訳ありませんでした。
5時間一体何をやっていたのでしょうか?^^;。やはり基本的なところ
に穴があるようなので、もっとCの事を勉強しなくてはと思いました。
本当にどうもありがとうございました。
0378デフォルトの名無しさんNGNG
質問です。
iとj,nを指定してある中で下記のようなプログラムを作りました。
do{
 t = rand()%n+1;
}while(t==i&&t==j);
i,j≠tであるtが欲しいのですが、実行してもi=tやj=tのときが
あります。do whileの継続条件にこのような書き方は認められない
のでしょうか?だとしたらどのようにかけばよいのでしょうか?
0379デフォルトの名無しさんNGNG
do{
 t = rand()%n+1;
}while(t==i||t==j);
か?
0380378NGNG
>>379
ありがとうございます!実行したところできました!
そうですよね、かつではなくまたは、じゃないと
明らかにダメでした…助かりました☆
0381デフォルトの名無しさんNGNG
i = 3 j = 10
とかのとき
t = i と t = j
が同時になりたつことなんてないだろw
0382373NGNG
>>376
二次元配列・・・。そんな言葉が授業中出てきたような気がします。。
自分で考えるべきなのは承知してますが、助けてもらえないでしょうか・・・
0383デフォルトの名無しさんNGNG
>>382
二次元配列だったらググった方が絶対に早いぞ
0384デフォルトの名無しさんNGNG
test
0385デフォルトの名無しさんNGNG
int matrix[100][100];

っていうのはわかるの?
わからないと相当説明がしんどい。
0386デフォルトの名無しさんNGNG
まとりっくすひゃくばんひゃくばん
0387373NGNG
>>385
はい、左の[]が行で右の[]が列を表すんだと思います。
for文を使ってループだの、和をsumに足しこむなどするんだと
思うんですが、それをプログラムの記述にしたときのルールと
いうか、順番というか、表現方法がいまいち分かりません。。
0388デフォルトの名無しさんNGNG
言語はCです。どなたかお願いします。

空白で区切られた2つの正の整数を標準入力から読み込んで、そのまま標準出力へ書き出すプログラムを作成しなさい。
ただし以下の条件を満たすこと。
1、scanfは使わない。
2、行の先頭にある連続した空白は無視する。
3、2つの整数は複数の空白で区切られてもよい。
4、最初の2つの整数以降の文字は無視する。
5、数字以外の文字が含まれている場合(4f ,343kd 等)は0とする。

0389デフォルトの名無しさんNGNG
sscanf()って落ち?w
0390デフォルトの名無しさんNGNG
getcをループでまわして文字列入力
そのあと、strtolを二回呼び
最後にprintf
0391デフォルトの名無しさんNGNG
で、strtol の前にstrtok?
0392デフォルトの名無しさんNGNG
>>388
まじめにやってみた。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=251&fi=no
0393392NGNG
訂正

最初の while を 無限ループではなく。

while( *word_start )

としてくれ。
こうしないと、1ワード + スペースだけしか入力されなかったとき、無駄な0が出力される。
0394デフォルトの名無しさんNGNG
>>392
ちゃんとみてないが、2つの整数の間の空白に関して
> そのまま標準出力へ書き出す
が満たされていない気がする。

ということでやってみた。

#include <stdio.h>
int buf[256], sp;
void push(int c) { if(sp < 256) buf[sp++] = c; }
void output(void) { int i; for(i = 0; i < sp; i++) putchar(buf[i]); sp = 0; }
void popall(void) { sp = 0; }
0395デフォルトの名無しさんNGNG
int main(int argc, char argv) {
  int c, state = 0, num_output = 0;
  c = getchar();
  while(c != EOF && c != '\n') {
    switch(state) {
    case 0:
      if(isspace(c)) { c = getchar(); continue; }
      else if(isdigit(c)) { state = 1; }
      else { state = -1; }
      break;
    case 1:
      while(isdigit(c)) { push(c); c = getchar(); }
      if(isspace(c)) { output(); }
      else { putchar('0'); popall(); while(!isspace(c)) c = getchar(); }
      if(++num_output == 2) return 0;
      state = 2;
      break;
    case 2:
      while(isspace(c)) { putchar(c); c = getchar(); }
      state = 0;
      break;
    default:
      printf("bad input\n");
      return -1;
    }
  }
}
0396デフォルトの名無しさんNGNG
>>388 エラーは考慮してない。
#include <stdio.h>
#include <ctype.h>
int a[2], i, flag;
int space(void) {
  char c = getc(stdin);
  if (isspace(c)) return 1;
  else {ungetc(c, stdin); return 0;}
}
int graph(void) {
  char c = getc(stdin);
  if (isgraph(c)) {
    if (isdigit(c) && flag) (a[i] *= 10) += c - '0';
    else a[i] = flag = 0;
    return 1;
  }
  else {ungetc(c, stdin); return 0;}
}
void doc(void) {
  while (space()) ;
  i = 0; flag = 1; a[i] = 0; while (graph()) ;
  while (space()) ;
  i = 1; flag = 1; a[i] = 0; while (graph()) ;
}
int main(void) {
  doc();
  printf("%d %d", a[0], a[1]);
  return 0;
}
0397デフォルトの名無しさんNGNG
言語はC++です。どなたかお願いします。

適当に名前を入力すると、名前のアルファベット順にソートして出力する。
入力件数は最大5件とする。
名前はローマ字表記とし、半角大文字で入力する。
名前入力の時に改行のみを入力するか、5件入力されたら、入力を打ち切る。
ソートのアルゴリズムは単純選択法を用いること。
0398デフォルトの名無しさんNGNG
double a[}={3.4 , 5.8 , 0.6 , 2.4 , 1.8 , -1}の配列の要素をバブルソートで昇順に並べるプログラム(C++)
"-1"は番兵である。 これ私に教えてください〜!!
0399デフォルトの名無しさんNGNG
>>398
複数のスレで聞く行為はマルチと呼ばれ、一番最低の行為です。
0400rNGNG
>>397
ソート部分は作った。
入力部分は自分で作れ。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=325
0401デフォルトの名無しさんNGNG
>>397
#include <iostream>
#include <string>
void selection_sort(std::string* first, std::string* last){
  for (int n = last - first, i = 0; i < n - 1; i++) {
    int k = i;
    for (int j = i + 1; j < n; j++) if (*(first + j) < *(first + k)) k = j;
    std::string temp = *(first + i); *(first + i) = *(first + k); *(first + k) = temp;
  }
}
int main(){
  std::string name[5];
  int i = 0;
  for (; i < sizeof(name) / sizeof(name[0]); ++i) {
    std::cout << "name?:";
    if (!std::getline(std::cin, name[i]) || name[i] == "") break;
  }
  selection_sort(name, name + i);
  for (int j = 0; j < i; ++j) std::cout << "name[" << j << "]:" << name[j] << std::endl;
}
0402デフォルトの名無しさんNGNG
ごめんなさい、よくそういうの知らなかったもので>w<
0403デフォルトの名無しさんNGNG
>>402
誰に対する何のレスなんだよ。
0404デフォルトの名無しさんNGNG
399に対してです。たびたびすみません。
0405デフォルトの名無しさんNGNG
あなたは404ふぉーびっつんです
0406デフォルトの名無しさんNGNG
何か398可哀想だから教えてあげるかな。
0407デフォルトの名無しさんNGNG
>>398 そうやって成長するのだよ
0408デフォルトの名無しさんNGNG
何を知らないって、常識を知らないんだな。
あと客観的思考が足りないとか。
0409デフォルトの名無しさんNGNG
ほんとにごめんなさい。でも私、その398のやつ知りたかったから〜>w<できればもう常識はずれなことをしないから教えて欲しい・・・。
0410デフォルトの名無しさんNGNG
>>405
404なのにForbidden?
0411デフォルトの名無しさんNGNG
>>409
とりあえずその相手をおちょくってるような顔文字やめろ
0412デフォルトの名無しさんNGNG
>>409
自分で調べたところまでを書くとかなんとか…
せめて予想でも.
いきなり,もってきてわかりませんじゃ,答えてくれないよ
0413モウモウNGNG
>>398
こことか読めばわかるんでないの?
http://www1.cts.ne.jp/~clab/hsample/Sort/Sort1.html
0414デフォルトの名無しさんNGNG
何か厳しいというか、私が何にもわかってなかったから、ほんとみなさんすみませんでした。
0415デフォルトの名無しさんNGNG
頼むからここでは非常識な厨にも優しくしてやってくれ
他のスレに来られると困るんだよ。
0416モウモウNGNG
>>414
その宿題かたずけないと、先生に怒られるの?
せっぱつまっているんなら教えてあげてもいい。
0417デフォルトの名無しさんNGNG
できれば教えて欲しいです。実は焦ってるんで、お願いします。
0418デフォルトの名無しさんNGNG
>>417
というか
>>413
読めって.
こうしている時間に勉強したら解決したんじゃない?
0419モウモウNGNG
>>417
わかった。30分ぐらいまってて。
プログラム書くから。
0420373NGNG
どなたか>>373をお願いします。。
0421モウモウNGNG
>>398 >>>417
これでいいだろう。たぶん。

#include <stdlib.h>
#include <stdio.h>

/**
 *  data に数値データを渡すと、バブルソートで昇順にソートする。
 *  data 内の -1 は番兵になる。
 *  data には番兵を除いて少なくとも 1 つの数値があること。
 */
void bubble_sort(double* data)
{
    int i, j;
    for (i = 0; data[i] != -1; i++) {
        for (j = i + 1; data[j] != -1; j++) {
            if (data[i] > data[j]) {
                // データを入れ替える
                double temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            }
        }
    }
}
0422モウモウNGNG

/**
 *  数値データを表示する。
 */
void print_data(double* data)
{
    int i;
    printf("data =");
    for (i = 0; data[i] != -1; i++) {
        printf(" %g", data[i]);
    }
    printf("\n");    
}

int main(void)
{
    double a[] = {3.4 , 5.8 , 0.6 , 2.4 , 1.8 , -1};

    print_data(a);
    bubble_sort(a);
    print_data(a);

    return 0;
}
0423モウモウNGNG
>>420
その宿題かたずけないと、先生に怒られるの?
せっぱつまっているんなら教えてあげてもいい。
0424デフォルトの名無しさんNGNG
モウモウさん、できれば421のやつをC++でやってもらいたいのですが。でもたぶん同じ感じですよね!?
0425モウモウNGNG
>>424
上のやつは C に近いけど、C ではコンパイルとおらないよ。
C++ でって、どういうこと?STL とか使えってこと?
要件定義をしっかり教えてくれ。
0426デフォルトの名無しさんNGNG
STL使ったら、バブルソートなんか作るのアホだよな
0427モウモウNGNG
ごめん、C でもたぶんとおるよ (C++ でもとおる)。
printf じゃなくて cout を使ってほしいってこと?
0428デフォルトの名無しさんNGNG
>>424
やってもらって礼もいわずに書き直せだから常識がないと言われるんですよ.
0429373NGNG
>>モウモウさん
月曜日までに作るように言われてるんですが、知り合いのいない授業
でして・・・。できないと怒られるというより、単位がでないかもしれ
なくてかなり困ってる次第です。どうか教えてください。
0430デフォルトの名無しさんNGNG
>>373
やろうと思ったけど問題の意味が分からない。
100行100列のフィールドと、別のフィールドを造るってこと?
0431モウモウNGNG
>>430
やってくれるんなら 430 さんに任せるけど、それでいいですか?
0432373NGNG
>>430
そうです。お願いします。
0433430NGNG
いいけど、問題の意味がいまいち理解できてない。
0434デフォルトの名無しさんNGNG
他にもstd::vector<std::vector<hoge> >とかstd::valarray<hoge>を
使っていいかとか。それによってはコード量も違う。
0435モウモウNGNG
>>434
老婆心ですまないが、初心者にそれは使わないほうがいいんでは?
C だけで済ませておいたほうが、彼のためにもなるし。。。
0436デフォルトの名無しさんNGNG
野暮なことで申し訳ないが
彼のため、というのならそもそも答えてあげるのが間違いだ罠
0437430NGNG
全体フィールドのある領域の合計を、別のフィールドの特定の場所に代入すればいいのかな?
0438373NGNG
最初の100行100列の各行列に数値(任意)を入れます。次に5行5列の窓枠を
用意して、1行1列のマスに入ってる数値、1行2列のマスに入っている数値、
1行3列のマスに入っている数値、1行4列のマスに入ってる数値、1行5列のマスに入ってる数値、
2行1列に入っている数値、2行2列のマスに入ってる数値、・・・、5行5列に入っている数値
までの総和を、別の50行×50列のフィールドの1行1列目のマスの値となるように
代入、1行2列のマスに入っている数値〜1行6列のマスに入っている数値、2行2列・・・5行6列
のマスに入っている数値までの総和が別の50行×50列のフィールドの1行2列目のマスの値と
なるように代入、以下同様に5行5列の窓枠をシフトしていってそれぞれの総和が順次代入
されていくようなプログラムです。説明が足らずすみませんでした。
0439373NGNG
50*50だと足りないですね・・・。100*100の行列をもう一つ用意
に訂正です。。すみません。
0440430NGNG
C++ でいいんだっけ?
0441373NGNG
>>440
はい、そうです。すごく助かります。。
0442デフォルトの名無しさんNGNG
>>441
ほんとにいいのか?
第3者から見ても、
おそらく>>373の考えてるレベルと>>440が書こうとしてる内容は
結構ギャップがあると思うぞ

見栄張らず、Cで書いてもらったほうが勉強という意味でも適正レベルだと思うぞ
0443373NGNG
>>442
VisualC++だったと思うんですが、それってC++ということではないの
でしょうか?
0444デフォルトの名無しさんNGNG
ほんとありがとうございます。そしてすぐにお礼もいわずにすみません。COUTを使ったらどうなりますか!?
0445430NGNG
まぁ、C++といっても、Cに毛の生えたような感じで作ります。
malloc 使いたくないだけなんでw
0446デフォルトの名無しさんNGNG
>>444
あんた誰?
0447デフォルトの名無しさんNGNG
VisualC++というのはソフトウェアを指す
C++というのはC言語の拡張版、といったところ
C言語と記述方法は互換性あるけど、別物と考えてもいいぐらい

なので、C言語もろくすっぽに理解してない場合はC++なんて到底理解できない
0448モウモウNGNG
>>444
printf(" %g", data[i]) のところを cout << " " << data[i]
printf("\n") のところを cout << "\n" もしくは cout << endl にするだけ。
ちなみに私はもう寝るからな。
0449373NGNG
>>430
本当に助かります。よろしくお願いします。
>>447
授業がC++だと思うので提出もC++だと思います。
作っていただくプログラムを頑張って理解したいと思います。
もし、わからないところが出てきたら質問するのでそのときは
よろしくお願いします。
0450デフォルトの名無しさんNGNG
もう一度>>1を読もうな。
0451373NGNG
>>450
はい。。430さんをはじめ、すみませんでした。
0452デフォルトの名無しさんNGNG
>>438

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=252&fi=no

正直へんてこなコードになった。
C++ 使いつつあんまり C++ っぽくしないようにしたんで。
かといって、初心者に優しいわけでもないんだな、これが。
0453デフォルトの名無しさんNGNG
>>373
多分勘違いのままだろうから説明加えとく

おそらく授業というのは
「VisualC++という名前のソフトウェアを使ったC言語」の授業だろう
この「VisualC++」が「メモ帳」であってもC言語やC++言語は勉強できる
ソフトの名前にC++が付いていても
C++言語を授業として扱わない限りC++を習っていることにはならない

そもそもC++が理解できるレベルならこういう宿題もぱっぱと済ませられる(はず)
っていうかそもそもそんな宿題出さないね



この勘違いのままスレ違いな発言して追い出されてマルチということはするなよ
0454デフォルトの名無しさんNGNG
>>439
ちょっと待て。100*100の行列を別に用意したとして、
辺や隅はどうするんだ。
0455281NGNG
教えてもらったプログラム間違ってるんですけど・・・
全部0になっちゃう

#include <stdio.h>←これ使いたい
int main()
{
 double a = 1., b = 1.;
 int n = 1;

 while (a <= 30.) {
  printf("a(%d) = %lf, b(%d) = %lf\n", n, a, n, b);
  b *= 1.1;
  a += b;
  n++;
 }
}
0456デフォルトの名無しさんNGNG
>455
普通に>283でいいんじゃない?
それとnの初期値は0にしてね
0457デフォルトの名無しさんNGNG
C++の問題をCで解いたってなんの問題もないだろ
coutやclassを使えというなら、そのことを書くべき

CとC++が全然別の言語とでも思い込んでるんだろ
0458デフォルトの名無しさんNGNG
〔問題〕
文字列strを空文字列にする関数
void null_string(char str[])
を作成し作成した関数を実行する
プログラムを作成せよ
0459デフォルトの名無しさんNGNG
そんな餌に(ry
0460デフォルトの名無しさんNGNG
void null_string(char str[]){
  str[0] = '\0';
}
int main(void){
  char str[] = "クマー";
  null_string(str);
  return 0;
}
0461デフォルトの名無しさんNGNG
>>455
printf()の"%lf"は(基本的に)間違い。
また、"%f"よりも"%g"をお奨め。
0462デフォルトの名無しさんNGNG
((String)null).length();
0463rNGNG
>>462
ガッ
0464デフォルトの名無しさんNGNG
>>461
そこでC99
0465デフォルトの名無しさんNGNG
>>444
coutを大文字で書くヤツ初めて見た
0466デフォルトの名無しさんNGNG
COUT
0467デフォルトの名無しさんNGNG
BASICに時代を戻さないでください
0468デフォルトの名無しさんNGNG
何でも大文字にしたがるMFCにはカスタマイズされたCOUTがあるに違いない。
0469373NGNG
>>452-453
助かりました。ありがとうございました!
0470マイク ◆yrBrqfF1Ew NGNG
すいませんこれがわからなくて困ってますぅ
言語仕様外ですがおねがいしまーす

//以下のプログラムに何らかの入力を与え
//結果として以下のプログラム内で/bin/shを実行せよ
//環境はi386 && (linux||*bsd)とする
namespace vuln {
void off_by_one(const char *input)
{
char buffer[16];
for (int i = 0; i <= sizeof(buffer) && input[i] != '\0'; ++i)
buffer[i] = input[i];
}
}

int main(int argc, char **argv)
{
if (argc == 2)
vuln::off_by_one(argv[1]);
return 0;
}
0471rNGNG
>>470
それで問題文は全部?
なんか意味がわからね。


off_by_one()をリターンする前に
system( buffer );
を呼べばイイとか、そういう事?
0472マイク ◆yrBrqfF1Ew NGNG
コードの書き換え書き足し削除は一切無しで。
0473デフォルトの名無しさんNGNG
バッファオーバーランでも狙うのか?
0474デフォルトの名無しさんNGNG
i <= sizeof(buffer)
ここを突けってことか?
0475マイク ◆yrBrqfF1Ew NGNG
patchあてるならそこですねー。
0476デフォルトの名無しさんNGNG
言葉遣い悪すぎ
0477デフォルトの名無しさんNGNG
57 名前:マイク ◆yrBrqfF1Ew [] 投稿日:04/10/25 08:37:20
俺はできるがgoodを表示させられる奴いるか?

//bcc32 5.5.1 on win2k
#include <iostream>
#include <iomanip>
int main()
{
volatile int n = 0;
char buffer[128];
cin.get(buffer, 132, '\0');
std::cout<<(n == 4276545 ? "good" : "bad")<<std::endl;
return 0;
}

58 名前:マイク ◆yrBrqfF1Ew [sage] 投稿日:04/10/27 18:45:03
やはり誰もいないな(▽
0478マイク ◆yrBrqfF1Ew NGNG
で、できるんですか?
0479マイク (仮)NGNG
やはり誰も出来ないな(▽
0480デフォルトの名無しさんNGNG
まあなんかしらんが >>477 はできた。
てか'\0'ってのが不可解だ。
0481デフォルトの名無しさんNGNG
>>480
どうやるの?
0482480NGNG
ヒントは4276545が何を表すかを考えることだなあ。
あとは128に132分読み込んでるって事か。それでbufferがあふれるわけだな。

これで十分だろ。答えになっちまうよ。
0483デフォルトの名無しさんNGNG
なんか知らんが、どうしてチート関連になると答えないんだろうね。
ここはチートスレじゃないんだぞ?
0484デフォルトの名無しさんNGNG
はいはい"AA...A"(Aを132個)入力すればいいんでしょ。それでは
宿題をドゾー
0485デフォルトの名無しさんNGNG
Windowsについてる電卓使うとわかりやすくなるよね。
0486デフォルトの名無しさんNGNG
チートスれじゃないから、チート関連には答えないんじゃねーの?
0487マイク ◆yrBrqfF1Ew NGNG
>>470はどうした?
というかどこがチートだ?
0488マイク(偽◇yrBrqfF1Ew NGNG
やはり誰も出来ないな(▽
0489デフォルトの名無しさんNGNG
どうも、常識人さんがいないと
スレが荒れる傾向にあるな。
0490マイク ◆yrBrqfF1Ew NGNG
それは大変だな。
0491デフォルトの名無しさんNGNG
>>487
http://www2.alc.co.jp/ejr/index.php?word_in=cheat&word_in2=reedeirrf&word_in3=zJPa7DCxJ15687987t
0492マイク ◆yrBrqfF1Ew NGNG
そんな怪しいリンク誰も踏まないだろ。
0493デフォルトの名無しさんNGNG
>>492
ん?このリンク先知らない?
英辞郎だよ
0494マイク ◆yrBrqfF1Ew NGNG
全く知らん。
0495476NGNG
こんな古典は答える価値もないのに、図に乗りやがって
土下座して出て行け

・処理系依存方法しかない
・1バイトオーバーライトで、(恐らく)pushされてるebpを書き換える
・関数エピローグでスタックをbufferに向けてeipを変更する
0496デフォルトの名無しさんNGNG
>>494
だったら今知ればいい。
英語に通じている人でも、ときどきこの英単語を日本語ではどう訳せばよいのか、
と思うことがあるよね。
特に専門用語では訳が難しい。
エルミート作用素、演算子、どっちがいいの?とか。
0497496NGNG
英辞郎はわりと専門用語も載っているWEB上の英和辞典だから便利だよ
0498マイク ◆yrBrqfF1Ew NGNG
>>495
まあ、そんなとこか。

>>496
良かったな。
0499デフォルトの名無しさんNGNG
四則計算

キーボードから実数を2つ入力し、実数の加算、減算、乗算、除算と
整数の加算、減算、乗算、除算、剰余算を表示するプログラムを作りなさい。
なお、整数の値は(入力せずに)実数値を整数値に変換して用いなさい。

[実行例]

a b = 64.2 22.8 <--- ここで2つの実数値を入力
a=64.19997, b=22.799999
a + b = 86.999996
a - b = 41.399998
a * b = 1463.759881
a / b = 2.815789
ia=64, ib=22 <--- この場所で入力した実数値を整数値に変換した値を表示しておく
ia + ib = 86
ia - ib = 42
ia * ib = 1408
ia / ib = 2
ia % ib = 20


お願いします。
0500デフォルトの名無しさんNGNG
>>498
真摯さが足りん。
君は人の言葉に対して敬意がない。
君は情報をあたえてもらったのだから、そのことに対して「よかったな。」の一言か?
それはあまりに無礼だ。
常識人に常識を教えてもらったらどうだ?
0501デフォルトの名無しさんNGNG
>>499
#include <stdio.h>
int main(void) {
double a, b;
int ia, ib;
printf("a b = ");
scanf("%lf %lf", &a, &b);
printf("a=%lf, b=%lf\na + b = %lf\na - b = %lf\na * b = %lf\na / b = %lf\n", a, b, a + b, a - b, a * b, a / b);
ia = a; ib = b;
printf("ia=%d, ib=%d\nia + ib = %d\nia - ib = %d\nia * ib = %d\nia / ib = %d\nia %% ib = %d\n", ia, ib, ia + ib, ia - ib, ia * ib, ia / ib, ia % ib);
return 0;
}
0502デフォルトの名無しさんNGNG
>>499
言語は?

> a b = 64.2 22.8
ここから
> a=64.19997, b=22.799999
何でこうなるの?

> この場所で入力した実数値を整数値に変換した値を表示しておく
切り上げ?切り捨て?四捨五入?
0503デフォルトの名無しさんNGNG
>>502
低レベルの人は書き込みをご遠慮ください。
0504デフォルトの名無しさんNGNG
JIS丸めもあるね
0505デフォルトの名無しさんNGNG
問題は文字型のポインタに数字を5個入れprintfで出力せよというものです。
そこで↓な感じで作りましたがうまくいきません。初心者なのですが、分かりやすい解説お願いします。
下記のとおりな感じでお願いします。
#include <sdio.h>
int mani()
{
char *a;
int i;
scanf("%s",a);
for(i=0;i<5;i++){
printf("c",*a);
a++;}
return 0;
}
0506デフォルトの名無しさんNGNG
誤<sdio.h>→<stdio.h>
0507デフォルトの名無しさんNGNG
>>505
まず、「文字型のポインタ」と言う表現をそのままとると、char*ということになる。
君の書いているchar *a;と言うのは、ポインタ型変数の宣言だ。しかし、ポインタとは
あくまである領域を指す値(メモリのアドレス)を入れる場所であって、数字などを入れる
場所ではない。ということは、ポインタだけ作ってやってもそれが指す領域を実際に
作ってやらないと、代入も何もないわけだ。
…とここまで書いてみて、突っ込みどころ満載過ぎてもう何を書いていいのやら。

とりあえずsdio→stdio、mani→main、char *a;→char a[6];、scanf("%s", a);→scanf("%5s", a);、
printf("c", *a);→printf("%c", *(a+i));、a++;→(削除)とすれば動かないではないけれども、
ポインタを使っているとは言いがたい。もうめんどくさいから寝る。
0508デフォルトの名無しさんNGNG
>>505
ポインタ変数に数字を5個入れるのは無理だが・・・

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char *a;
  a = (char *)malloc(sizeof(char)*(5+1)); // とりあえず (5文字+終端文字) 分のメモリを確保

  scanf("%5s",a);  // 入力ストリームから5文字以内で入力
  printf("%s\n",a);  // あとは表示するだけ

  free(a);       // 確保したメモリを解放
  return 0;
}

もしや、配列を使ったほうがいいのだろうか・・・
0509デフォルトの名無しさんNGNG
ちゅーか
>>505の内容だけでは
問題に沿った解答解説ができない
0510デフォルトの名無しさんNGNG
#include <studio.h>

int main(void)
{
char *s = "12345";
printf("%s\n", s);
return 0;
}
0511508NGNG
#include <stdio.h>

int main()
{
  char a[5+1];     // (5文字+終端文字) を格納する配列
  char *p;       // 題意に沿うようにポインタ変数を用意

  p = &a[0];      // 配列の先頭アドレスをポインタ変数に代入
  scanf("%5s",p);   // 5文字以内で入力

  for(i=0;i<5&&p[i]!='\0';i++){
    printf("%c",p[i]);  // 終端文字のところまで1文字づつ表示する
  }

  return 0;
}

これなら、ポインタを使ってると言える・・・よね?
0512デフォルトの名無しさんNGNG
文字型のポインタに数字を入れることはできません。
0513デフォルトの名無しさんNGNG
>>510
また斬新な回答を・・・

#include <studio.h>
になってるからネタか?
0514デフォルトの名無しさんNGNG
もしや、>>510が正解か?
#include <studio.h>は別として
0515デフォルトの名無しさんNGNG
>>513
全然斬新じゃない。
C言語のプログラミング入門的講義では、まず間違いなく一人はstudio.hと書く。
0516デフォルトの名無しさんNGNG
>>515
と、言うことはみな「スタジオ」と読んでるのか?
君を含めて( ̄ー ̄)ニヤリッ。
0517デフォルトの名無しさんNGNG
先生に
スタジオどっとえいち
と習いました
0518デフォルトの名無しさんNGNG
うるせーよ (゚Д゚) バーヤ バーヤ


ノД`、)
0519デフォルトの名無しさんNGNG
C言語課題

・「ID」「名前」「年齢」を要素にもつ構造体INFOを作成しなさい。
ただし、名前は動的メモリにて確保するものとする。

・scanf関数から「名前」と「年齢」を入力し、
動的メモリを用いて、どんどん何人分でも追加できていけるソースコードを記述しなさい。

この2つで1つのソースコードです。
よろしくお願いしますー
0520デフォルトの名無しさんNGNG
>>どんどん何人分でも

不可能
0521デフォルトの名無しさんNGNG
IDは自動採番やろか。
0522デフォルトの名無しさんNGNG
template <class T> static T abs(T a) { return a > 0 ? a : -a; }

のtemplate <class T> static T abs(T a)って何を意味しているんですか?
0523デフォルトの名無しさんNGNG
任意の型であるTという型のaというパラメータを採るabsという名前のTという型の値を返す静的なテンプレート関数。
0524519NGNG
IDは連番数字です
0525デフォルトの名無しさんNGNG
>>516
どう呼んでいようが聞いていない学生はいるものだ。
0526デフォルトの名無しさんNGNG
>>519 少し長いので2回に分ける
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct INFO { int id;char* name;int age; };
static int Use = 0;
static int Max = 0;
static INFO* info = NULL;
static int add( char* name, int age )
{
INFO* tmp;
if( Use >= Max ) {
Max += 32;
tmp = (INFO*)malloc( sizeof( INFO ) * Max );
if( ! tmp )return 0;
if( info ) {
memcpy( (void*)tmp, (void*)info, sizeof( INFO ) * Use );
free( (void*)info );
}
info = tmp;
}
info[Use].id = Use;
info[Use].name = (char*)malloc( strlen( name ) + 1 );
if( ! info[Use].name )return 0;
strcpy( info[Use].name, name );
info[Use].age = age;
Use++;
return 1;
}
0527526NGNG
続き
int main( void )
{
charname[128];
intage, i;
while( 1 ) {
scanf( "%s %d", name, &age );
if( ! strcmp( name, "end" ) )break;
if( ! add( name, age ) ) {
printf( "cannot alloc any more!\n" );
return 1;
}
}
for( i = 0; i < Use; i++ )
printf( "%d: %s (%d)\n", info[i].id, info[i].name, info[i].age );
return 0;
}
0528526NGNG
なんかつながってしまったとこがあるな。
charname -> char name
intage -> int age
名前を end にすると終了して入力されたのを表示する。(それぐらい判るか)

0529デフォルトの名無しさんNGNG
C言語で、x円借金して年利yで毎月z円返済して、
返却を完了する月とその月の返却額を計算するプログラムを教えてください。
0530デフォルトの名無しさんNGNG
>>529
クレ板にイケ
0531デフォルトの名無しさんNGNG
収入が無く返済できず自己破産で糸冬 了..._〆(゚▽゚*)
0532デフォルトの名無しさんNGNG
お願いしますよ〜
0533デフォルトの名無しさんNGNG
じゃあまず算数でそれを表現してみては?
いくらなんでもそれぐらいはできるだろ?
0534デフォルトの名無しさんNGNG
#include <stdio.h>
void main()
{
    
int x,y,z;
int nokori;
int tuki;
int i;
int hensai;
tuki = 1;
printf("借金の金額:\n");
scanf("%d",&x);
printf("年利:\n");
scanf("%d",&y);
printf("月の返済額:\n");
scanf("%d",&z);
nokori = x;
while(nokori>0)
{
 for(i=0; i<12; i++,tuki++){
  nokori -= z;
  if(nokori <= 0)
  { break;}
 }
 nokori=nokori+x*y/100;
 if(nokori >= x || tuki > 1000) {printf("欝だ氏のう"); return;}
}
hensai = nokori+z;
printf("月:%d 返済額:%d\n",tuki,hensai);
return;
}
0535デフォルトの名無しさんNGNG
直しておこう

while(nokori>0)
{
 for(i=0; i<12; i++,tuki++){
  nokori -= z;
  if(nokori <= 0)
  { goto yatta;}
 }
 nokori=nokori+x*y/100;
 if(nokori >= x || tuki > 1000) {printf("欝だ氏のう"); return;}
}
yatta:

たまにはgotoを
0536デフォルトの名無しさんNGNG
void main
0537デフォルトの名無しさんNGNG
おいらの人生終了..._〆(゚▽゚*)
0538デフォルトの名無しさんNGNG
gotoを出すならgotoの問題もちゃんと教えとけ
goto推奨みたいに受け止められたらかなわん
0539デフォルトの名無しさんNGNG
>>534
ありがとうございます。参考になりました。
0540デフォルトの名無しさんNGNG
gotoはソース見づらくなるから、あまり使わないほうがいいらしいです

あとwhileの中とか直しといて
0541デフォルトの名無しさんNGNG
多重ループやswitchから抜け出すための goto なら禿も推奨している
0542デフォルトの名無しさんNGNG
リストの結果を逆順に表示するように表示関数を書き直す
って問題なんですが、教えて頂けますでしょうか?
void print(List *p) {
int i;
printf("(");
for(i=0; i<size(p); i++) {
printf("%d",get(p,i));
if (i < size(p)-1) printf(",");
}
printf(")\n");
}
0543デフォルトの名無しさんNGNG
>>541
禿って誰ですか?
0544デフォルトの名無しさんNGNG

void print(List *p) {
int i;
printf("(");
for(i=size(p)-1;i >=0 i--) {
printf("%d",get(p,i));
if (i !=0) printf(",");
}
printf(")\n");
}
0545デフォルトの名無しさんNGNG
>>543
http://pc5.2ch.net/test/read.cgi/tech/1095113801/
0546542NGNG
>>544
さんくすです、できますた。
0547541NGNG
>>545
ワロタ

漏れが言ったのはまあこいつのことだが、上級者には違いねぇ
http://pc5.2ch.net/test/read.cgi/tech/1095113801/
0548541NGNG
間違えたorz
http://www.research.att.com/~bs/←こいつ
0549デフォルトの名無しさんNGNG
>>543
Bjarne Stroustrap(C++の作者)のこと
0550デフォルトの名無しさんNGNG
>>549
そいつバカ
0551デフォルトの名無しさんNGNG
すみません、また質問なのですが、

/* index番目にvalueを挿入する */
void insert(List *p, int index, Item value) {
int i;
if (index < 0) return;
while (index >= size(p)) add(p,nil);
for (i = size(p)-1; i > index; i--)
set(p, i, get(p, i-1));
set(p, index, value);
}

とあるのですが、例えば
s(セット)で
1
5
(0,5)
とした場合、i(インサート)で
1
4
と入力すると、
(0,4)
となってしまうのですが、
(0,4,5)
と表示させるためにはどうしたらいいんでしょうか?
よければおしえてください…。
0552デフォルトの名無しさんNGNG
( @盆@)
0553デフォルトの名無しさんNGNG
>>551
それだけでは、情報不足でなんともいえない。
考えられることは。

(1) インサート処理がうまくされていない。(setのバグ)。
4のうしろのちゃんと5がリンクされているかどうか確認汁。

(2) 表示ルーチンのバグ。
ちゃんと0-4-5 とリストは出来ているが、全部表示できていない。


どっちかだろうな。
0554デフォルトの名無しさんNGNG
sとかiとかって一体何だ。エスパーじゃないんだから何を指しているのか、
全ソースを示すなりしなければ何も相手に通じないぞ。
0555デフォルトの名無しさんNGNG
void insert(List *p, int index, Item value) {
int i;
if (index < 0) return;
add(p,nil);
for (i = size(p)-1; i > index; i--)
set(p, i, get(p, i-1));
set(p, index, value);
}
でどうよ?
0556デフォルトの名無しさんNGNG
>>555
なんでそう思ったのか、興味あるな。

関係なさげだが・・。
0557デフォルトの名無しさんNGNG
>>553
試したんですけど、やっぱり見えていない部分の数字は消えていました・・。

>>555
すごいっす!できました。
ありがとうございます!

>>554
すみません・・。
0558デフォルトの名無しさんNGNG
それでいいのか・・。何でだ?
0559555NGNG
既に>>551は見てないだろうけど>>556のために。
indexの場所によらずサイズが増えるので while(index>=size(p)) は不要。
ただし消したせいでindex > size(p)+1 の場合バグになると言う罠…ということに気付いたのは今。
と言うことでリトライ。
void insert(List *p, int index, Item value) {
int i;
if (index < 0) return;
add(p,nil);
while (index >= size(p)) add(p,nil);
for (i = size(p)-1; i > index; i--)
set(p, i, get(p, i-1));
set(p, index, value);
}
…元のと混合しただけ。
0560デフォルトの名無しさんNGNG
注釈つけ忘れ
add(p,nil); // 最低1つ追加
while (index >= size(p)) add(p,nil); // 足りなければその分追加
0561551NGNG
>>559,560
みてますよ〜。馬鹿ですが、自分でも頑張ってみます^^
ありがとうございます。
0562デフォルトの名無しさんNGNG
リストのなかに未使用ノードある場合、addしなくてもいいように思えたんだけど、
必ずaddしないとならないのか・・・。

setのつくりが分からんから、確かなことは分からないけど。
0563551NGNG
すみません、setのつくりも載せておきます。

/* index番目の要素をvalueとする */
void set(List *p, int index, Item value) {
if (index < 0) return;
if (index >= p->N) {
insert(p, index, value);
return;
}
p->data[index] = value;
}
0564デフォルトの名無しさんNGNG
dx/dt=V, dV/dt=-kx 初期条件x0=1, V0=0をadaptive runge kutta法
を用いて,0.0 <= t <= 10.0 の範囲で定数 k を 0.1 単位で 0.1 から
10.0 まで変えて変えて x の挙動を見なさい。

以下のプログラムを参考にしなさい。
http://gcc.gnu.org/ml/gcc-bugs/2000-03/msg00912.html
お願いします。
0565マイク ◆yrBrqfF1Ew NGNG
>>500
あんだって?
0566デフォルトの名無しさんNGNG
1,タナカ,キムラ,スズキ
2,ササキ,タムラ,アオキ
3,シムラ,カトウ,タカギ
(↓つづく)
:
:

半角数字につづき名前が並んだ、
カンマで区切られたN行4列のname.txtがあるとして、
このファイルを読み込み文字配列char yasai[128][4]に入れなさい。
ファイルのテキストの行数は128未満であるとする。
C言語です。お願いします。
0567デフォルトの名無しさんNGNG
↑問題が変。
char* yasai[128][4]; に入れるなら可能だが...
0568566NGNG
すいません、それでお願いします。
0569デフォルトの名無しさんNGNG
↑1度に書けないので分割
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void) {
char*ya[128][4];
FILE*fp;
inti,j;
charbuf[1024];
char*ptr;

for( i = 0; i < 128; i++ )
for( j = 0; j < 4; j++ )
ya[i][j] = NULL;
fp = fopen( "name.txt","rt" );
i = 0;
while( i < 128 && fgets( buf, 1023, fp ) ) {
j = 0;
ptr = strtok( buf, ",\n" );
while( j < 4 && ptr ) {
ya[i][j] = (char*)malloc( strlen( ptr ) + 1 );
strcpy( ya[i][j], ptr );
j++;
ptr = strtok( NULL, ",\n" );
}
i++;
}
fclose( fp );

0570569NGNG
i = 0;
while( ya[i][0] && i < 128 ) {
j = 0;
while( ya[i][j] && j < 4 ) {
printf( "%s\t", ya[i][j] );
j++;
}
printf( "\n" );
i++;
}
return 0;
}
0571569NGNG
一部くっついた
inti -> int i,
charbuf ->char buf
0572デフォルトの名無しさんNGNG
Cです。お願いします。

直線P1(1,4),P2(3,0)の二点を入力し、この直線に直行する
直線を求めよ。
1点目のX座標= =>1
1点目のY座標= =>4
2点目のX座標= =>3
2点目のY座標= =>0
直線の式は Y=0.50X + 1.00です。
0573デフォルトの名無しさんNGNG
二点に直行する直線って何だ?
二点を結ぶ直線なら一意に決まるが、それに直交する直線なら無数にあるわけだが。
0574デフォルトの名無しさんNGNG
>>573
ハズイ奴
0575デフォルトの名無しさんNGNG
>>569
あんた、変数の定義のときにタブを入れる癖があるだろ。
だせぇからやめようぜ。
0576デフォルトの名無しさんNGNG
>>573
プッ
0577デフォルトの名無しさんNGNG
>>575
なんでだせぇの?
0578デフォルトの名無しさんNGNG
>>577
メリットがねぇだろ。
0579デフォルトの名無しさんNGNG
>>578
デメリットはあるのか?
0580デフォルトの名無しさんNGNG
>>578
位置をそろえるのに使ったら見やすいよ
0581デフォルトの名無しさんNGNG
>>575
おまえさんのソース提供だけは断るYO
>>578
メリット:
タブ幅のスペースを\t(タブ)に変更したらサイズが小さくなる
>>580
デメリット:
?
0582デフォルトの名無しさんNGNG
俺も変数宣言にタブ文字使うんだけど、
ナウでヤングな若者の感覚じゃダサイのか。
0583デフォルトの名無しさんNGNG
位置を揃えるなんて考えがださいっつーの。
int, doubleくらいならいいが、const char * も揃えるのか?
くだらねぇ。

あ、インデントにタブを使うなら賛成。つーか、スペースを4つも入れるな。
0584575ではないけどNGNG
タブ幅が違うと悲しい結果にはなる気もする。
それにタブって機種依存しなかったっけ?記憶が薄いが。

>>581
ファイルサイズなんて・・・
まあプロポーショナルフォントを常用する人にはメリットがでかい気もする。


そんな俺はインデントにタブ使う。orz
0585デフォルトの名無しさんNGNG
インデントは位置揃えに入らないのかと問い詰めたい。
0586デフォルトの名無しさんNGNG
FORTRAN70です。お願いします。

ある数xとyのそれぞれの約数とxとyの最大公約数、そして最小公倍数を計算しなさい。

ただし、関数副プログラムまたはサブルーチン副プログラムのどちらかを用いること。
0587デフォルトの名無しさんNGNG
>>586
ほほぅ。C/C++言語のスレでFORTRANか。狂ってるな。
0588デフォルトの名無しさんNGNG
インデントはスペース
プログラマなら常識
0589569NGNG
>>575
ここで晒すソースにタブ使わないほうが良いのは確かだな。
>>583
const char* どころか CLongLongNameClass とかが有っても揃えてるな。
見た目で変数名定義が揃ってると気持ち良いので...そろそろ止めようかとも思うけど。
0590569NGNG
スレ違いの話題だが、目立系でタブ使用禁止のサイトあったな。
vi のタブ幅を変更できる奴が居なかったてのが理由なんだが...
0591デフォルトの名無しさんNGNG
スペースにするとカーソルを移動させる際のキーを押す回数が増えるのがめんどくさい
0592デフォルトの名無しさんNGNG
そんなエディタを使う(orそんな使い方しかできない)香具師が蛸
0593デフォルトの名無しさんNGNG
>>587
細かいこと言うなよ。C/C++もFORTRAN70もたいして変わらないだろ。
0594デフォルトの名無しさんNGNG
>>593
ケチな事言うなよ。お前がスパっと答えればいいだろ。
0595デフォルトの名無しさんNGNG
FORTRANの問題を板間違えてカキコしてしまいました。すみませんでした
0596デフォルトの名無しさんNGNG
タブに文句つけてるのは、タブ←→スペースを手で書き換えてる初心者だろ。
整形したきゃ自分でやれ
そんなの人にやらせることか
0597デフォルトの名無しさんNGNG
>>596
自分が初心者のときそうだったからと言って、他人まで同じだと思わないほうがいいよ。
0598デフォルトの名無しさんNGNG
とりあえずHomeとEndキーをFnつきにするのは止めて
>>最近のキーボード
0599デフォルトの名無しさんNGNG
で、結局複数のスペースをカーソルキー(それに順ずるもの)一つで
一度にそのスペース群を飛ばせるエディタなんてあるの?

そもそもそんな挙動してたらタブと変わらんと思うが

>>598
ノートで十字キーのそばにあるならOK
0600デフォルトの名無しさんNGNG
C言語で、N次元連立一次方程式の解を求めるプログラムを教えてください。
例えばNが3だとしたら、
A1x+A2y+A3z=B1
A4x+A5y+A6z=B2
A7x+A8y+A9z=B3
このAとBの値を入力してx,y,zを出力させるようなプログラムです。
0601デフォルトの名無しさんNGNG
>>599
vi
emacs
及びその他諸々。
0602デフォルトの名無しさんNGNG
>>600
先ずはそのような解を求める方法を教えてください。
0603デフォルトの名無しさんNGNG
>>602
掃き出し法でもAの逆行列をBにかける方法でもなんでもいいです!
0604デフォルトの名無しさんNGNG
>>603
>602はリア厨以下だからそれを知らないのだよ。
0605デフォルトの名無しさんNGNG
>600
ここはC/C++の宿題を片付けるスレだ
学校の宿題は自分の机で片付ける方が将来の為だぞ
0606デフォルトの名無しさんNGNG
>>605
このスレが何故あるのか知らないのか?
0607デフォルトの名無しさんNGNG
>>605
600はC/C++の宿題じゃないの???
0608デフォルトの名無しさんNGNG
>605は、>600が算数の問題を解くためにプログラムを作らせようとしていると思ったんジャマイカ。
0609デフォルトの名無しさんNGNG
そんなばなな
0610デフォルトの名無しさんNGNG
暇人だった
書き込めればなんでもよかった
いまは反省しているΛ||Λ
0611デフォルトの名無しさんNGNG
Cです、お願いします。

キーボードから入力したの実数のビット列を表示するプログラムを作文しなさい
(32ビット表示し、4ビットごとにスペースで区切る)
0612デフォルトの名無しさんNGNG
作文かい。
0613デフォルトの名無しさんNGNG
(´-`).。oO(ここは質問の仕方を教えるスレじゃないんだけどな…)
0614デフォルトの名無しさんNGNG
ビットパターンの出力なんてわざわざCでやる必要はない
Javaならデフォルト関数で一発だ。ハイ解決
0615デフォルトの名無しさんNGNG
   「プログラム」
              ろく いちいち
 きょう、キーボードからにゅうりょくした
じっすうのビットれつをひょうじするプロ
グラムがしゅくだいにでた。じょうけんと
して32ビットひょうじし、4ビットごとにス
ペースでくぎるようにいわれた。
0616611NGNG
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
キーボードから入力した実数のビット列を表示するプログラムを作文しなさい
(32ビット表示し、4ビットごとにスペースで区切る)
[原文通りです]
[3] 環境
 [3.1] OS:Windows Me
 [3.2] コンパイラ(バージョン):Borland C++ 5.5.0
 [3.3] 言語:C
[4] 期限:2004年11月12日15:00まで
[5] その他の制限:ありません
0617デフォルトの名無しさんNGNG
ビットにして表示するなんて荒業以外方法あるのだろうか
ちょっと興味がある…
0618デフォルトの名無しさんNGNG
あまりにも簡単な宿題を丸投げしてて、先々自分が困ると思わねーの?
0619デフォルトの名無しさんNGNG
ここは宿題を片付けるスレであって
初心者に手取り足取り教えてやるすれではないんだけどな・・・・・・(´-`)y-┛~~
0620デフォルトの名無しさんNGNG
>>613,619
じゃ、お前がやってあげればいいじゃん♪
0621デフォルトの名無しさんNGNG
int xtob(unsigned int n)
{
int i, j;
for(i=31;i>=0;i++){
for(i=0;i<4;i++){
if(0x80000000 & n){
putchar('1');
}else{
putchar('0');
}
n <<= 1;
}
putchar(' ');
}
putchar('\n');
return 0;
}
0622621NGNG
どっか間違いがあるけどバグ取りくらいしてくれるよな
どこが悪いかくらい自分で考えてね
0623デフォルトの名無しさんNGNG
うわ、だっせぇ、問題もまともに読めないのに偉そうに「自分で考えてね」なんて書いちゃってるよこの人。
0624デフォルトの名無しさんNGNG
>>611=>>623
0625611NGNG
>>617-619
申し訳ありませんでした
やはりもう少し自分で考えてみます。
>>621
ありがとうございました。参考にさせていただきます
0626デフォルトの名無しさんNGNG
タブは(広義の)環境依存だから使わない方がいいよ。
空白なら、等幅フォントの場合絶対ずれないし。
0627デフォルトの名無しさんNGNG
>>625
おいおい、問題文が正しいなら実数だろ?
>621は整数だぞ。
0628デフォルトの名無しさんNGNG
; orz
(setq-default indent-tabs-mode nil)
0629デフォルトの名無しさんNGNG
だから、インデント以外でタブを使うからずれるんだって。
インデントで使うなら4カラムごとだろうが8カラムごとだろうが問題ないっしょ。
0630デフォルトの名無しさんNGNG
スペース使っても固定ピッチじゃなきゃずれるけどな
0631デフォルトの名無しさんNGNG
#include <stdio.h>
#include <string.h>
int main(){
int n,i,j;
float f;
unsigned char b[4],msk;
printf("数字をいれろ> ");fflush(stdin);
n = scanf("%g",&f);
if(n!=1){printf("嫁寝ーよ\n");exit(1);}
printf("\n 28 24 20 16 12 8 4 0\n");
memcpy((void *)b,(void *)&f,4);
for(i=3;i>=0;i--){
msk = (1 << 7);
for(j=7;j>=0;j--){
if(b[i] & msk)printf("1");
else printf("0");
if(!(j%4))printf(" ");
msk >>= 1;
}
}
printf("\n");
return 0;
}
0632デフォルトの名無しさんNGNG
このスレじゃバカでも解答者になれるのか
0633再挑戦NGNG
#include <stdio.h>
#include <string.h>
int main(){
  int n,i,j;
  float f;
  unsigned char b[4],msk;
  printf("数字をいれろ> ");fflush(stdin);
  n = scanf("%g",&f);
  if(n!=1){printf("嫁寝ーよ\n");exit(1);}
  printf("\n  28   24   20   16   12    8    4    0\n");
  memcpy((void *)b,(void *)&f,4);
  for(i=3;i>=0;i--){
    msk = (1 << 7);
    for(j=7;j>=0;j--){
      if(b[i] & msk)printf("1");
      else printf("0");
      if(!(j%4))printf(" ");
      msk >>= 1;
    }
  }
  printf("\n");
  return 0;
}
0634>>611NGNG
タブが潰れてるけど勘弁な

#include<stdio.h>
int main(){
unsigned char buf[4];
char *table[] = { "0000 ","0001 ","0010 ","0011 ",
"0100 ","0101 ","0110 ","0111 ",
"1000 ","1001 ","1010 ","1011 ",
"1100 ","1101 ","1110 ","1111 "};

scanf("%f", (float *)buf);
printf("%s%s%s%s%s%s%s%s\n",table[buf[3]/16], table[buf[3]%16],
table[buf[2]/16], table[buf[2]%16],
table[buf[1]/16], table[buf[1]%16],
table[buf[0]/16], table[buf[0]%16]);
return 0;
}
0635634NGNG
いちおうリトルエンディアン用、SUNとかには0123の順で表示さしてくれい。
0636デフォルトの名無しさんNGNG
>unsigned char buf[4];

unsigned char buf[sizeof(float)];
後はループで
0637デフォルトの名無しさんNGNG
関係ないけど、判定関数。

int is_little_endian(){
char ch[2];
*(int*)ch = 1;
return ch[0] == 1;
}
0638デフォルトの名無しさんNGNG
あ、int のバイト数無視してた。
0639デフォルトの名無しさんNGNG
>>611
これで良いと思うのだが...
『入力した実数のビット列を表示する』って書いてるからバイトオーダーなんか意識
する必要ないのでは?

#include <stdio.h>
#include <string.h>
int main( void )
{
int a, i;
float b;

scanf( "%f", &b );
memcpy( &a, &b, sizeof( int ) );
for( i = 0; i < 32; i++ ) {
printf( "%d", ( a & 0x80000000 ) / 0x80000000 );
a <<= 1;
if( i % 4 == 3 )
printf( " " );
}
return 0;
}
0640デフォルトの名無しさんNGNG
>>410
亀レスだが一つだけ逝っておきたいことがある

のっとふぁうんど

でした。すいませんごめんなさいもうしません。゚(゚´Д`゚)゚。

0641600NGNG
どなたか>>600の課題を・・・orz
0642デフォルトの名無しさんNGNG
>>641
掃き出し法
0643デフォルトの名無しさんNGNG
>>641
ここから自分で探せ。
ttp://www.mscom.or.jp/~tog/anna/
ヒント
ttp://www.mscom.or.jp/~tog/anna/LEQ2.C

但し、ガウスの消去法の途中でピボットが0になったら当然エラーになるから
ttp://www.mscom.or.jp/~tog/anna/LEQPTR6.C

のような完全ピボット選択法がよく使われる。しかし実際には部分ピボット選択
で十分な事が多いので、ぐぐれ。
0644デフォルトの名無しさんNGNG
>>641
アルゴリズムはそこらじゅうに落ちてたから、後でトリッキーなコード
考えてみる。一日ほどまたれい。
0645デフォルトの名無しさんNGNG
もうこれでいいじゃん。
http://www.fuka.info.waseda.ac.jp/~kozo/suuchi/simple_equation/simple_equation_2.html
0646デフォルトの名無しさんNGNG
for(t=0;t<10;t++)
num[t]=0; /* 配列fをクリヤー*/
while((ch=fgetc(fin))!=EOF) /* 1行読む*/
{
if(isdigit(ch))
num[ch-48]+=1; /*listの48番目に1を足す*/
}

for(t=0;t<10;t++)
fprintf(fout,"%c :%4d\n",t+48,num[t]);

数字を抽出して出力するプログラムですが、
これの後に、a-zA-zそれぞれをislower isupper を使って、上と同じようにfor whileでプログラムを作ったら、出力されるのは数字部分だけですよね。
数字、英小文字、英大文字を抽出して出力するにはどうすればいいでしょうか?

for(t=0;t<10;t++)のあとの出力で終わらないようにしたいのですが。
0647デフォルトの名無しさんNGNG
ageます
0648デフォルトの名無しさんNGNG
↑特定文字の出現回数を抽出するんだろ。
num[256] にして全文字の出現回数を取得→見たい文字だけ出力
が一番普通で早いと思うぞ。
お前さんのはトリッキー。
0649デフォルトの名無しさんNGNG
>>648
どうもです。やってみます。
0650デフォルトの名無しさんNGNG
あれだ。「コメントが無いほうがマシ」ってのの例だな。
問題の内容さえ理解していないのがワラッタ。

int num[256];
for(t=0;t<256;t++)num[t]=0;
while((ch=fgetc(fin))!=EOF){/*1文字読む*/
&bpsp;&bpsp;num[ch] += 1; /* 文字に対応したカウンタを1増やす*/
}

/* 大文字小文字といわず、記号も含めて吐きだす */
for(t=33;t<=126;t++) fprintf(fout,"%c :%4d\n",t,num[t]);
0651デフォルトの名無しさんNGNG
>>650
そういえばコメント消すの忘れてたw
ハズカシ
0652デフォルトの名無しさんNGNG
このプログラムではコンパイルが通りません
バグを教えて下さいお願いします。



http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html#1
0653デフォルトの名無しさんNGNG
>>652
タイミング的にこれかな?
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=328

他人に余計な手間掛けさせるなや。
0654余りにも単純なTypoだNGNG
>>652
>・エラーは、その行とエラーの詳細を書きましょう。
>エラーメッセージが出た場合はそのままコピーしてください。
つーか、>1を100辺くらい読め。

そして己の書いたソースを穴が開くほど読め。
0655ネムーNGNG
質問です。
フーリエガラーキン法を用いて、ガウシアンパルスf(x)=exp(-100*x^2)を
微分するプログラムを教えて下さい。
xの範囲は-1〜1で、f(x)の値としてはガウシアンパルスを
128等分した離散値を使うものとしてください。

言語はC++でコンパイラはボーランドC++コンパイラーです。
GNU Scientific Libraryが移植済みです。
0656デフォルトの名無しさんNGNG
C言語の宿題です。
2桁以上の任意の整数を入力して、数字の桁を入れ替えるプログラムを作る問題です

例…1234→4321

誰かお願いします
0657デフォルトの名無しさんNGNG
>>656
#include <stdio.h>
int main() {
int in,out,wk;
scanf("%d",&in);
wk = in;
out = 0;
while(wk)
{out = (out * 10) + wk % 10;
wk /= 10;
}
printf("%d %d",in,out);
return 0;
}
手抜きして作ったので自分で修正してくれ
0658デフォルトの名無しさんNGNG
>>656
#include <stdio.h>
#include <string.h>

int main()
{
char buf[64];
size_t i;

printf("2桁以上の整数を入力: ");
scanf("%s", buf);

i = strlen(buf);
while( i > 0 )
printf("%c", buf[--i]);
printf("\n");

return 0;
}
0659デフォルトの名無しさんNGNG
[1] 授業単元:C言語実習1
[2] 問題文(含コード&リンク):http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=329
[3] 環境
 [3.1] OS:WinXP SP2
 [3.2] コンパイラ(バージョン):Microsoft Visual Studio .NET 2003
 [3.3] 言語:C
[4] 期限:2004年11月17日23:59まで
[5] その他の制限:なし

よろしくお願いします。
0660デフォルトの名無しさんNGNG
>>659
過去ログ嫁( ゚Д゚)ゴルァ!!
0661デフォルトの名無しさんNGNG
>>660
何怒ってるでちゅか(プ
0662526NGNG
漏れ >>660 じゃないけど気持ちは解る。
ほとんど同じ様な問題に解答したので...

もっとも >>659 にはそれを直すだけの力も無さそうだけどな。
今回は別な人が答えてやんなよ。
0663デフォルトの名無しさんNGNG
この問題1から順にやればできるようになってる
よって順番にやって詰まってからもう一回鯉
0664デフォルトの名無しさんNGNG
↑しかし、この問題を1から順番にやるとなると最初は main() に全処理書くことに
なりそうだな。

こうゆう学校を出た奴がKStep関数を書くのか?
0665デフォルトの名無しさんNGNG
Cの課題です。
1.N×N行列の行列式を求めるプログラムを作成。
  Nはプリプロセッサで指定する。数値は初期値で設定する。
  不要な演算をしないようにする。たとえば0となっている要素に掛けたりすること
  エラー(計算結果にNaNとう値)が出ないようにする。
2.1のプログラムを参考して、逆行列を求めるプログラムを作成。
  行列式の値が0なら適切なメッセージを表示して、計算を中止する。
  それ以外は逆行列を表示する。

お願いします。
0666デフォルトの名無しさんNGNG
行列式の求め方かいて
逆行列の求め方かいて
0667デフォルトの名無しさんNGNG
>>665
>>643を探せ。
0668デフォルトの名無しさんNGNG
失礼。行列式の求め方はガウスの消去法の前進消去のみで求まる。
ttp://www.mit.msn.to/matrix/determinant.html
0669デフォルトの名無しさんNGNG
C言語でn×n行列のAとBの二乗平均誤差を計算をしたいのですが
どなたかわかりませんか?

式は
1/(n^2)×{Σ(A−B)^2}の平方根
で、Σの範囲は1≦i≦nです。
A及びBはA[1][1]、A[1][2]、・・・A[1][n]、A[2][1]、A[2][2]、・・・・A[n][n]
というように変化して計算いくものとします。
0670665NGNG
ありがとうございます。参考になりました
0671デフォルトの名無しさんNGNG
【宿題】
Σ(a_i - b_i)^2 を計算する場合と、
Σ(a_i^2 + b_i^2) - 2Σ(a_i * b_i) を計算する場合とでは、
どちらが誤差が大きくなりますか?
0672デフォルトの名無しさんNGNG
>>671
符号による
0673671NGNG
>>672
a_i と b_i は正の数で、近い値の場合はどうなりますか?
0674デフォルトの名無しさんNGNG
>>659
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&rm=50
253から260まで
0675デフォルトの名無しさんNGNG
>>673
差を取ると桁落ちする
0.1234 - 0.1232 = 0.0002
有効数字 4桁 ⇒ 1桁
0676611NGNG
課題が完了しました
ご指導くださった方々ありがとうございました
0677デフォルトの名無しさんNGNG
なんか別のスレにも質問あがっているみたいですが、
どうやら同じ課題を与えられている人らしいです…

[1] 授業単元:データ構造とアルゴリズム
[2]問題:

標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。また、同じ長さの行は入力した順番に出しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに依存しなければなりません。勝手な上限を設けてはいけません。

実行例

入力
Windows XP
Power Mac G5
Unix SVR4

出力
Unix SVR4
Windows XP
Power Mac G5

[3] 環境:
 [3.1] OS:WinXP
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C/C++/どちらでも可
[4] 期限:2004年11月24日
[5] その他の制限:

どなたかわかる方はご教授くださいm(__)m
0678ネムーNGNG
質問です。
・1次元配列で与えられた離散データをFFT(高速フーリエ変換)する
プログラムを教えて下さい。
・配列で与えられた離散データをFFTして、ikかけて
逆FFTすると微分値が求まるらしいので、その方法を教えて下さい。
OS;Windows XP
言語;CかC++
コンパイラ;ボーランドC++コンパイラ
です。
よろしくお願いします。
0679デフォルトの名無しさんNGNG
>>678
俺も眠いから無理。
それに高速ふーりえ変換の方法も知らないし。
と、ゆうことで自分で調べるかネ申でもまってて。
0680デフォルトの名無しさんNGNG
>>678

> 1次元配列で与えられた離散データをFFTするプログラム

www.fftw.org か
http://momonga.t.u-tokyo.ac.jp/~ooura/index-j.html から
ダウンロード汁!

> 配列で与えられた離散データをFFTして、ikかけて逆FFT
> すると微分値が求まる

...って、もう方法が完全にわかっているじゃないか。
0681ネムーNGNG
すいません。
方法わかっててもなかなかうまいことかけなくて・・・。
とりあえずダウンロードしてやってみます。
ありがとうございました。
0682デフォルトの名無しさんNGNG
キボードから入力された英小文字を英大文字にして表示するプログラム
文字列の最大の長さは20まで
それ以外はそのまま表示する
小文字 adc12
大文字 ADC12
0683デフォルトの名無しさんNGNG
>>682
#include <stdio.h>
int main()
{
 int i;
 char str[21];
 printf("input> ");
 scanf("%20s",str);
 for(i=0;i<20;i++)
 {
  if(str[i]=='\0')break;
  else if(0x60<str[i]&&str[i]<0x7b) str[i]-=0x20;
 }
 printf("%s",str);
 return 0;
}
0684デフォルトの名無しさんNGNG
>>683
どうもありがとうございました
0685デフォルトの名無しさんNGNG
同じネタの繰り返しかorz
0686デフォルトの名無しさんNGNG
任意サイズのリングバッファのアドレス計算
をするプログラムを作れ。

0687デフォルトの名無しさんNGNG
>>683
tolower使うべき
0688デフォルトの名無しさんNGNG
>>686
命令寸奈
0689686NGNG
>>688
ごめんなさい。問題文がそうだったので・・・
改めまして
問題:任意サイズのリングバッファのアドレス計算
   をするプログラムを作りましょう。
以上、宜しくお願いします。
0690デフォルトの名無しさんNGNG
>>689
アドレス計算
の意味がわからんのは俺だけか?
0691デフォルトの名無しさんNGNG
俺もわかんね
0692デフォルトの名無しさんNGNG
おらもわかんね
0693デフォルトの名無しさんNGNG
授業に出席していない>>689もわからないにイピョーウ
0694デフォルトの名無しさんNGNG
リングバッファの末尾のポインタを求めればいいんじゃないの?
0695デフォルトの名無しさんNGNG
リングバッファは通信系でよく使うな。
なに。そんなに難しいものではない。
0696デフォルトの名無しさんNGNG
では“アドレス計算”どぞー
0697デフォルトの名無しさんNGNG
2問お願いします
「キーボードから入力された10進数を、2進数として出力するプログラムを作りなさい。
2進数への変換は、キーボードから入力された10進数を2で0になるまで割り、余りを逆の順番で並べる方法を用いる。
ただし、入力は正の整数で最大値は16383(すべてが1である14桁の2進数)とする。

「キーボードから和暦(英文字に続く文字)を入力したとき、西暦年を出力するプログラムをつくりなさい。
ただし、明治はmまたはM,大正はtまたはT,昭和はsまたはS、平成はhまたはHとし、数字は必ず2桁で入力するものとする。
たとえあ平成7年の場合はh07またはH07to入力すること。
0698デフォルトの名無しさんNGNG
修正)最後の行の「またはH07to入力すること。」は「またはH07と入力すること。
」です。
お願いします。
0699デフォルトの名無しさんNGNG
mtshMTSHは全角?
0700デフォルトの名無しさんNGNG
>>697
本人がもういないようなのでこの質問はキャンセルされました。
0701デフォルトの名無しさんNGNG
>>699
スミマセン。mtshMTSHは半角でお願いします
0702デフォルトの名無しさんNGNG
  . ∩_∩ ;
  ; | ノ|||||||ヽ `
 , / ● ●|  
 ;, |\( _●)/ ミ
; 彡、| |∪| |、\ ,
 ./  ヽ/> ) :
(_ニニ>/ (/ ;
;  |   | ;
'  \ヽ/ / :
,  //\\ .  
;  し’ '`| | 
0703デフォルトの名無しさんNGNG
というかそんな簡単なのもできないで大丈夫か?
0704デフォルトの名無しさんNGNG
簡単言うならちゃちゃっとやってやれ
0705デフォルトの名無しさんNGNG
>>730様
当方、初心者なので。。申し訳ありません。
0706デフォルトの名無しさんNGNG
>>705
答える気が失せた。ここ言って修行してこい
http://pc5.2ch.net/test/read.cgi/prog/1096909647/
0707デフォルトの名無しさんNGNG
嫌です。
>>706様に教えて欲しい
0708デフォルトの名無しさんNGNG
>>707
以前に出たような質問をするなよ。
過去ログでも参照しとけ。
0709デフォルトの名無しさんNGNG
707は当方ではないので、お願いします。
当方、この場での質問は初めてなので>>708様がおっしゃっているのは別の方だと思います。
回答のほうお願いします
0710デフォルトの名無しさんNGNG
自分でやりな
できないならできないで、できるとこまでやれ
それから来い
てか、過去ログにあるらしいから探しに行け
0711デフォルトの名無しさんNGNG
>>697
#include <stdio.h>
#include <limits.h>
int main()
{
char buf[256];
unsigned int d, mask;
while (fgets(buf, sizeof(buf), stdin) != NULL) {
int status = sscanf(buf, "%ud", &d);
if (status == 0 || status == EOF) {
continue;
}
for (mask = ~(UINT_MAX >> 1); mask != 0; mask >>= 1) {
if ((d & mask) != 0) {
break;
}
}
if (mask == 0) {
puts("0");
continue;
}
for ( ; mask != 0; mask >>= 1) {
if ((d & mask) != 0) {
putchar('1');
} else {
putchar('0');
}
}
putchar('\n');
}
return 0;
}
0712デフォルトの名無しさんNGNG
>>706さん、私はどうしてもあなたに教えてほしいのです。
あなたが、このスレ随一のプログラマだということを確信しておりますので。
もちろん、だからといって、あなたが私の”宿題”を引き受けてくれる道理
などはないことも、重々承知しているつもりです。
ですが、私は、自分の宿題を済ませるということだけが、目的というわけではないのです。
私は、あなたのプログラミング能力を、世間に知らしめたいのです。
”こんなにも才能あふれるプログラマが、このスレにはいるんだぞ”ということを
自慢してまわりたいのです。
どうかお願いします。私のささやかな願いをかなえてもらえないでしょうか。
あなたの、プログラムが、いつか世界を救う。
今ではそんな気さえしています。

0713デフォルトの名無しさんNGNG
・長ったらしい文章
・文中からほとばしる電波
・くどい敬語








ま た 常 識 人 か ! !
0714大原ゆきNGNG
>>713
違います。
0715デフォルトの名無しさんNGNG
>>714
誰ですかあなたは?
0716デフォルトの名無しさんNGNG
時々えらい粘着質な香具師がわくな
宿題をやってもらえず、単位でも落したか?
0717デフォルトの名無しさんNGNG
>>716
いいから早く宿題やれよ。
0718デフォルトの名無しさんNGNG
>>716
そんな奴は単位を落として当然だろ。
どうせ学科のゴミの癖にまだ大学にへばり付いて、
なに?粘着した垢?石鹸カス?チンカス?
大学にいても意味ないだろ。
大学の名前に傷がつくどころか、同級生にも迷惑なんだよ。
0719デフォルトの名無しさんNGNG
>>697
#include <stdio.h>
int main()
{
char buf[256], era;
int year;
while (fgets(buf, sizeof(buf), stdin) != NULL) {
int status = sscanf(buf, "%c%d", &era, &year);
if (status == 0 || status == EOF) {
continue;
}
switch (era) {
case 'm': case 'M':
printf("%d\n", year + 1867);
break;
case 't': case 'T':
printf("%d\n", year + 1911);
break;
case 's': case 'S':
printf("%d\n", year + 1925);
break;
case 'h': case 'H':
printf("%d\n", year + 1988);
break;
default:
break;
}
}
return 0;
}
0720デフォルトの名無しさんNGNG
宿題の内容から言って、工業高校か専門学校だろ
これが大学生の宿題だとしたら終わっとるよ
0721デフォルトの名無しさんNGNG
#include <stdio.h>
int main()
{
char *a;
int i,k,n10,n1,g,a1,a2,a3;
scanf("%s",a);
for(i=0;i<=3;i++){
if(*(a+i)=='M'||*(a+i)=='m'){
k=1867;
}
else if(*(a+i)=='T'||*(a+i)=='t'){
k=1911;
}
else if(*(a+i)=='S'||*(a+i)=='s'){
k=1925;
}
else if(*(a+i)=='H'||*(a+i)=='h'){
k=1988;
}
a++;
}
for(i=0;i<=3;i++){a--;}
a1=*(a+1);
a2=*(a+2);
printf("西暦%d年",(k+(a1*10)+a2));
return 0;
}
久しぶりのCだができた。と思ったらどこかおかしいので>>697は>>727以降を参照しな
早くこの流れを終わらせようぜ
0722デフォルトの名無しさんNGNG
>>719
自分のやけど、ちょっとよろしゅうないところがあるわ。

> if (status == 0 || status == EOF) {

ここは、『if (status != 2 || status == EOF) {』 やね。
あとswitchのところは、『switch(toupper(era)) {』 でcaseを減らすのもええかも。
is〜()やto〜()の未定義動作が怖いから、あまり使いとうないねんけどな。
0723デフォルトの名無しさんNGNG
宿題が出る。
煽るやつととくやつが出る。
だらだらする。
また宿題が出る。
マルチということが判明する。
叩く。
また宿題が出る。

ずっと前からこの流れだよ。
0724デフォルトの名無しさんNGNG
>>721
『a1=*(a+1);
a2=*(a+2);』
のトコ見てみろ
0725デフォルトの名無しさんNGNG
>>723
まとめページが必要かなぁー にゃんにゃん
0726デフォルトの名無しさんNGNG
>>char *a;
>>scanf("%s",a);
0727デフォルトの名無しさんNGNG
>>721
そのプログラムはまずいで。
aにメモリが割り当てられてへんから、スタック破壊される。
あと入力に年号の一文字が無かったときに、動作が不定やわ。
それとこれが一番問題やねんけど、それほんまにまともに動くん?
文字(a1, a2)に対して演算してはるで。
言わせてもらうと、かなりあかんプログラムやわ。作りがひどすぎます。
0728デフォルトの名無しさんNGNG
てかレス激しいなw
0729デフォルトの名無しさんNGNG
解答が出たことだし、これにて一件落着!
次の宿題の方、どうぞー
0730デフォルトの名無しさんNGNG
>>723によれば
次の質問者はマルチだよ。
0731デフォルトの名無しさんNGNG
氏ねマルチ
↓
0732デフォルトの名無しさんNGNG
ご主人様ぁ〜
0733デフォルトの名無しさんNGNG
1問目がまだやんけ
0734デフォルトの名無しさんNGNG
ほんたま辺りが…
0735デフォルトの名無しさんNGNG
>>733
719
0736デフォルトの名無しさんNGNG
>>735
2問お願いします
「キーボードから入力された10進数を、2進数として出力するプログラムを作りなさい。
2進数への変換は、キーボードから入力された10進数を2で0になるまで割り、余りを逆の順番で並べる方法を用いる。
ただし、入力は正の整数で最大値は16383(すべてが1である14桁の2進数)とする。

                   やて
0737デフォルトの名無しさんNGNG
>>736
自分でやれ。
0738デフォルトの名無しさんNGNG
>>736
どっかで見た問題
0739デフォルトの名無しさんNGNG
>>736
「剰余算の結果を逆順で出力」って、全然面白くも何ともないやん。
719で出しとき。あれなら(逆順にするための)バッファもいらんし、なにより美しいわ。
0740デフォルトの名無しさんNGNG
>>736
すでに誰か回答してたような気が…
0741739NGNG
>>736
ごめん、間違えてもた。719 ちゃうわ。 711 が答えや。
0742デフォルトの名無しさんNGNG
題意通りにやらないと失格だよ
0743デフォルトの名無しさんNGNG
>>739
やっぱ学校は美しさにはこだわってないねん
ま、ほんま汚いプログラになんねやなw
0744デフォルトの名無しさんNGNG
宿題やっててエラーの原因がわからないってのも貼ってよろしいのでしょうか
0745デフォルトの名無しさんNGNG
いいんでない
0746デフォルトの名無しさんNGNG
>>743
↑
課題の意図が理解できない下級高卒プログラマ
0747697NGNG
697です。
遅レスすみません。なにか私の偽者(?)が多く出没しておりますが。。。
2問目の回答ありがとうございました。
1問目のほうもよろしくおねがいします。>>697参照
0748デフォルトの名無しさんNGNG
/* やおやさん */

#include <stdio.h>

#define MONEY 1000;

typedef struct
{
char name[20];
int price;
int rest;
int bought;
} yasai;

int main(void)
{
int roop = 1;
int i;
int money = MONEY;
int num;

yasai ve[] ={
{"ninjin", 100, 5, 0},
{"daikon", 150, 5, 0},
{"retasu", 400, 2, 0},
};

printf("(´・д・`)<へいらっしゃい\n");
0749744,748NGNG
while(roop)
{
printf("残り残金:%d円\n\n", money);
for(i = 0; i < 3; i++)
printf("%d---%s-%d円-%d個持っている-残り%d個/n", i, ve[i].name, ve[i].price, ve[i].bought, ve[i].rest);

printf("何を買いますか? 0:%s 1:%s 2:%s 3:帰る", ve[0].name, ve[1].name, ve[2].name);
scanf("%d", &num);

if(num == 3)
{
printf("(´・д・`)<今後ともごひいきに\n");
break;
}

if(money < ve[num].price)
printf("(´・д・`)<お金が足りないよ\n");
else
{
money -= ve[num].price;
ve[num].rest--;
ve[num].bought++;
}
}

return(0);
}

20,22行目で「ここでは宣言はできない(関数 main )」といわれます
0750デフォルトの名無しさんNGNG
>>749
20,22って何処だよ
0751744,748NGNG
上から20行目と22行目です
0752デフォルトの名無しさんNGNG
#define MONEY 1000;
            ↑
0753744,748NGNG
>>752
(´・д・`)<愛してます
      今後とも ごひいきに
0754デフォルトの名無しさんNGNG
>>752
プリプロセッサの悪いところそのままだね。
0755デフォルトの名無しさんNGNG
以下の練習プログラムを変更して、node1、node2、node3の順にリストを構成して、
その内容を表示するコードを記述してください。 //よろしくおねがいします
#include<stdio.h>

typedef struct NODE{
int num;
struct NODE *pnext;
}NODE;

int main(void){

NODE node1,node2,node3;
NODE *phead,*ptmp;

scanf("%d",&node1.num);
scanf("%d",&node2.num);
scanf("%d",&node3.num);

phead = &node1;
node1.pnext = &node2;
node2.pnext = &node3;
node3.pnext = NULL;

printf("%d\n",phead->num);
printf("%d\n",phead->pnext->num);
printf("%d\n",phead->pnext->pnext->num);

for( ptmp=phead ; ptmp!=NULL ; ptmp=ptmp->pnext)
printf("%d\n",ptmp->num);

return 0;
} //見直しましたがPPTを見て手打ちしたのでスペルミスがあったらすいません
0756デフォルトの名無しさんNGNG
#include <stdio.h>
char output_buf[14];

void flush(void)
{
for (int i = 13; i >= 0; i--){
if (output_buf[i] != 0x00){
putchar(output_buf[i]);
}
}
putchar('\n');
}

void reg(int num, int i)
{
if (i >= 14 && i < 0){
return;
}
if (num != 0 && num != 1){
return;
}
output_buf[i] = num + 0x30;
}

void init(void)
{
for (int i = 0; i < 14; i++){
output_buf[i] = 0x00;
}
}
0757デフォルトの名無しさんNGNG
int main()
{
char buf[256];
int cnt;
unsigned int d;
while (fgets(buf, sizeof(buf), stdin) != NULL) {
int status = sscanf(buf, "%ud", &d);
if (status == 0 || status == EOF) {
continue;
}
if (d > 16383 || d < 0){
continue;
}
cnt = 0;
init();
while (true){
reg(d % 2, cnt++);
d /= 2;
if (d == 1){
reg(d, cnt++);
break;
}
else if(d == 0)
break;
if (cnt >= 14)
break;
}
flush();
}
return 0;
}
0758デフォルトの名無しさんNGNG
>>697
↑とりあえずうごく
0759デフォルトの名無しさんNGNG
>>755
すでにリストになってるし、内容を順に表示してる気がする…
0760デフォルトの名無しさんNGNG
C言語の課題が分からない・・・。どなたかお願いします。

非負の整数を入力する。・・・・�@
1桁の整数を入力する。・・・・・�A
�@で入力した整数の�A桁目を表示する。(�@に5678,�Aに3と入力したら出力結果は6となる)
上記をdo,while使って作成し、終了時に繰返し行なうかを尋ねるプログラミングです。
0761755NGNG
あすいません
問題文が3,2,1の順にリスト構成しろでした
0762デフォルトの名無しさんNGNG
#include<stdio.h>
#include<string.h>

int main(void)
{
 char buf[256];
 int a = 5678;
 int b = 3;
 int len;

 printf("適当な数値を入れてください\n");
 scanf("%d",&a);
 printf("一桁の数値を入れてください\n");
 scanf("%d",&b);

 sprintf(buf, "%d", a);
 len = strlen(buf);

 if ((b > 9 && b < 0) || (len < b)){
  printf("値が不適当");
  return 0;
 }

 printf("%c\n", buf[strlen(buf) - b]);
 return 1;
}

適当に直してくれ
0763デフォルトの名無しさんNGNG
>>760
まず、丸付き数字使うたらあかんよ。そこのコードには本来、文字がないからね。
0764デフォルトの名無しさんNGNG
数値のまま処理。(errorチェックなし)
#include <stdio.h>
int main(void)
{
int x, y, i;
char buf[16];
do{
printf("x >>"); scanf("%d", &x);
printf("y >>"); scanf("%d", &y);
(void)getchar();
for (i = 0; i < y - 1;i++)
x /= 10;
printf("%d\n", x % 10);
printf("continue? ");
fgets(buf, sizeof buf, stdin);
}while(buf[0] == 'Y' || buf[0] == 'y');
return 0;
}
0765デフォルトの名無しさんNGNG
#include<stdio.h>

typedef struct NODE{
 int num;
 struct NODE *pnext;
}NODE;

int main(void){

 NODE node1,node2,node3;
 NODE *phead,*ptmp;

 scanf("%d",&node1.num);
 scanf("%d",&node2.num);
 scanf("%d",&node3.num);

 phead = &node3;  
 node3.pnext = &node2;
 node2.pnext = &node1;
 node1.pnext = NULL;

 printf("%d\n",phead->num);
 printf("%d\n",phead->pnext->num);
 printf("%d\n",phead->pnext->pnext->num);

 for( ptmp=phead ; ptmp!=NULL ; ptmp=ptmp->pnext)
 printf("%d\n",ptmp->num);

 return 0;
}
よく分からんけど、こんなんでいいの?
とりあえず要件は満たしてると思うんだけど
0766760NGNG
>>764
かたじけない・・・。精進します。
0767デフォルトの名無しさんNGNG
>>764 + errorチェック
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <limits.h>
#define BUF_MAX 256

int main( void )
{
char *str_end, buf1[BUF_MAX], buf2[BUF_MAX];
int ndigits;
long l, ith_digit;
do {
parameter1_input:
printf( "non-negative integer? " );
if ( fgets( buf1, BUF_MAX, stdin ) == NULL ) {
fprintf( stderr, "ERROR: UNEXPECTED EOF. ABORT.\n" );
return EXIT_FAILURE;
}
l = strtol( buf1, &str_end, 10 );
if ( buf1[0] == '\n' || *str_end != '\n' || l < 0 ) {
printf( " invalid parameter: %s", buf1 );
goto parameter1_input;
} else if ( l == LONG_MAX ) {
printf( " sorry, it is an overflow situation...: %s",
buf1 );
goto parameter1_input;
}
ndigits = str_end - buf1;
0768デフォルトの名無しさんNGNG
parameter2_input:
printf( "a digit? " );
if ( fgets( buf2, BUF_MAX, stdin ) == NULL ) {
fprintf( stderr, " ERROR: UNEXPECTED EOF. ABORT.\n" );
return EXIT_FAILURE;
}
if ( buf2[0] == '0' || buf2[1] != '\n' || ! isdigit( buf2[0] ) ) {
printf( " invalid parameter: %s", buf2 );
goto parameter2_input;
}
ith_digit = (int)strtol( buf2, NULL, 10 );
if ( ith_digit > ndigits ) { printf( " 0\n" ); }
else { printf( " %c\n", *(str_end-ith_digit) ); }
printf( "Wanna play more? (Y/N) " );
if ( fgets( buf1, BUF_MAX, stdin ) == NULL ) {
fprintf( stderr, "ERROR: UNEXPECTED EOF. ABORT.\n" );
return EXIT_FAILURE;
}

} while ( strcmp( buf1, "Y\n" ) == 0 || strcmp( buf1, "y\n" ) == 0 );

return EXIT_SUCCESS;
}
0769767NGNG
あ、インプットが 256 文字以上の時のエラーチェックし忘れた。
0770デフォルトの名無しさんNGNG
ここはエレガントに宿題を片付けるスレなんだが
0771デフォルトの名無しさんNGNG
誰かいますか?
0772デフォルトの名無しさんNGNG
いません
0773デフォルトの名無しさんNGNG
誰か助けてください。
次の関数で0≦x≦2の範囲で、xの値の0,1ごとに
yの値を計算するプログラムを作成せよ。画面にはx、y両方の値を表示す
るようにすること。while文を使うこと。y=x*x−3x+5/4
0774デフォルトの名無しさんNGNG
>>773

double x = 0.0;
while( x <= 2.0 )
std::cout << "x=" << x << " y=" << (x*x-3*x+5.0/4) << std::endl;
0775774NGNG
途中で送信しちゃった
double x = 0.0;
while( x <= 2.0 )
{
std::cout << "x=" << x << " y=" << (x*x-3*x+5.0/4) << std::endl;
x += 0.1;
}
0776773NGNG
ありがとうございます
0777AA略NGNG
>>776
あやまれ!
マルチしたことをこのスレでもあやまれ!
0778デフォルトの名無しさんNGNG
課題が出たのでお願いします。

【質問テンプレ】
[1] 授業単元:プログラミング応用
  使用教科書→問題解決のための Cプログラミング
        佐藤次男、中村理一郎 共著
        コロナ社  \2,600 + Tax
[2] 問題文(含コード&リンク):Nを入力し、Nの階乗を求めるプログラムを再帰的な処理を用いて作成せよ。教科書 p.131 例題5.8 参照
[3] 環境
 [3.1] OS:XPだと思います。
 [3.2] コンパイラ(バージョン):32
 [3.3] 言語:C
[4] 期限:2004年11月13日16:00まで
[5] その他の制限:ヒントとしてこのようなものが与えられました↓教科書 p.131 例題5.8 参照
階乗を求める関数をfact とする
1 の階乗  1
2 の階乗  2 × fact( 1 )
3 の階乗  3 × fact( 2 )
4 の階乗  4 × fact( 3 )
5 の階乗  5 × fact( 4 )
6 の階乗  6 × fact( 5 )
7 の階乗  7 × fact( 6 )
0779デフォルトの名無しさんNGNG
>>778

int fact(int n)
{
if( n<1 )return 0;
if( n==1 )return 1;

return n*fact(n-1);
}

if( n<1 )return 0;
これはちょっと自信ない
0780デフォルトの名無しさんNGNG
入力した文字列データを2次元配列に格納したあと、
逆順に表示するプログラムの表示。
ただし、一文字目に'@'が入力されるとデータ入力を終わる。
データ数は最大20個、また一つの文字列データの
最大長は半角10文字。
おねがいします

実行例
word=sekiyu
word=yasai
word=denwa
word=@
denwa
yasai
sekiyu
0781デフォルトの名無しさんNGNG
int i = 0;
char buf[20][11];

while( i < 20 ) {
printf("word=");
scanf("%s", buf[i]);
if( strcmp(buf[i], "@") == 0 )
break;
++i;
}

while( i > 0 )
printf("%s\n", buf[--i]);
0782780NGNG
strcmpが定義されていませんって出たんですが。
0783デフォルトの名無しさんNGNG
>>782
それくらい自分で調べろよ
0784773NGNG
ほんとにごめんなさい。いままで書き込んだことなくて
ルールよくわかってませんでした。
0785デフォルトの名無しさんNGNG
こんな問題がでました
「HTTPの通信プログラムをC言語で作成する際,改行コードをどのように取り扱えばよいか調査せよ」
教えてエロイ人
0786デフォルトの名無しさんNGNG
ネット環境あるなら・・・とか言ってみるが

しかしどのように取り扱うかというのはまた抽象的でよくわからんな。
0787デフォルトの名無しさんNGNG
>>785
なかなか面白い問題やね。良い先生(もしくは良い大学)かも。
いろいろ試行錯誤するのがええねんけど、そういうスレッドちゃうからいきなり核心に行こか。
HTTPのRFC(RFC 2616)の「2.2 基本ルール」を読んでみ。改行コードの規定のあたり。
あとはそれをCに関連づけて説明すればええ。これで9割5分はもらえるやろ。
http://www.studyinghttp.net/translations#RFC2616

完璧を期すなら、socketをfdopen()したときのテキストモード/バイナリモードについても
触れておくとええんちゃうかな。「Cで作成する際」っていうのが気になるからね。
でもこれは冗長やろな。
0788デフォルトの名無しさんNGNG
>>785
Windowsの改行コードに統一するだけでいい。
ペイロードに乗っている部分の改行はHTTPと無関係。
0789デフォルトの名無しさんNGNG
>>785
なんとなく、和歌山大学け?
0790デフォルトの名無しさんNGNG
ありがトン>>787
0791デフォルトの名無しさんNGNG
数字を対応する序数(英語)に変換する関数
例えば
1 なら first, 2 なら second, 3 なら third
0792デフォルトの名無しさんNGNG
>>791
const char* henkan(unsigned int i)
{
static char* eigo[] = {"first", "second", "third",…};
return eigo[i];
}
0793デフォルトの名無しさんNGNG
>>792
const char* henkan(unsigned int i)
{
static const char* eigo[] = {"first", "second", "third",…};
return eigo[i + 1];
}
0794デフォルトの名無しさんNGNG
-1だろ
0795デフォルトの名無しさんNGNG
そうでしたっ!!テヘ
0796デフォルトの名無しさんNGNG
スレ違いだということはわかってるが言わせてくれ。
俺は今まで、数々の宿題を解いてきてる、いわば大御所ってやつだ。
だから多少の無茶は許されるはずだ。
windows updataすると再起動しなきゃいけないじゃん?
で、めんどいから、すぐには再起動しないんだけど、数分おきに
右下からうにょっと、再起動をうながすウインドウが出て来るんだよな。
あれがうざくてしょうがない。
けどな、お前らよりはうざくないから別にいいよ。
俺が言いたかったのはそれだけ じゃ ノシ
0797デフォルトの名無しさんNGNG
宿題が出る。
煽るやつと、とくやつが出る。
だらだらする。            ←今ここ。
また宿題が出る。
マルチということが判明する。
叩く。
また宿題が出る。
0798デフォルトの名無しさんNGNG
暇なんでエレガントに片付けられそうな宿題投下してください。
0799デフォルトの名無しさんNGNG
エイトクイーン問題を解くプログラムを作ってください
0800デフォルトの名無しさんNGNG
エイトキング問題を解くプログラムを作ってください
0801デフォルトの名無しさんNGNG
>>800
王□□王□□王□
□□□□□□□□
□□□□□□□□
王□□王□□王□
□□□□□□□□
□□□□□□□□
王□□王□□王□
□□□□□□□□
9個置けた。
0802デフォルトの名無しさんNGNG
プログラムの宿題を作るプログラムを作って下さい。
0803デフォルトの名無しさんNGNG
>>799
エイトクイーン昔やったんだけど。
暗算(?)で出来ちゃったよ。
マス書いてクイーン置いてってら出来た。
0804デフォルトの名無しさんNGNG
>>801
一番効率の悪い置き方したらいくつくらいなんだろう?
0805デフォルトの名無しさんNGNG
>>804
4
0806デフォルトの名無しさんNGNG
>>801
一番ゆかいな置き方したらいくつくらいなんだろう?
0807デフォルトの名無しさんNGNG
>>806
256
0808デフォルトの名無しさんNGNG
>>778-779
せっかく提出するならこのぐらい。
int fact(int n){retrurn n?n*fact(n-1):1}
0809デフォルトの名無しさんNGNG
適当な要素数の整数型の 1 次元配列を初期化し、全要素の合計を求めて表示するプログラムを教えてください。
ターミネータを用いる方法と、sizeofを用いる方法の両方をお願いします。
0810デフォルトの名無しさんNGNG
>>809
関数内関数の本領発揮だ!
0811デフォルトの名無しさんNGNG
大原ゆきさんに犯されたい
0812デフォルトの名無しさんNGNG
#include <stdio.h>
int main(void){
int s[] ={1,23,6,38,14,6,3,54,44,3};
int i, n, sum= 0;
n = sizeof(s) / sizeof(int);
for (i = 0; i < n;i++)
sum += s[i];
printf("sum = %d\n", sum);
return 0;
}
0813デフォルトの名無しさんNGNG
>>809
普通にやるとターミネータ(もしくは番兵、sentinel)の個数がsizeof()に含まれてしまうが・・・
その辺はどうなっとるの?
0814デフォルトの名無しさんNGNG
>>809
usingterminator() {
    static int x[] = { 1, 2, -1 }, i, sum;
    for (i = 0; x[i] != -1; i++) sum += x[i];
    printf("sum= %d\n", sum);
}

usingsizeof() {
    static int x[] = { 1, 2 }, i, sum;
    for (i = 0; i < sizeof(x) / sizeof(x[0]); i++) sum += x[i];
    printf("sum= %d\n", sum);
}

main() { usingterminator(); usingsizeof(); }
0815デフォルトの名無しさんNGNG
>>810-814
ありがとうございます。
0816不明なデバイスさんNGNG
>>814
なんでstaticにしてんのかな?
変数が自動的に0に初期化されるから?
int main() {
usingterminator(); usingsizeof();
usingterminator(); usingsizeof();
}
を実行するとどうなる?
0817816NGNG
return 0;
忘れてた… orz
0818デフォルトの名無しさんNGNG
問
文字列を入力として受け付けて、その文字列中にabcという文字列が含まれていればyesを、
含まれていなければnoを出力せよ。ただし、文字列ライブラリは使ってはならない。

実行例
 ・ugabcftと入力 → yes
 ・abcと入力   → yes
 ・iunhabと入力 → yes

と、問題を出されました。
誰か解いて下さい。月曜夜までに。
0819818NGNG
・iunhabと入力 → no

orz
0820デフォルトの名無しさんNGNG
>>818 力まかせ方だが。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=263
0821デフォルトの名無しさんNGNG
strstrで速攻完了
0822デフォルトの名無しさんNGNG
すま、ライブラリ使っちゃいけんのね
0823デフォルトの名無しさんNGNG
>>820
スレタイトルをお読みください。
0824デフォルトの名無しさんNGNG
strstrのソースを提出すれば
0825818NGNG
>>820
ありがとうございます。

えっと、ちょこっとレスされてて何なんですど、結局
strstrっていうのは文字列ライブラリに入るんですか?
何か #include <string.h> が文字列ライブラリだー、
みたいな説明受けたんですが。

もうよくワカンネ('A`)
0826デフォルトの名無しさんNGNG
>>825
文字列を検索するコードを自分で書くのが目的だから
string.hにあるstrstrを使うなってこと。
>>820のはそれを自作してあるから別に
関数名にstrstrが含まれてるからって関係ない。
0827デフォルトの名無しさんNGNG
>>826
あー、なるほどー。
説明どうもです。
0828デフォルトの名無しさんNGNG
C言語です。お願いします。
正整数nを入力するとn以下の正の偶数を計算するプログラムをwhile文とfor文
を用いたものをそれぞれつくれ。

0829829NGNG
define EOF -1
int mojishirabe(char ss[], char str[])
{
int i, j=0, k;
for(;;){
i=0;
while(ss[i] != str[j] && ss[i] != '\0'){
i++;
}
if(ss[i] == '\0'){
return 0;
}
while(ss[i] == str[j] && str[j] != '\0'){
i++;
j++;
}
if(str[j] == '\0'){
return 1;
}
}
}
0830829続きNGNG
int main(void)
{
int i, j, k;
char ss[80], str[80;
printf("入力される文字列中に"abc"が含まれているか判定します。\n");
printf("判定対称文字列を入力してください。\n");
printf("->");gets(ss);
if(mojishirabe(ss, "abc"){
printf("yes\n");
}else{
printf("no\n");
}
return 0;
}
0831デフォルトの名無しさんNGNG
int i;
int n;
scanf("%d",n);
#ifdef WHILE_VER
i = 0;
while(++i <= n)
#else
for(i=1;i<=n;++i)
#endif
printf("%d\n",i);
0832831NGNG
・・・偶数かすまん
0833デフォルトの名無しさんNGNG
>>828
偶数を計算って
全部表示させろってこと?
合計ってこと?
0834デフォルトの名無しさんNGNG
>>833
合計です。よろしくお願いします。
0835デフォルトの名無しさんNGNG
while
#include <stdio.h>

int main(void)
{
int sum = 0, x;
printf("x >> "); scanf("%d", &x);
if (x & 1) x--; /* if (x % 2 != 0)*/
while(x){
sum += x;
x -= 2;
}
printf("sum = %d", sum);
return 0;
}
0836デフォルトの名無しさんNGNG
for
#include <stdio.h>

int main(void)
{
int sum, x;
printf("x >> "); scanf("%d", &x);
if (x & 1) x--; /* if (x % 2 != 0)*/
for(sum = 0; x; x-=2){
sum += x;
}
printf("sum = %d", sum);
return 0;
}

xの値を変えたくなかったら
int main(void)
{
int sum = 0, x, i;
printf("x >> "); scanf("%d", &x);
if (x & 1) x--; /* if (x % 2 != 0)*/
for(i = x; i > 0; i-=2){
sum += i;
}
printf("sum = %d", sum);
return 0;
}
0837デフォルトの名無しさんNGNG
if(x&1)x--; と if(x%2!=0)

って同じ意味ですか?
0838デフォルトの名無しさんNGNG
if(x&1)x--; と if(x%2!=0)x--;ね。
学校じゃ後者の書き方しかしないだろうから一応。
0839デフォルトの名無しさんNGNG
if(x%2) x--; でも同じ意味になりますわな
0840デフォルトの名無しさんNGNG
学校でも x & 0x1 くらいすると思うが
0841デフォルトの名無しさんNGNG
なるほど。あとwhile文の継続条件がxというのはxが0になったら
継続しなくなるということですか?

0842デフォルトの名無しさんNGNG
>>841
そうだ。C では整数型が論理型の役目もする。
0843デフォルトの名無しさんNGNG
はぁ〜。勉強になりました。ありがとうございました。
0844818NGNG
>>829-830
お疲れ様です。ありがとうございます。

一つ注文といっては何ですが、このプログラムを
#include <stdio.h>
int main(void)
の2行から始めるように書き換える事って出来ますか?
0845デフォルトの名無しさんNGNG
出来るけどmainの中が長たらしくて
分かりにくくなるぞ。
0846デフォルトの名無しさんNGNG
エレガントな宿題まだー?
0847818NGNG
>>845
それでも良いのでお願いします。
これが今習ってるスタイルなので。
0848デフォルトの名無しさんNGNG
>>838
きょうび学校でも分岐は減らす方針で教えた方がいいのでは?
x-=(x%2);
x-=(x&1);
0849デフォルトの名無しさんNGNG
>>836
エレガントってほどでもないけど・・・
for(sum=0,i=0; i<x; sum+=i,i+=2){}
0850デフォルトの名無しさんNGNG
だんだん読みにくくなっててってねぇか?
0851デフォルトの名無しさんNGNG
x/=2;
0852デフォルトの名無しさんNGNG
演算子が違うorz
x^=1;
0853デフォルトの名無しさんNGNG
>>828
どうやってwhileを使うのか悩んじゃったよ。いい問題だね。

#include <stdio.h>
int main(int argc,char **argv){
  char *nargv[2];
  char narg[12];
  nargv[1]=narg;
  if(argc !=2 ){
    argc=0;
    do{
      printf("正の数字をいれろ\n");
      scanf("%d",&argc);
    }while(argc<=0);
    argc &= ~1;
    sprintf(narg,"%d",argc);
    printf("%d\n",main(2,nargv));
    exit(0);
  }
  argc = atoi(argv[1]);
  if(argc){
    sprintf(narg,"%d",argc-2);
    return argc + main(2,nargv);
  }
  return 0;
}
0854829NGNG
>>847
それくらい自分で考えろよな。
2chでへたり込んだの初めて
0855デフォルトの名無しさんNGNG
キーボードから入力した整数値を16進数で表示するにはどうしたらいいでしょうか?
(数字の制限有り、二桁までとか)

printfの%Xを使いますよね…ビットのシフト演算子を使用するなんて自分にはさっぱりです。

どなたかエレガントでユーモラスな解答をお願いしますprz
0856847NGNG
>>854
了解
頑張ってみます(´・ω・`)
0857デフォルトの名無しさんNGNG
>>855
キーボードから入力して画面に出力するプログラムのどこにシフト演算を使う必要があるんだ?
scanfとprintfだけで十分だろ。
0858デフォルトの名無しさんNGNG
質問者が _| ̄|○ とか orz とか (´・ω・`) とか (;´Д`) とか使ってるのみると・・・
いや、なんでもない、忘れてくれ。
0859デフォルトの名無しさんNGNG
>>828
その課題だしたやつはアフォ
なんで順番に足すことしか思い付かないんだ?
数列の級数なんか(ry
0860デフォルトの名無しさんNGNG
>>857
問題をそのまま書き出すと

ある二つの数字(10進数)をキーボードから入力させ
16進数として表示する。(0〜15以外の入力はエラーとする)
ビットのシフト演算子を使用すること。

かな?俺もこの問題出されたんだけどわかりません。
シフト演算子を使わないなら大丈夫なんですけど使うとなるとさっぱり。
どなたか教えてください。
0861デフォルトの名無しさんNGNG
>>860
#include <iostream>
int main(int argc, char argv)
{
int d[2];
std::cin >> d[1] >> d[0];
std::cout << (char)(('0' << d[1]) + d[1] + d[0]) << endl;
return 0;
}
0862デフォルトの名無しさんNGNG
>>861
すみません、上記の>>860の問題はC言語なんです。
教えてくださったのはC++ですよね?良ければCのほうを教えていただけないでしょうか?
0863デフォルトの名無しさんNGNG
>>862
といってもほとんど同じだが…。

#include <stdio.h>
int main(int argc, char argv)
{
char buf[16];
int d[2];
fgets(buf,16,stdin);
sscanf(buf, "%d %d",&d[1], &d[0]);
putchar(('0' << d[1]) + d[1] + d[0]);
return 0;
}
0864デフォルトの名無しさんNGNG
> int main(int argc, char argv)
int main(int argc, char **argv)
だな。失礼。
0865デフォルトの名無しさんNGNG
>>863
fgets(buf, 15, stdin);
とかじゃないとバッファが溢れちゃうんじゃないの?
0866デフォルトの名無しさんNGNG
>>865
そこは 16 で問題なし
もっと勉強されたし
0867857NGNG
>>860
おお・・・同志が居ましたか・・・あそこであの問題はわけがわかりませんよね

>>863,864さん
ありがとうございました。 納得いくまでソース見てみます。
0868デフォルトの名無しさんNGNG
マジで聞きたいんですけど、どこで出された問題ですか?
0869デフォルトの名無しさんNGNG
>>801
たぶんネタだと思うが King はもっと置ける
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
0870デフォルトの名無しさんNGNG
マジックナンバーを置くなと
sizeof(buf)に汁!!
0871デフォルトの名無しさんNGNG
>>866
ほんとだ、ごめんなさい。
精進しますです。
0872801NGNG
>>869
実はネタだったんだが素直にこう置いても個数は同じ。
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
#すっかり忘れてたよ。
0873デフォルトの名無しさんNGNG
宿題くれ。
0874デフォルトの名無しさんNGNG
>>873
学校に入れ
0875デフォルトの名無しさんNGNG
お願いします。

C言語で作成する問題で、
任意の時刻を○時○分を入力させ、▽分前の時刻を求めるプログラムを作る。
時間は24時間表記で表す。

time.hを使えばいいんでしょうか・・・
0876デフォルトの名無しさんNGNG
>>876
時刻系関数を使うまでもないけど、使ういい訓練にはなるね。
0877876NGNG
>>875だった。
0878デフォルトの名無しさんNGNG
>>876さん
やっぱりそうなんでしょうか。
ヘッダファイル調べてみたんですが、いまいちどの関数が使えるのか
わからんかったです・・・
ここで使ったらいい関数とか教えていただけますか?
0879デフォルトの名無しさんNGNG
struct time_t
time()
localtime()
0880デフォルトの名無しさんNGNG
>> 879さん
ありがとうございます。
なんとかやってみます。
0881デフォルトの名無しさんNGNG
○時○分を入力させて、○分前を求めるのに、time.hの関数をどこに使うの?
0882デフォルトの名無しさんNGNG
>>881
入門書に書いてあるようなことを質問するな
0883デフォルトの名無しさんNGNG
>>881
struct tmに入れた時刻をtime_tに変換し、結果を出力するのに「使える」。
勿論、使わなくても目的は果たせる。
0884デフォルトの名無しさんNGNG
1から6までの数字がそれぞれ記入してある6枚のカードがある。これらを無造作に並べてできる6桁の数が4の倍数になるのは何通りか?計算方法を示せ。
0885デフォルトの名無しさんNGNG
時刻の場合あんまり使う意味ないかものな。
ある日の、何日か前を取得するようなときには有効だけど。
0886デフォルトの名無しさんNGNG
>>884
(1)最初の6桁の数をつくる。
(2)4でわった余りを求める。
(3)余りが0ならば、カウンタをインクリメント。
(4)次の6桁の数を作り(2)へ戻る。
(5)すべての並びでテストをしたら、終了。
0887デフォルトの名無しさんNGNG
>>884
http://search.yahoo.co.jp/bin/query?p=6%b7%e5+%bf%f4+4%a4%ce%c7%dc%bf%f4&hc=0&hs=0
0888884NGNG
答えは全部で192通りらしいのですが、計算方法が分かる方いますか?
0889デフォルトの名無しさんNGNG
>>計算方法
下二桁が四の倍数になるのは
12, 16, 24, 32, 36, 44, 52, 56
の八通り
よって 4!*8
0890デフォルトの名無しさんNGNG
44はありえないだろ。
0891889NGNG
- 44
+ 64

ってか計算方法が知りたいのに何故ム板に…
0892884NGNG
>>答えて下さった方
ありがとうございました。
4!って言うのが分からなかったんですが、
下2桁以外の100の位から10万の位の組み合わせだったんですね。
スレ違いすみませんです。
0893デフォルトの名無しさんNGNG
リア厨が宿題解きたくてきたのかな。
0894デフォルトの名無しさんNGNG
[宿題]で検索するとここが出てくる
まあ礼儀知らずじゃなかったから暖かく見守ってやろうよ
0895デフォルトの名無しさんNGNG
[1] 授業単元:
[2] 問題文(含コード&リンク):

0から100までの総和、偶数和、奇数和を
for文1つのみ使用して同時に求めよ


for( ; ;){
[処理]
}
printf("総和=%d 偶数和=%d 奇数和=%d\n",0,0,0)


[3] 環境
 [3.1] OS: WinXP
 [3.2] コンパイラ(バージョン): CPad for Borland C++Compiler Ver2.31
 [3.3] 言語:C++
[4] 期限:2004年11月15日13:00まで
[5] その他の制限: 特に無し

急ですみません。
当方全くの初心者で特に説明も聞いてないまま作れと言われたものでどうすればさっぱりわかりません。
どうかよろしくお願いします
0896デフォルトの名無しさんNGNG
for( ; ;)
break;
}
printf("総和=%d 偶数和=%d 奇数和=%d\n",5050, 2550, 2500)
0897デフォルトの名無しさんNGNG
>>895
#include <stdio.h>
int main()
{
int sum = 0;
int even_sum = 0;
int odd_sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
if (i % 2 == 0) {
even_sum += i;
} else {
odd_sum += i;
}
}
printf("総和=%d 偶数和=%d 奇数和=%d\n", sum, even_sum, odd_sum);
return 0;
}

> 当方全くの初心者で特に説明も聞いてないまま作れと言われたものでどうすればさっぱりわかりません。

授業聞いたってな。
0898デフォルトの名無しさんNGNG
>>895
#include <stdio.h>
int main()
{
int i,g,k,total;
g = 0;k = 0;total = 0;
for(i = 0; i <= 100; i++)
{if(i & 1) k += i;
else g += i;
total += i;
}
printf("総和=%d 偶数和=%d 奇数和=%d\n",total,g,k);
return 0;
}
0899デフォルトの名無しさんNGNG
リロードすりゃよかった_| ̄|○
0900デフォルトの名無しさんNGNG
>>897-898
ありがとうございます。

答えは出たのですが、以下のようなメッセージも表示されました。
どういう意味なんでしょうか?

>'-askclose'は内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチファイルとして認識されていまません。
0901デフォルトの名無しさんNGNG
>>900
それはCPadが出してるメッセージだろ
CPadの掲示板で聞いてきたら?
0902デフォルトの名無しさんNGNG
質問者レベル

1: ソースを打ち込み、コンパイルできる
2: 生成ファイルを実行し、動作確認できる。
3:: 自分でソースは作成できないが、内容は理解できる。
・・・
0903デフォルトの名無しさんNGNG
実行するだけまし。
普通は実行もせずにコピペを提出する。
0904デフォルトの名無しさんNGNG
const int MAX_TRANS = 15;
class CCheckbook
{
private:
Transaction * transactions[MAX_TRANS];
};
ここでtransactions[MAX_TRANS];をすべてNULLに初期化する方法ですが、
forループを使ってやるとどのようになりますか?
0905デフォルトの名無しさんNGNG
>>904
for (int i=0; i<MAX_TRANS; i++)
  transactions[i] = 0;
じゃないの?
0906デフォルトの名無しさんNGNG
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1100490460
掃き出し法のプログラムを書いていて、2次元配列になっているところを1次元配列
に直したいのですがどのように直せばいいのでしょうか?
よろしくお願いします。
0907904NGNG
Deallocate memory for every dynamically allocated Transaction
whose pointer is stored in the transactions array.

上のtransactions[MAX_TRANS]についてですが、上記の英文通り解決できますでしょうか。
よろしくおねがいします。

0908デフォルトの名無しさんNGNG
Deallocate って書いてるから delete しなきゃ駄目でしょ。

for (int i=0; i<MAX_TRANS; i++) {
  if( transactions[i] ) delete transactions[i];
  transactions[i] = 0;
}
0909デフォルトの名無しさんNGNG
>>906
二次元配列が必要なら一次元配列ではことが足りないのでは?
それとも、単純にa[b][c]をa[b * d + c]にしたいってこと?
0910デフォルトの名無しさんNGNG
区間[0,1)の乱数をn個発生させて、その区間を10分割し、区間ごとの乱数の個数を計算する。
#include <stdio.h>
#include <stdlib.h> /* for rand() srand() */
#include <time.h> /* for time() */
int main(void)
{
int i, n, c[10], j;
double x;
scanf("%d",&n);
srand((unsigned)time(NULL));
for(j=0; j<=9; j++)
     {
c[j] = 0;
for (i=1; i<=n; i++)
{
x = (rand() / (RAND_MAX+1.0));
if(j * (0.1) < x < (j + 1) * 0.1)
c[j]++ ;
}
printf("j=%d",j);
printf(":kosuu=%d\n",c[j]);
}
return 0;
}
と作ってみたんですどこれじゃ上手くいきません…orzどう直せばいいのか教えてもらいたいです。
0911デフォルトの名無しさんNGNG
>>910
二重ループの最内で乱数を更新してるから、そりゃ正確に動かん

あと
j * 0.1 < x < (j + 1) * 0.1 を表現したいなら
(j * 0. 1 < x) & (x < (j + 1) * 0.1)とすべき
0912デフォルトの名無しさんNGNG
>>911
(j * 0. 1 < x) && (x < (j + 1) * 0.1)
0913910NGNG
>>911-912
ありがとうございます。
おかげでできました。
0914デフォルトの名無しさんNGNG
[1] 授業単元:
[2] 問題文(含コード&リンク):
    データ列 ak (k=1,2,3,...10)の中間値を求めるプログラムを作成
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:2004年11月16日14:00
よろしくお願いします。
0915906NGNG
>>909
後者の方です。
0916デフォルトの名無しさんNGNG
>>914
授業中に何かアルゴリズムの話はあった?(クイックソートとか)
0917デフォルトの名無しさんNGNG
問 e^-x+x/5=1 (x>0)の解が4.965・・・であることを数値計算法(ニュートン法など)によりプログラムを作り示せ。(CまたはC++環境で)


放射エネルギーがどうのこうのいってました。量子物理の授業です。
プログラムなんか習ってませんよ〜。

よろしくお願いします。
0918デフォルトの名無しさんNGNG
>>917
その程度なら2分法で十分かと思ったのでアルゴリズム事典のを引用・改変
ちなみに出てくる解は
x = 4.965114231744277

#include <stdio.h>
#include <math.h>

double f(double x) { return pow(exp((double)1), -x) + x/5 - 1; }
double bisect(double a, double b)
{
double c, fa, fb, fc;
fa = f(a); fb = f(b);
if (fa == fb) return 0;

while (1) {
c = (a + b) / 2;
if (c <= a || b <= c) break;
fc = f(c); if (fc == 0) return c;
if ((fc > 0) == (fa > 0)){ a = c; fa = fc; }
else{ b = c; fb = fc; }
}
return c;
}

int main()
{
printf("x = %.16g\n", bisect(0, 10));
return 0;
}
0919デフォルトの名無しさんNGNG
>>916
多分やってないと思います。
0920デフォルトの名無しさんNGNG
>>914
データ列ってなに?
中間値ってなに?
0921デフォルトの名無しさんNGNG
連結な無向グラフがオイラー回路を持っていたときにその軌道を実際に見つけ出すプログラムを作れ。
っていう問題なんですけどわかりませんか?
main()
{ (中略)
for (i = 1; i<=N; i++){
printf("\n隣接点リスト%d :", i);
for (p = a[i].start; p != a[i].end; p = p->next)
printf(" -> %d", p->num);
};
printf("\n");
if (i%2==0){
printf("オイラー回路です\n");
ここのプログラムを考えて下さい
}
return 0;
}
0922917NGNG
>>918
ありがとうございます。
Borland C/C++コンパイラをダウンロードしてコンパイルしてみましたが、

警告 W8004 L16:'fb'に代入した値は使われていない(関数 bisect) 

というエラーがでてコンパイルできません。
うう〜。
0923914NGNG
>>920
具体的な例でいうと、
10人のテストの点数が、
68、70、50、88、96、77、91、54、74、81、だったときに
点数順にデータを並べて5番目と6番目になるものを探すプログラムです。
0924デフォルトの名無しさんNGNG
>>922
エラーと警告の違いの区別くらいつけろ
0925デフォルトの名無しさんNGNG
>>921
それ、オイラー回路の判定部分がおかしいんちゃうかな。
0926918NGNG
>>922
ほんとだ… 原典でも使ってないな
警告だし大したミスじゃないから
コンパイル出来てると思うが、嫌なら
b=c; fb=fc;
   ~~~~~~
   ここを消す。
0927921NGNG
>>925さん
そのあたりも含めて訂正お願いできませんか?
0928デフォルトの名無しさんNGNG
プログラム初心者です。あんまり難しい言葉を使わずに解答して
頂きたいです。

モノクロスケールの画像ファイル( JPEG / BMP )を数値化したい
(※.(x,y)座標値で)のですが、プログラミングでファイル入力
する時にどのようなformatで取り込めばファイルの座標と値を取り
こめるんですか? できればCで組みたいんですけど。
初心者には無理・難題?
0929デフォルトの名無しさんNGNG
>>914
#include <stdio.h>
void swap(int* a, int* b)
{
int tmp = *a; *a = *b; *b = tmp;
}
int partition(int* A, int p, int r)
{
int x = A[p], i = p - 1, j = r + 1;
for (;;) {
do { j--; } while (A[j] < x);
do { i++; } while (A[i] > x);
if (i < j) { swap(&A[i], &A[j]); }
else { return j; }
}
}
int select_Ith(int* A, int p, int r, int I)
{
int q, k;
if (p == r) { return A[p]; }
q = partition(A, p, r);
k = q - p + 1;
if (I <= k) { return select_Ith(A, p, q, I); }
else { return select_Ith(A, q + 1, r, I - k); }
}
int main(void)
{
int n = 10, A[] = { 68, 70, 50, 88, 96, 77, 91, 54, 74, 81 };
printf("%d %d\n", select_Ith(A, 0, n - 1, 5), select_Ith(A, 0, n - 1, 6));
return 0;
}
0930デフォルトの名無しさんNGNG
>>928
おまえには無理。
0931デフォルトの名無しさんNGNG
ニュートン法でf(x)=cosx-x^2=0を求めるプログラムがわかりません。
初期値xは1、収束判定値eは1e-5で答えは1回計算するごとに出力できるように
したいんです。どなたか教えていただけないでしょうか。お願いします。
0932デフォルトの名無しさんNGNG
>>921
スタック使ってグラフの経路を全探索してみれば、
↓こんな感じ

struct 経路スタック{
int 始点番号;
int 終点番号;
struct 経路スタック *prep;
}

void 一歩進む(int 節点番号){

if(すべての経路を使った){
printf( "一筆書き完成!:" );
printf( スタックの内容 );
return;
}

if(行き先がない){
printf( "一筆書き失敗!:" );
printf( スタックの内容 );
return;
}

for each 終点番号 connect to 始点番号
if( 経路(始点-終点) is 未使用 ){
経路(始点-終点)をスタックにつむ;
一歩進む(終点);
経路(始点-終点)をスタックから出す;
}
}
}
0933928NGNG
>>930
エレガントだ…。さすがですね、ここの人たちは。
0934デフォルトの名無しさんNGNG
#include <stdio.h>
#include <stdlib.h>
static int numcmp(const void *d1, const void *d2)
{
return *(int *)d1 - *(int *)d2;
}
int main()
{
int ak[] = {68, 70, 50, 88, 96, 77, 91, 54, 74, 81};
int num_ak = sizeof(ak) / sizeof(int);
qsort(ak, num_ak, sizeof(int), numcmp);
if (num_ak % 2 == 0) {
printf("median: %d, %d\n", ak[num_ak / 2 - 1], ak[num_ak / 2]);
} else {
printf("median: %d\n", ak[num_ak / 2]);
}
return 0;
}
0935デフォルトの名無しさんNGNG
934 は 914 への解答。
0936914NGNG
>>929
ありがとうございます。
申し訳ないのですが、下の状態でa1~a10まで
任意の数値を入力して中間値を求める方法を教えていただきたいです。
#include <stdio.h>
#define K 10
    main(void)
   {
       int score[K];
int k;
 for( k=1 ; k<=K ; k++){
 printf("a%d = ", k );
 scanf("%d", &score[k] );
    }
よろしくお願いします。
0937デフォルトの名無しさんNGNG
>>928
×
0938914NGNG
質問の書き方も、プログラムの書き方も下手糞ですみません。
#include <stdio.h>
#define K 10
main(void){
int score[K];
int k;
for( k=1 ; k<=K ; k++){
printf("a%d = ", k );
scanf("%d", &score[k] );
}

これにつながるように中間値を求めるプログラムを作っていただきたいです。
よろしくお願いします
0939デフォルトの名無しさんNGNG
こういう宿題をやってあげてる人はどういう気持ちでやってるのか禿しく知りたい。
皮肉とかじゃなく、ただ純粋に。
0940デフォルトの名無しさんNGNG
お前ら市ね。
0941デフォルトの名無しさんNGNG
>>939
愛 にゃんにゃん
0942デフォルトの名無しさんNGNG
>>939
最近Cのプログラムを書いてないから、ボケ防止に。
0943デフォルトの名無しさんNGNG
>>938
forのカウンタには i を使っていくのが一般的。

>>939
自分の勉強・復習に。
0944デフォルトの名無しさんNGNG
スレタイにあるように
暇つぶし
0945デフォルトの名無しさんNGNG
>>928 == >>933
ここは宿題スレだからな。
0946914NGNG
>>943
そうなんですか。ご教授ありがとうございます。
0947デフォルトの名無しさんNGNG
愛だよー 愛がないとダメなんだよー にゃんにゃん
0948デフォルトの名無しさんNGNG
>>942
禿しく同意
0949デフォルトの名無しさんNGNG
ここは宿題をしてもらうスレじゃなくて
解答者が宿題をさせて頂くスレ
0950デフォルトの名無しさんNGNG
次の宿題まだー?ちんちん
0951デフォルトの名無しさんNGNG
>>950
次スレお願いね。
0952デフォルトの名無しさんNGNG
偽造IPパケットを作成するプログラムを教えろカス!


0953デフォルトの名無しさんNGNG
次スレはどうなるんだろう?
0954デフォルトの名無しさんNGNG
>>952
hackerslab lv10の解答でも見てろカス!
0955デフォルトの名無しさんNGNG
>>947
愛なんてないよー。
愛があるなら、宿題を出された本人にやらせるよー。
教えるにしても誘導程度に留める。

>>949
そんな感じですな。
0956デフォルトの名無しさんNGNG
[1] 授業単元:
[2] 問題文(含コード&リンク):
    データ列 ak (k=1,2,3,...10)の中間値を求めるプログラムを作成
#include <stdio.h>
#define K 10
main(void){
int score[K];
int i;
for( i=1 ; i<=K ; i++){
printf("a%d = ", i );
scanf("%d", &score[i] );
}

これにつながるように中間値を求めるプログラムを作っていただきたいです。
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:2004年11月16日14:00
よろしくお願いします
0957デフォルトの名無しさんNGNG
>>931
関数f(x)を考え、関数の適当な点x[0]を定める。
これをニュートン法における初期値とする。
関数f(x)の点x[0]における接線の方程式は
y-f(x[0])=f'(x[0])(x-x[0])

この接線がx軸と交わるときの座標を(x[1],0)とすると
0-f(x[0])=f'(x[0])(x[1]-x[0])
f(x[0])/f'(x[0])=x[1]-x[0]
x[1]=x[0]-f(x[0])/f'(x[0])
同様にして、x[2],x[3],...というふうに繰り返すと
x[n+1]=x[n]-f(x[n])/f'(x[n])
という漸化式が得られる。この漸化式において
|x[n+1]-x[n]|<E
を満たすまで計算を繰り返すとき、Eを収束判定値という。

f(x)=cos(x)-x^2の場合
f'(x)=-sin(x)-2xなので
x[n+1]=x[n]-(cos(x[n])-x[n]^2)/(-sin(x[n])-2x[n])
という漸化式を用いる。(次へ)
0958デフォルトの名無しさんNGNG
…もしかして中央値のことだろうか
0959デフォルトの名無しさんNGNG
957のつづき。実際のソース
#include <stdio.h>
#include <math.h>
int main()
{
const double eps = 1.0e-5;
double x0 = 1.0, x1 = 0.0;
int i;
for(i = 1;; i++)
{
/* 漸化式の計算 */
x1 = x0 - (cos(x0) - x0 * x0) / (-sin(x0) - 2 * x0);
printf("x[%d]=%.10lf\n", i, x1);
printf("|x1-x0|=%.10lf\n", fabs(x1 - x0));
if(fabs(x1 - x0) < eps) break; /* 収束判定 */
x0 = x1; /* x0の更新 */
}
printf("\nx=%.10lf\n", x1); /* 結果の表示 */
return 0;
}
ニュートン法については厳密に書いてないので詳しくはググって
0960デフォルトの名無しさんNGNG
>>958
間違ってました。中央値です。
ごめんなさい。
0961957NGNG
途中式の計算ミスった… orz
f(x[0])/f'(x[0])=x[1]-x[0]
じゃなくて
-f(x[0])/f'(x[0])=x[1]-x[0]
0962デフォルトの名無しさんNGNG
#include <stdio.h>
#define K 10
int main(void)
{
int score[K];
int i, j;
int temp;
for(i = 0; i < K ; i++){
printf("a%d = ", i );
scanf("%d", &score[i] );
}
for (i = 0; i < K - 1; i++){
for (j = i + 1; j < K; j++){
if (score[i] > score[j]){
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
if (K % 2){
printf("中間値 %d %d\n", score[(K - 1)/ 2]);
}
else {
printf("中間値 %d %d\n", score[K / 2 - 1], score[K / 2]);
}
return 0;
}
0963デフォルトの名無しさんNGNG
間違ってもダディクールなんかにはなりませんように。
0964デフォルトの名無しさんNGNG
>>931
#include <stdio.h>
#include <math.h>
#define INITIAL_X (100.0)
#define E (1.0e-5)
#define LOOP_MAX 10000
double f(double x) { return cos(x) - x*x; }
double dfdx(double x){ return -sin(x) - 2.0 * x;}

int main(int argc, char **argv)
{
double x=INITIAL_X;
double a;
double y;
double tmp;
int i;
for(i=0;i<LOOP_MAX;i++){
printf("%5d: X = %10g\n",i,x);
y = f(x);
tmp = fabs(y);
if(tmp<=E)break;
a = dfdx(x);
tmp = fabs(a);
if(fabs(a) <=E)exit(1);
x -= y / a;
}
printf("\nResult X = %10g\n",x);
return 0;
}
0965931NGNG
>>959
ありがとう。ググってみます。
0966デフォルトの名無しさんNGNG
>>962
ありがとうございました
0967デフォルトの名無しさんNGNG
【質問テンプレ】
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1100529847&res=1

[3] 環境
 [3.1] OS: windowsXP
 [3.2] コンパイラ(バージョン): wedit
 [3.3] 言語:C
[4] 期限:11月17日まで
[5] その他の制限: なし

考えてみたんですが解りませんでした…
最後のforの中にforを入れ子にするのではないか?と思ったんですが
上手くいきません

0968デフォルトの名無しさんNGNG
>>928
画像のフォーマットの変換が可能ならば、xbmフォーマットにしちゃえば
テキスト形式だから簡単。画像ごとに再コンパイル可能ならば、
さらに簡単。


0969デフォルトの名無しさんNGNG
>>967
次スレに誤爆してしまった。。。ほい。
#include <stdio.h>
int main(void)
{
int i,j,dat,histo[11];

for (i=0;i<=10;i++)
histo[i]=0;

printf("input point\n");
while (scanf("%d",&dat)!=EOF)
histo[dat/10]++;

for(i=0;i<=10;i++) {
printf("%3d :%3d ",i*10,histo[i]);
for(j=0;j<histo[i];j++)
putchar('*');
putchar('\n');
}
return 0;
}

/*あるいは、
while(histo[i]-- > 0) putchar('*');
とか。*/

0970デフォルトの名無しさんNGNG
プログラマー軍団がC/C++の宿題を解決します 34代目
http://pc5.2ch.net/test/read.cgi/tech/1100530682/
0971デフォルトの名無しさんNGNG
while(){
 ひたすら単純化
}

単純化の手法
1.次数が2のノードAは消去する。
  AがノードB,Cに接続していたとして、B,Cにお互いへのパスを追加する。
2.次数が2のノードがなくなったら、始点と終点が同一であり、
  一度通ったノードは二度と通らないループを見つけ、そのループを削除する。
  始点のノードには自分に帰ってくるパスを追加する。
0972967NGNG
>>969
ありがとうございます。
入れ子のforの書き方がまずかったようです
0973デフォルトの名無しさんNGNG
>>928
宿題じゃないだろうから教えてやんない。
>968も一つの解だけどね。
#でも私ならxpm。

>>915
>909がほぼ回答。
20x20のデータなら、a[3][15]をa[3 * 20 + 15]とでもすればいい。
この場合、メモリの確保もmalloc(sizeof(double) * 20 * 20)となる。
0974デフォルトの名無しさんNGNG
>>929
おー、かっこいい、O(N)中間値ね。
アルゴリズムは考えたけど実装はしてなかった。
QuickSortからてきとーに改竄すればいいのかな。
0975デフォルトの名無しさんNGNG
スレ違いかもしれないんですけど
C言語からフローチャートを生成するソフトが
あると聞いたのですが誰かご存知の方いらっしゃいませんか?
0976デフォルトの名無しさんNGNG
>>975
あっても使いものにならない予感
0977デフォルトの名無しさんNGNG
>>976
それはどういう事ですか?
0978デフォルトの名無しさんNGNG
もうそろそろタイトルからC++はずしたら?
0979デフォルトの名無しさんNGNG
例えば
347863000050097003096
347863000100093004095
347863000150092004098
347863000200088003094
347863000250092003096
な感じの数字の羅列から
一桁目と二桁目の数字だけを取り出して出力するのってどうするの?
0980デフォルトの名無しさんNGNG
976とはたぶん全然別の意味だけど
手続き型のプログラムって局所的にはシーケンスだけど
大域的にはツリーやグラフじゃん?
フローチャートってあんま役に立たなくね?
0981デフォルトの名無しさんNGNG
>>979
一桁目と二桁目ってのは上から数えんのか?下から数えんのか?
どっちにしてもやることはあまり変わらんが。
0982デフォルトの名無しさんNGNG
>>978
そんなことしたらSTLとか使えなくなるやん。困る困る…
0983デフォルトの名無しさんNGNG
>>981
上からです。
0984デフォルトの名無しさんNGNG
fgetsとかで一行読んで文字列の[0]と[1]をprintfで%c使って出力。
0985デフォルトの名無しさんNGNG
>>980
ツリーやグラフは使わないプログラムで
フローチャートにしなければならない宿題なんですよ。
ご存知ないですか?
0986デフォルトの名無しさんNGNG
>>979
1行ごと文字列に入れて、strncpyでいいんじゃない
0987デフォルトの名無しさんNGNG
http://www.vector.co.jp/soft/win95/prog/se105857.html?y
4年も前のソフトだが、ぐぐったら一発で出てきたぞ。
0988デフォルトの名無しさんNGNG
>>985
単語の意味で激しくすれ違った予感。
まぁいいか。
0989デフォルトの名無しさんNGNG
>>986
やってみます。
09901000NGNG
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
0991hageNGNG
hage
0992デフォルトの名無しさんNGNG
>>988
知識がなくてすみません。
お手数かけましたm(_ _)m
0993デフォルトの名無しさんNGNG
プ板で1000取りかよ、おめでてぇな
0994デフォルトの名無しさんNGNG
1000取ると何かいいことがあるの?
まじれすきぼん
0995デフォルトの名無しさんNGNG
このスレの住人はいつも1024を取りたいと夢に見てる。
だがその夢が叶うことは決してないのだよ。
0996デフォルトの名無しさんNGNG
幸せとは人それぞれ。
0997デフォルトの名無しさんNGNG
(・w・)
0998デフォルトの名無しさんNGNG
獲りたい奴が獲れ。それが人生。
0999デフォルトの名無しさんNGNG
hello world
1000デフォルトの名無しさんNGNG
ん?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。