暇な人がエレガントにC/C++の宿題片づけます 33代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0002デフォルトの名無しさん
NGNG30代目: 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どうかご了承ください。
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG・複雑なAAはスレが荒れたり問題を埋もれさせてしまう原因に
なりますので、使用を控えてください。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:
[3.2] コンパイラ(バージョン):
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
0006デフォルトの名無しさん
NGNGhttp://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過去スレあさる奴が迷惑だろ?
あんなAAばっかの糞スレなんか
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGAAばっか貼ってたのもあんたじゃないの?
0011デフォルトの名無しさん
NGNGつか、前1の影響引きずってるなー
0012デフォルトの名無しさん
NGNG違う。
漏れは歴代スレの2-3でお世話になってた者
今では回答者側に回ってる。
ここのスレにお世話になったから変なAAでいっぱいになるのがつらかった。
だからこのスレたてた。
0013デフォルトの名無しさん
NGNGだったりしてな
0014デフォルトの名無しさん
NGNG俺はあっちが終わるまでは、重複に質問するようなのは無視する
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGそれならついでに前スレのAAのレス削除依頼してきて
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | /|(●), 、(●)、.:::::::::::::::|
| | | ,,ノ(、_, )ヽ、,, .U :::::::::::::::| なにこのスレ……
| | .|U `-=ニ=- ' .::::::::::::U:::|
| | | `ニニ´ U.....:::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
0019NGワード
NGNG0020デフォルトの名無しさん
NGNG/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | /|(○), 、(○)、.:::::::::::::::|
| | | ,,ノ(、_, )ヽ、,, .U :::::::::::::::| なにこのスレ……
| | .|U `-=ニ=- ' .::::::::::::U:::|
| | | `ニニ´ U.....:::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
0021NGワード
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG気持ちはわかるが。
0024デフォルトの名無しさん
NGNGというものです。どうか、よろしくお願いします。
0025デフォルトの名無しさん
NGNGすみません、よろしくお願いします。
0026デフォルトの名無しさん
NGNGというものです.どうかよろしくお願いします.
0027デフォルトの名無しさん
NGNG良い課題に恵まれたんですね.いいなぁ.
GNU Hurd のソースとかは参考になるのかな?
0028デフォルトの名無しさん
NGNG会社で良い組み込み系OS探してんだが、
調べてる暇も無いので、完成したらパクらせて欲しい。
0029デフォルトの名無しさん
NGNG/'''''' '''''':::::::\
. |(●), 、(●)、.:| + >>26 全部自分でやりなさい。
| ,,ノ(、_, )ヽ、,, .::::|.
. | `-=ニ=- ' .:::::::| +
\ `ニニ´ .:::::/ +
,,.....イ.ヽヽ、ニ__ ーーノ゙-、
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
> ヽ. ハ | ||.
0030デフォルトの名無しさん
NGNG既にそういうプロジェクトがあるようです.
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関数(文字列の比較する関数)と同じ働きをする関数αを作りたいですがどのように作れば良いのか分かりません。教えて下さい。
ちなみに関数の作り方の構文は知っています。
003231
NGNG0033デフォルトの名無しさん
NGNG関数の作り方の構文とは何だ。
ていうか、前スレ終わってから使えよ、ここを。
0034デフォルトの名無しさん
NGNGint α( char* a, char* b )
{
while( *a && *b && *a == *b ) { a++; b++; }
return *a - *b;
}
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNGま、素人のマナー違反にカリカリしなさんな。
0039デフォルトの名無しさん
NGNGあっちでみんな答えてるだろうが。
お前のマナー違反をどうにかしろ馬鹿野郎
0040デフォルトの名無しさん
NGNG不毛なのでもうやめ。逃げるにあらず。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGちゃんと答え出てるのにな。ああ、お前が理解できないだけか。
逃げた馬鹿に何を言ってもしかたがないけど。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
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ていうか、前スレ終わってから使えよ、ここを。
0046デフォルトの名無しさん
NGNG正方行列でなくても転置行列って定義できるのか?
というか題意の通り行と列をひっくり返したら正方行列でないと積が不可能になっちまう。
0047デフォルトの名無しさん
NGNG..........................................................................
0048デフォルトの名無しさん
NGNG何が言いたいのか低学歴なヲレにも分かるような表現をしてくれ
004944
NGNG0050デフォルトの名無しさん
NGNGそれぐらいやれ
0051デフォルトの名無しさん
NGNG赤、緑、青の数値の中で
(1)まず青の数値の割合が20〜26%の時に白
(2)次に赤、緑、青のうちで最も割合の多い色を示し
(3)それ以外は黒
とするプログラムを作成願います。
自分はif文のただ羅列で行き詰ってしまったのでお手数ですが。
0052デフォルトの名無しさん
NGNGマルチは放置
0053デフォルトの名無しさん
NGNG>>38
早く答えてやれよ
出番だぜ
0054デフォルトの名無しさん
NGNGRGB各プレーンを対象とするということか?
(1)はBプレーン以外は関係ないのか?
(2)は各プレーンのうち一番明るいプレーンがどれかということか?
(3)は(1)以外で(2)以外と解釈すると有り得ないがどういう意味か?
0055デフォルトの名無しさん
NGNG(1)はBプレーン以外のものはなんでもいいんじゃない!
それから(2)と(3)は逆のプログラムすればいいと思うがそれにしてもムリそうだな!
0056デフォルトの名無しさん
NGNG何をしたいのか全く分からん。そのif文だらけになった
自分で書いたコードをさらしてみよ。理解の一助になるかも知れん。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG工夫という工夫、一切なし。
#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デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG赤、緑、青の数値の中で
(1)まず青の数値の割合が20〜26%の時に白
(2)次に赤、緑、青のうちで最も割合の多い色を示し
(3)それ以外は黒
とするプログラムを作成願います。
自分はif文のただ羅列で行き詰ってしまったのでお手数ですが。
>>54
違います!
>>56
すいません。いやになって消してしまいました
>>57
どうかお願いします!
0068デフォルトの名無しさん
NGNGサンクス!!繰り返しの仕方かなり参考になるわ。初心者でスマヌ。
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;
}
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
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( ゚Д゚)ゴルァ!!
こっちきちゃダメ。
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNGエスパーキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0079デフォルトの名無しさん
NGNGif(x == (int)x)
で、望みの結果が得られるかもしれない。
0080デフォルトの名無しさん
NGNG/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < なわけねぇだろ!
/| /\ \__________
0081デフォルトの名無しさん
NGNGなんで?
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG四捨五入な。
0085デフォルトの名無しさん
NGNG依存するファイルを読み込む、ってことはできるんでしょうか?
scanf("%d",&n);
fp=fopen("node3.dat","r");
この3をnによって変えたいのですがやり方がわかりません。
0086デフォルトの名無しさん
NGNGできる
0087デフォルトの名無しさん
NGNGchar filename[100];
sprintf(filename, "node%d.dat", n);
fp = fopen(filename, "r");
0088デフォルトの名無しさん
NGNGすみません、できれば教えていただきたいのですが・・・
0089デフォルトの名無しさん
NGNGありがとうございました
0090デフォルトの名無しさん
NGNGある領域内に長方形が描画されている(入力画像として読み込み)として、
その長方形で平行な線分どうし(縦横各一組)をペアリングして検出する
プログラムをVC++で作りたいのですが、どのような記述にすればよいで
しょうか。
結果の表示方法は、平行だということが言えている様ならどんな感じでも
大丈夫です。どなたか知恵を貸して下さい。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG■■■
■■■
こういう画像があったら、
│
─┴─┬─
│
微分するとこうなる。
↑ ↑
ここに注目すればペアが得られる。写真などの場合はノイズに注意。
0093デフォルトの名無しさん
NGNGこんなのも
0094デフォルトの名無しさん
NGNG#defineで指定している定数値があるのですが
それを外部のファイルから数値を読み込んで設定する方式に変えたいのですが
どのように書けばいいでしょう?
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNG書いてるんですが、もう少しきれいなソースになる気がするんですが、どう変更すればいいでしょうか?
#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平均の式が間違い
まず算数からやり直せ
009896
NGNGint sum=0
for(i=0;i<N;i++){
printf("->");
scanf("%d",&ten[i]);
sum+=ten[i]
}
ave=ten/N;
こんな感じに変更すればいいでしょうか?
0099デフォルトの名無しさん
NGNG#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.
NGNG010190
NGNG返信遅れてすみません。
edgeの抽出は終わってる状態でかまいません。もし分かるなら
教えていただけませんでしょうか。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG公約数じゃなくてそれぞれの約数でいいのか?
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公約数なら、、 と思って作ったら表示してねぇ。まぁいいか。
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;
}
0108102
NGNGすいません、ありがとうございます。
公約数って書き忘れてました。
0109デフォルトの名無しさん
NGNG0110107
NGNG#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デフォルトの名無しさん
NGNGint 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ちょっとまってろ。めしおごれよ。
0114デフォルトの名無しさん
NGNG今日土曜だし、明日日曜だし、早くても明後日までだろ?
0115ジョン
NGNGお願いします。
0116デフォルトの名無しさん
NGNGお前の態度が
気に入らない
0117r
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1027870433_319/bms.c
うそ。インチキ。
インチキなのは、INCHIKI を含む行です。
つか、どうやるんだろう。いくつ足し算をするんだろう。
0118デフォルトの名無しさん
NGNG入力した文字を逆転表示して表示させるにはどうしればいいのでしょうか・・・?
例
こんにちは
はちにんこ
と言った具合です。
0119デフォルトの名無しさん
NGNG{
printf("%c",str[(sizeof(str)-1)-i]);
}
printf("\n");
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG1-tape TuringMachineのプログラムでもいいですか?
0122デフォルトの名無しさん
NGNGお願いします。
0123デフォルトの名無しさん
NGNGはマルチバイトだよ
0124デフォルトの名無しさん
NGNGvoid main(){
char str[256];
gets(str);
for(int i=strlen(str)-1;i;i--){
printf("%c",str[i]);
}
}
0125デフォルトの名無しさん
NGNGerror C2065: 'strlen' : 定義されていない識別子です。とでました・・・
0126デフォルトの名無しさん
NGNGstrlenはstring.hにあるの忘れてた上にマルチバイトも無視するとはな・・・
#include <string.h>
0127デフォルトの名無しさん
NGNG今度は出来ました。
ありがとうございました。
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\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デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGコンパイラは Microsoft Visual C++ 6.0使ってます。
0133デフォルトの名無しさん
NGNGchar[] str = new char[256];
じゃなくて
char str[256];
だな。
0134デフォルトの名無しさん
NGNG今度はOKでした。
しかし DOSでこんにちはと打つと
こんにちは
ヘちにんこ1ress any key to continue
となってしまいます・・・
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGある領域内に長方形が描画されている(入力画像として読み込み)として、
その長方形で平行な線分どうし(縦横各一組)をペアリングして検出する
プログラムをVC++で作りたいのですが、どのような記述にすればよいで
しょうか。
結果の表示方法は、平行だということが言えている様ならどんな感じでも
大丈夫です。edgeの抽出は終わってる状態として結構です。
どなたか知恵を貸して下さい。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139r
NGNGpublic:
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せめてatan2とか使えよ。
0141デフォルトの名無しさん
NGNGchar x,A,B;
printf("AかBを入力してください>>");
scanf("%c",&x);
if(x == A)
{
}
if(x == B)
{
}
こんな感じにしましたが、ifの中身から実行されません。scanfで表示させた文字を
if文に反映させるにはどうすればいいんでしょうか?言語はCです。
0142デフォルトの名無しさん
NGNGchar x,A,B;
printf("AかBを入力してください>>");
scanf("%c",&x);
A = ’A’;
B = ’B’;
if(x == A)
{
}
if(x == B)
{
}
0143デフォルトの名無しさん
NGNGできました。どうもありがとうございます。
0144デフォルトの名無しさん
NGNGここにソースある。これコピペでOKだ。
http://www-igm.univ-mlv.fr/~lecroq/string/node14.html#SECTION00140
0145デフォルトの名無しさん
NGNG旧: ・計算問題は必ず数式自体をあげ、どのような計算をするのか
新: ・計算問題、アルゴリズム問題では必ず数式や手順を示し、詳しい説明を付記してください。
0146デフォルトの名無しさん
NGNGそんな事が書けるようだったら質問なんかするわけないじゃん
0147118
NGNG0148デフォルトの名無しさん
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;
}
0150ジョン
NGNGありがとうございます。でも、コンパイル時にエラーがでます・・・。
0151デフォルトの名無しさん
NGNG「�хavを入力すると正しく動きません。
0152デフォルトの名無しさん
NGNGソースの先頭に
#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#define MAX(a, b)(a) > (b) ? (a) : (b)
の?っていうのはどういうものですか?
0154デフォルトの名無しさん
NGNGreturn b;
else
return a;
を総画
0155152
NGNG#define OUTPUT(x) printf("%d\n", (x)) /* 開始位置の出力(0オリジン) */
#define MAX(a, b) ((a) > (b) ? (a) : (b)) /* 大きいほうの数値を得るよくあるマクロ */
0156デフォルトの名無しさん
NGNGf(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デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGどこがどう判らない?
全部丸ごと一分たりとも判らないなら死ね。
0159デフォルトの名無しさん
NGNG#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#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デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=249
0163デフォルトの名無しさん
NGNG完全に忘れてたよ(;´Д`)
0165デフォルトの名無しさん
NGNG海外向け携帯電話の英文入力インターフェース作ってるんだけど
今日の昼までの期限なんですが未だ出来ておらず…
自宅受験なんですがカンニングではなく情報収集力のテストもかねられてるっぽいんで
ttps://www.52school.com/rits/ans_menu.jsp
とりあえず問題見て感想ぷりーず
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGttp://www.52school.com/rits/ans_menu.jsp
0168デフォルトの名無しさん
NGNG3日くらいほしいな。。
0169165
NGNG独創的なのを作ろうとして*ボタンを切り替えボタンにして、
キーボードのQWERTY配列をキーボード左から3×3マスずつカットして3分割したのを
*ボタンで切り替えてうつって方式やりたいんだけど
切り替えボタンのプログラムがわからないっぽ
0170165
NGNGこゆことです
パターン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デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGオオ同じ穴の狢よw
ところで、オレはオーソドックスにToUpperを使って小文字を大文字に変換するプログラムを作ろうと思ってるんだけど
else if(SensePressedDuration(2) == LONG){//強く押された時
if (status == 10 ){//直前に入力された文字が10[a]なら
DeleteLetter();//[a]を削除し
DisplayLetter(ToUpper(10)); //大文字の[A]に変換、表示し ←ここがかなり間違ってる臭い・・
status = -1;//文字を確定する
}
でいのでしょうか・・・教えて偉い人・・・
0173デフォルトの名無しさん
NGNG終わりそう?
俺取扱説明書で死にそう。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++]);
なぜでしょうか?
どう直したらいいのでしょうか?
おねがいします。
0175173
NGNGelse if(SensePressedDuration(2) == LONG){//強く押された時
ってPressedDurationは長さのやつやのにコメントが「長く」じゃなくて「強く」
になってんの?
0176デフォルトの名無しさん
NGNG配列とかでパターンごとのマップで持つくっといて、
'*'が押されたらマップを切り替えるようなものを作ってみたら?
0177デフォルトの名無しさん
NGNGマルチじゃねぇか。消えろ。
>>174
%sってなんだよ。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGアドバイスさんくすです。
それ考えてたんですが。パターンごとのボタン表示のプログラム(今は3つ繋げられないんでパターンごとに保存してます)
はできているんですが、マップとしてくくるためにどんなプログラム使えばよろしいでしょうか?
0180174
NGNGすっきりしました。
0181デフォルトの名無しさん
NGNGprintf("%c",str[i++]);
じゃないの?あるいは
printf("%s",str+i);i++;
0182デフォルトの名無しさん
NGNG効率よく圧縮を行う方法はどのようなものがありますか?
0183デフォルトの名無しさん
NGNGこっちに書き込むときに間違ってたw
本文は確かめたけどちゃんと短く長くになってた・・
取り扱い説明書は、いろんな所のマニュアルからひっぱってくればいいとおもうよ
創意工夫は・・・むずいw
0184ドシロウトかもしれない・・・
NGNGint ToUpper(int LetterNum)の使い方がちょっとわからなくて・・・
0185デフォルトの名無しさん
NGNGてか海外向けだから説明書は英語じゃなくていいのか?w
0186デフォルトの名無しさん
NGNGランレングス法の問題点は、ランダムな文字列を符号化する場合
かえってサイズを大きくしてしまうことがある
そこで 「ここからn文字先までは符号化をしない――」
ような情報を付加すれば、極端な膨張をおこさずに効率よく圧縮できる。
0187デフォルトの名無しさん
NGNG2つの値(実数)をキーボードから入力し、
それぞれ以下のことを行う関数を作成し画面に表示するソースコードを記述しなさい。
ただし、main()関数と以下の関数は別ファイルに記述し、ヘッダファイルmp用いること。
-�@加算 �A減算 �B乗算 �C除算
-�D大きいほうを出力 �E小さいほうを出力
よろしくお願いします。
0188デフォルトの名無しさん
NGNGmp→も
0189デフォルトの名無しさん
NGNGもしそうだとしたら絶望的だ・・w
0190デフォルトの名無しさん
NGNGそんなときはExcite翻訳で。
#事後チェックを忘れずにw
0191デフォルトの名無しさん
NGNG漏れみたい玄人は暗記パンを使う。
0192デフォルトの名無しさん
NGNGなんていい人たちだ・・
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG//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#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デフォルトの名無しさん
NGNGvoid Add(double []);
void Sub(double []);
void Mul(double []);
void Div(double []);
void Max(double []);
void Min(double []);
0199デフォルトの名無しさん
NGNG0除算チェックは?
0200デフォルトの名無しさん
NGNG0201Cの課題
NGNGint 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する。これを3回繰り返しcount関数から戻る。
自動変数giを+1して表示する。
main関数内ではこの、「count関数を呼ぶ,自動変数giを+1して表示」を3回繰り返す。
main関数内では、giは自動変数としてグローバル変数giとは別に扱われる。
(2)自動変数を初期化しないと、変数の内容は不定(なにが入っているか分からない)
で開始される。
0203デフォルトの名無しさん
NGNG#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食事のあと入浴してから紅茶を飲んだ後に作ってあげるけれど、
言語はCでカラーのPSDフォーマットの画像をグレイスケールのPSDフォーマットの画像
に変換するんだね?
0205デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGホトショップ
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG単純に>203みたいには読めないと思うのだけど。
0212デフォルトの名無しさん
NGNGだれか知らない?
0213デフォルトの名無しさん
NGNGでもなきゃ、そんな宿題でないはず…。
0214デフォルトの名無しさん
NGNG関数からで.midiの再生をするプログラムを作ることは可能ですか?
.wavの再生にはPlaySound関数を使ってるのですがwavはファイルサイズ
が大きすぎて人に渡すプログラムを作るときに困ってしまいます。
もし再生する方法をどなたかご存じでしたらお願いします。
0215デフォルトの名無しさん
NGNGとてもすれ違いです
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG217>>アフォだからわかんなかったんだよ
0219デフォルトの名無しさん
NGNGttp://www.wotsit.org/download.asp?f=psd3_4
0220デフォルトの名無しさん
NGNGうへっ、めんどくせ。>204は満漢全席でも食べに行ったのか、一向に仕上がってこないから
フォーマットが来たことだしちょっとやってみようかと思ったら……
ImageMagickでも拾ってこいって感じだな。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGttp://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デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG軽量カップみたいなものを想像すればよろしいのでしょうか?
それとも、メジャーみたいなもののほうがいいのでしょうか?
0226デフォルトの名無しさん
NGNGNASAが開発した新素材かなんかを想像すればよろしいのでしょうか?
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230常識人
NGNG厨房は確かに、私のスーパープログラムの作成を阻害し、
またそれにより、私のスーパープログラムを、お目にかかることのできなくなった
このスレの住人には大損失です。
ですか、そもそも宿題を丸投げする人種は厨房なのです。
自分に利益をもたらす厨房(自己満足、優越感、技術向上を与えてくれる)は、歓迎し、
そうでない厨房(ネタレスをする厨房)は貶める。これはただのわがままです。
つまり、厨房ということになります。
厨房をこのスレでは許容すべきです。
お前が厨房だという意見は受け付けないので悪しからず。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG日本語の勉強をしましょう
0233デフォルトの名無しさん
NGNGそりゃあ、君にはかなり難しいかもしれないがな・・・・
0234常識人
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGまたあなたですか?
どうして、あなたはわざわざ、長文を書いてまでこのスレを荒らすのです?
スーパープログラムですって?なんですか、スーパーって?
プログラマー以前に、人間として恥ずかしくないのですか?
もし、私だったらそんな生き恥をさらす前に、死を選ぶところです。
常識人さん。
わたしはこれまであなたに、「もう来ないで下さい」
そう言い続けてきました。
ですが、今日はあえて言わねばなりますまい。
常 識 人 死 ね。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG>>236
お前は少し言いすぎなんじゃねーの?
”死ね”なんて軽々しく人に対して言っていいもんじゃない。
せめて”氏ね”とかにして”死”という字を使わないのが2ちゃんの常識。
そういう意味でお前は常識知らず。常識人のほうが
常識を持っている分だけまし。
もうこないでほしいのはお前のほうだ。常識人は、宿題が枯渇しているときの
俺たちの心のオアシス。
水がなければ俺たちは死ぬ。>>236、お前は俺たちを殺すつもりか?
殺される前に、俺はお前のことを警察に通報するつもりだ。
0239デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGtemplate< T_>
int henkan( T_ arg_ ){
return 1;
}
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG古田もきてるしな。
0245デフォルトの名無しさん
NGNGC言語の課題のアルゴリズムを書かなくちゃいけないレポートなんですけどそれでもダメですか?
0246デフォルトの名無しさん
NGNG問題見て判断
0247デフォルトの名無しさん
NGNG1.要素の数256の文字型配列str1, str2を宣言する。gets 関数を使ってstr1にキーボードから文字列を入力し、
ポインタを使ってその文字列をstr2にコピーするプログラムを作りなさい
2.入力された英文字列を、すべて大文字に変換して出力するプログラムを、
ポインタを使って作りなさい。
0248デフォルトの名無しさん
NGNG関係者ですが、自分でやりなさい。
0249デフォルトの名無しさん
NGNGこのプログラムを基にポーカーの役判定アルゴリズムを完成させてください。
※トランプ52枚のカードはスペードのエースが0…スペードのキングが12…
そしてクラブのキングが51というように整数で表します。ジョーカーはなしです。
0250デフォルトの名無しさん
NGNGもちとまともなのを基に汁!
0251デフォルトの名無しさん
NGNG1
#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ポーカーのルールがわからない俺は(ry
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
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デフォルトの名無しさん
NGNGhttp://www.japan-poker.net/game/p_game.htm
0259デフォルトの名無しさん
NGNGありがとうございます。
一応一通り判定はできるようになりました。
あと、同じマークのカードが4つ来たときに
フラッシュを狙うための方法を考えているのですが
うまくいきません。もしよければ教えていただけませんか?
0260デフォルトの名無しさん
NGNGそれはもうスレ違い
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGすべてQで、ハニーフラッシュな。
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG/* 捨てるべき、手持ちのカードへのインデックスを返す */
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誰かこれを分かりやすく説明して下さいお願いします
0269デフォルトの名無しさん
NGNG見たまんまだろ?
これ以上、何を説明しろと?
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG何が知りたいのかよく分からん。
「プログラム変数の受け渡し方法の違い」って何よ?
同じ出力結果になるソースを提示されても非常に説明しづらい。
違う結果になるソース貼られて「どうして違うの?」なら答えやすいけど。
0272デフォルトの名無しさん
NGNG全部グローバルで宣言すればええやん
なんでわざわざそんな面倒なことするん?
とエスパってみる(リンク先すら見てないので見当違いかも)
0273268
NGNG>>この二つのプログラムの変数の受け渡し方法の違いを
「の」が抜けてましたね
自分も答え方が分からなくて困ってます
0274デフォルトの名無しさん
NGNG掲示板(グローバル変数)を使うかの差。
なんて答え方すればいいのだろうか。
0275デフォルトの名無しさん
NGNG戻り値がeaxに入ってくる、とか
なんかソッチ方面の気がしね?
あとは何だ、再帰してたり再入してたりすると
アレだったりとかよ。
0276デフォルトの名無しさん
NGNG>関数の呼び出し時に値がスタックに積まれる、とか
これは処理系依存。レジスタ渡しだって普通にあるぜ
0277デフォルトの名無しさん
NGNG言われてみりゃそうだな。Winでも fastcall だとレジスタ渡しか。
__declspec(naked) で自前で fastcall やろうとして暴走させたりしてよw
まーでも学校の課題だしよ。センコーも難しーことは考えてなさそーくね?
もれはソッチ方面にジェンキン寿司禁固1年賭けんぜ。ウヘヘ
0278デフォルトの名無しさん
NGNG答え方が解らんといっているくせに、
当の問題文を改変せずに
そのまま載せようとしない奴には
回答のしようがない。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGで、>>279 はどういう風に解釈した?
0281デフォルトの名無しさん
NGNGb(0)=1
a(n)=a(n-1)+b(n)
b(n)=b(n-1)*1.1
で与えられる数列を、a(n)が30以下の間表示せよ
変数がいっぱいで意味わからない。゚(゚´Д`゚)゜。
おねがいしまs
0282デフォルトの名無しさん
NGNG#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#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#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#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;
}
どのへんが変数多いんだろう?
0286285
NGNGdouble a=b=1.0;
0287デフォルトの名無しさん
NGNG今の所正解は>>284だけだ。
0288デフォルトの名無しさん
NGNG>>285
for (i=1; i<=30; i++) {
だな
0289デフォルトの名無しさん
NGNGそうしても>>285の場合はa(0)がなくてa(31)が余分になるんじゃない?
0290デフォルトの名無しさん
NGNGそりゃ「nが30以下の場合」だろ。頭悪いのか?
0291デフォルトの名無しさん
NGNG馬鹿。>>284 は唯の勘違い野郎だ。
問題文には「数列」と書いてあるだろうが。
0292デフォルトの名無しさん
NGNGa(n)が30以下の間表示せよ
a(n)が30以下の間表示せよ
a(n)が30以下の間表示せよ
0293デフォルトの名無しさん
NGNGアホばっかだな。
0294デフォルトの名無しさん
NGNGだから>>284が唯一の正解なの。今のところ。
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG厨房なので許してあげてください。
0297281
NGNGいっぱい書いてもらったところ恐縮なんですが
while文使ってできますか?
0298デフォルトの名無しさん
NGNG#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全然分かりません.どなたかプログラムを作ってくれませんか?お願いします.
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#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デフォルトの名無しさん
NGNGstd::cout << "a(" << n << ") = " << a << ", b(" << n << ") = " << b << std::endl;
→
printf("a(%d) = %lf, b(%d) = %lf\n", n, a, n, b);
ね。
死らな刈田だろう。
0303デフォルトの名無しさん
NGNG#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ちなみに2000年12月31日から経過した日数ならtmとtm2をdifftime()の中で
ひっくり返せ。
0305デフォルトの名無しさん
NGNG「西暦と年月日」というのはおかしいので、「年月日を年を西暦で」か何かに
読み替えてくれ。
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デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG>>scanf("%s",a);
ネ申
0309デフォルトの名無しさん
NGNG0310306
NGNGエラー表示は「"0x77f627fe"の命令が"0x00000004"のメモリを参照しました。メモリが"read"になることはできませんでした」というものです。
スミマセンでした。
0311デフォルトの名無しさん
NGNGchar *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デフォルトの名無しさん
NGNGchar a[100];でもいいんじゃないか?
0313デフォルトの名無しさん
NGNGコンパイラに怒られたよ
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGchar buf[100];
char *a = buf;
0317デフォルトの名無しさん
NGNG0318306
NGNGprintf("?",*(a+2));
「?」は?
0319デフォルトの名無しさん
NGNG↑
このへんが「?」
0320デフォルトの名無しさん
NGNG%sが文字列
>>318
どんな本使ってるんだ?
もしかして釣り?
0321839
NGNG式は
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デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGttp://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H12a2/pm01.html
ここの問1のプログラムをCで構造体を使わずに作るのですが
訳解らず困ってます。
どなたか御教授願えませんでしょうか。
0326デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1097932699/325
を送りました。
0327デフォルトの名無しさん
NGNG入力したとき、その歳の干支を出力するプログラムを作りなさい。
文字型配列etoに{"子","丑","虎",〜・・・"戌","猪"}を格納。
入力された数値と1900の差を12で割った余りでその年の干支を特定すればよい。
ポインタを使ったほうが、プログラムが簡単になる。
この問題が宿題として出されたんですが、どなたかお願いします。
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGフローに 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ポインタを使ったほうが簡単って
char* eto[]={"子","丑"....};
の事かぁ?
printf("%s\n", eto[(In-1900)%12]):
これだけ書けば良いだろ。
0331デフォルトの名無しさん
NGNGということで回答。
#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デフォルトの名無しさん
NGNGdouble *a;
と書くと思いますが、
double* a; てのとどう違うのですか?(*の位置?両方あっているの?)
0333デフォルトの名無しさん
NGNGそれは本当に宿題なのか?
0334デフォルトの名無しさん
NGNG意味は同じ。
前者が昔風、後者が最近(といっても10年くらい前)からの流行。
「double* までが型である」という主張に元ずく。
double* a, b;
だと b の型は double になるのが気持ち悪いので、後者で書くときは1行1変数が
一般的。
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG基づく
0340デフォルトの名無しさん
NGNG* a,
* b;
0341デフォルトの名無しさん
NGNG「元ずく」という表記は何時頃からの流行でつか?
0342デフォルトの名無しさん
NGNGpointer_to_double a, b;
0343デフォルトの名無しさん
NGNG一問目
整数を入力し、入力した数値の二乗を出力するプログラムを作成せよ。
ただし、入力した整数を引数とし、その二乗を復帰値とする関数を作ること。
二問目
時間を(0〜23)を入力し、以下のような挨拶を出力せよ。
ただし、関数には入力した時間を引数として渡し、復帰値は無いこと。
0〜3 Good Night
4〜11 Good Morning
12〜16 Good Afternoon
17〜20 Good Evening
21〜23 Good Night
0344デフォルトの名無しさん
NGNG{
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が消えちゃってら。マンドクセ
0346デフォルトの名無しさん
NGNG0347343
NGNG三問目
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挨拶の中の空白は全角だYO!
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGvoid 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デフォルトの名無しさん
NGNG5
#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デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNGatanの定義は?
0355デフォルトの名無しさん
NGNGふつーM_PI (@math.h)
0356デフォルトの名無しさん
NGNGuva では使えない
0357デフォルトの名無しさん
NGNGスレタイ嫁
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デフォルトの名無しさん
NGNGx^4 + A*x^3 + B*x^2 + C*x + D = 0
を A, B, C, Dを与えて、虚数解を含む4つの解を求めたいのですが
上手くいきません。どうかお願いします。
0360デフォルトの名無しさん
NGNG配列の最大値と最小値を求める関数を作成しなさい。
最大値と最小値の表示は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何をどの順番にソートするんだ?
>>360
ソートとアルゴリズムで検索してくれ
4次は無理です…
解き方いろいろありそう
0362デフォルトの名無しさん
NGNGんで、要素2番目から比較汁!
0363デフォルトの名無しさん
NGNG>別の変数名例えば”int Max = 0”を宣言
えーっと、パラメータの *x,*y そのまま使え(w
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGvoid 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何故でしょうか?^^;。分かる方ご指摘下さい。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> 三問目
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;
}
0369r
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1027870433_324/sort.zip
0370デフォルトの名無しさん
NGNGとりあえず突っ込みどころ、
sqrtの引数、(double)でキャストしてあげましょう。
if(F>0.001)、Fの値が未定義です。全て偽になってprintf文が一回も呼び出されません。
printf文内、%.41fは小数点以下41桁出します。nmは謎です。指数を使いたいなら、eを使いましょう。
とりあえず5時間何を考えてたのか知りませんが、適当なところでprintf文埋め込んでデバッグしていくのがいいかと思われます。
また、うまくいかないのは何なのか、しっかり答えましょう(コンパイルがうまくいかない、実行中エラーが出る、値が違う、など)
がんばってくださいね。
0371370
NGNG0372370
NGNGint 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デフォルトの名無しさん
NGNG0375373
NGNG指定されていませんが、おそらくある程度大きなフィールドを用意しなければ
いけないと思います。30×30の行列くらいで考えていただけないでしょうか。
もし不都合ならば、多少いじっても大丈夫だと思います。
0376デフォルトの名無しさん
NGNGクラスでやるのも面白いだろうけど、373はそこまでやる気あるとは
思えないし。
0377367
NGNG明らかに勉強不足でした。それと説明不足で申し訳ありませんでした。
5時間一体何をやっていたのでしょうか?^^;。やはり基本的なところ
に穴があるようなので、もっとCの事を勉強しなくてはと思いました。
本当にどうもありがとうございました。
0378デフォルトの名無しさん
NGNGiとj,nを指定してある中で下記のようなプログラムを作りました。
do{
t = rand()%n+1;
}while(t==i&&t==j);
i,j≠tであるtが欲しいのですが、実行してもi=tやj=tのときが
あります。do whileの継続条件にこのような書き方は認められない
のでしょうか?だとしたらどのようにかけばよいのでしょうか?
0379デフォルトの名無しさん
NGNGt = rand()%n+1;
}while(t==i||t==j);
か?
0380378
NGNGありがとうございます!実行したところできました!
そうですよね、かつではなくまたは、じゃないと
明らかにダメでした…助かりました☆
0381デフォルトの名無しさん
NGNGとかのとき
t = i と t = j
が同時になりたつことなんてないだろw
0382373
NGNG二次元配列・・・。そんな言葉が授業中出てきたような気がします。。
自分で考えるべきなのは承知してますが、助けてもらえないでしょうか・・・
0383デフォルトの名無しさん
NGNG二次元配列だったらググった方が絶対に早いぞ
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGっていうのはわかるの?
わからないと相当説明がしんどい。
0386デフォルトの名無しさん
NGNG0387373
NGNGはい、左の[]が行で右の[]が列を表すんだと思います。
for文を使ってループだの、和をsumに足しこむなどするんだと
思うんですが、それをプログラムの記述にしたときのルールと
いうか、順番というか、表現方法がいまいち分かりません。。
0388デフォルトの名無しさん
NGNG空白で区切られた2つの正の整数を標準入力から読み込んで、そのまま標準出力へ書き出すプログラムを作成しなさい。
ただし以下の条件を満たすこと。
1、scanfは使わない。
2、行の先頭にある連続した空白は無視する。
3、2つの整数は複数の空白で区切られてもよい。
4、最初の2つの整数以降の文字は無視する。
5、数字以外の文字が含まれている場合(4f ,343kd 等)は0とする。
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGそのあと、strtolを二回呼び
最後にprintf
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGまじめにやってみた。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=251&fi=no
0393392
NGNG最初の while を 無限ループではなく。
while( *word_start )
としてくれ。
こうしないと、1ワード + スペースだけしか入力されなかったとき、無駄な0が出力される。
0394デフォルトの名無しさん
NGNGちゃんとみてないが、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デフォルトの名無しさん
NGNGint 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#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適当に名前を入力すると、名前のアルファベット順にソートして出力する。
入力件数は最大5件とする。
名前はローマ字表記とし、半角大文字で入力する。
名前入力の時に改行のみを入力するか、5件入力されたら、入力を打ち切る。
ソートのアルゴリズムは単純選択法を用いること。
0398デフォルトの名無しさん
NGNG"-1"は番兵である。 これ私に教えてください〜!!
0399デフォルトの名無しさん
NGNG複数のスレで聞く行為はマルチと呼ばれ、一番最低の行為です。
0400r
NGNGソート部分は作った。
入力部分は自分で作れ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=325
0401デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG誰に対する何のレスなんだよ。
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGあと客観的思考が足りないとか。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNG404なのにForbidden?
0411デフォルトの名無しさん
NGNGとりあえずその相手をおちょくってるような顔文字やめろ
0412デフォルトの名無しさん
NGNG自分で調べたところまでを書くとかなんとか…
せめて予想でも.
いきなり,もってきてわかりませんじゃ,答えてくれないよ
0413モウモウ
NGNGこことか読めばわかるんでないの?
http://www1.cts.ne.jp/~clab/hsample/Sort/Sort1.html
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG他のスレに来られると困るんだよ。
0416モウモウ
NGNGその宿題かたずけないと、先生に怒られるの?
せっぱつまっているんなら教えてあげてもいい。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGというか
>>413
読めって.
こうしている時間に勉強したら解決したんじゃない?
0420373
NGNG0421モウモウ
NGNGこれでいいだろう。たぶん。
#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;
}
0424デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG0427モウモウ
NGNGprintf じゃなくて cout を使ってほしいってこと?
0428デフォルトの名無しさん
NGNGやってもらって礼もいわずに書き直せだから常識がないと言われるんですよ.
0429373
NGNG月曜日までに作るように言われてるんですが、知り合いのいない授業
でして・・・。できないと怒られるというより、単位がでないかもしれ
なくてかなり困ってる次第です。どうか教えてください。
0430デフォルトの名無しさん
NGNGやろうと思ったけど問題の意味が分からない。
100行100列のフィールドと、別のフィールドを造るってこと?
0432373
NGNGそうです。お願いします。
0433430
NGNG0434デフォルトの名無しさん
NGNG使っていいかとか。それによってはコード量も違う。
0436デフォルトの名無しさん
NGNG彼のため、というのならそもそも答えてあげるのが間違いだ罠
0437430
NGNG0438373
NGNG用意して、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列の窓枠をシフトしていってそれぞれの総和が順次代入
されていくようなプログラムです。説明が足らずすみませんでした。
0439373
NGNGに訂正です。。すみません。
0440430
NGNG0441373
NGNGはい、そうです。すごく助かります。。
0442デフォルトの名無しさん
NGNGほんとにいいのか?
第3者から見ても、
おそらく>>373の考えてるレベルと>>440が書こうとしてる内容は
結構ギャップがあると思うぞ
見栄張らず、Cで書いてもらったほうが勉強という意味でも適正レベルだと思うぞ
0443373
NGNGVisualC++だったと思うんですが、それってC++ということではないの
でしょうか?
0444デフォルトの名無しさん
NGNG0445430
NGNGmalloc 使いたくないだけなんでw
0446デフォルトの名無しさん
NGNGあんた誰?
0447デフォルトの名無しさん
NGNGC++というのはC言語の拡張版、といったところ
C言語と記述方法は互換性あるけど、別物と考えてもいいぐらい
なので、C言語もろくすっぽに理解してない場合はC++なんて到底理解できない
0448モウモウ
NGNGprintf(" %g", data[i]) のところを cout << " " << data[i]
printf("\n") のところを cout << "\n" もしくは cout << endl にするだけ。
ちなみに私はもう寝るからな。
0449373
NGNG本当に助かります。よろしくお願いします。
>>447
授業がC++だと思うので提出もC++だと思います。
作っていただくプログラムを頑張って理解したいと思います。
もし、わからないところが出てきたら質問するのでそのときは
よろしくお願いします。
0450デフォルトの名無しさん
NGNG0451373
NGNGはい。。430さんをはじめ、すみませんでした。
0452デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=252&fi=no
正直へんてこなコードになった。
C++ 使いつつあんまり C++ っぽくしないようにしたんで。
かといって、初心者に優しいわけでもないんだな、これが。
0453デフォルトの名無しさん
NGNG多分勘違いのままだろうから説明加えとく
おそらく授業というのは
「VisualC++という名前のソフトウェアを使ったC言語」の授業だろう
この「VisualC++」が「メモ帳」であってもC言語やC++言語は勉強できる
ソフトの名前にC++が付いていても
C++言語を授業として扱わない限りC++を習っていることにはならない
そもそもC++が理解できるレベルならこういう宿題もぱっぱと済ませられる(はず)
っていうかそもそもそんな宿題出さないね
この勘違いのままスレ違いな発言して追い出されてマルチということはするなよ
0454デフォルトの名無しさん
NGNGちょっと待て。100*100の行列を別に用意したとして、
辺や隅はどうするんだ。
0455281
NGNG全部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普通に>283でいいんじゃない?
それとnの初期値は0にしてね
0457デフォルトの名無しさん
NGNGcoutやclassを使えというなら、そのことを書くべき
CとC++が全然別の言語とでも思い込んでるんだろ
0458デフォルトの名無しさん
NGNG文字列strを空文字列にする関数
void null_string(char str[])
を作成し作成した関数を実行する
プログラムを作成せよ
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGstr[0] = '\0';
}
int main(void){
char str[] = "クマー";
null_string(str);
return 0;
}
0461デフォルトの名無しさん
NGNGprintf()の"%lf"は(基本的に)間違い。
また、"%f"よりも"%g"をお奨め。
0462デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGそこでC99
0465デフォルトの名無しさん
NGNGcoutを大文字で書くヤツ初めて見た
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469373
NGNG助かりました。ありがとうございました!
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;
}
0472マイク ◆yrBrqfF1Ew
NGNG0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGここを突けってことか?
0475マイク ◆yrBrqfF1Ew
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG俺はできるが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
NGNG0479マイク (仮)
NGNG0480デフォルトの名無しさん
NGNGてか'\0'ってのが不可解だ。
0481デフォルトの名無しさん
NGNGどうやるの?
0482480
NGNGあとは128に132分読み込んでるって事か。それでbufferがあふれるわけだな。
これで十分だろ。答えになっちまうよ。
0483デフォルトの名無しさん
NGNGここはチートスレじゃないんだぞ?
0484デフォルトの名無しさん
NGNG宿題をドゾー
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0488マイク(偽◇yrBrqfF1Ew
NGNG0489デフォルトの名無しさん
NGNGスレが荒れる傾向にあるな。
0490マイク ◆yrBrqfF1Ew
NGNG0491デフォルトの名無しさん
NGNGhttp://www2.alc.co.jp/ejr/index.php?word_in=cheat&word_in2=reedeirrf&word_in3=zJPa7DCxJ15687987t
0492マイク ◆yrBrqfF1Ew
NGNG0493デフォルトの名無しさん
NGNGん?このリンク先知らない?
英辞郎だよ
0494マイク ◆yrBrqfF1Ew
NGNG0495476
NGNG土下座して出て行け
・処理系依存方法しかない
・1バイトオーバーライトで、(恐らく)pushされてるebpを書き換える
・関数エピローグでスタックをbufferに向けてeipを変更する
0496デフォルトの名無しさん
NGNGだったら今知ればいい。
英語に通じている人でも、ときどきこの英単語を日本語ではどう訳せばよいのか、
と思うことがあるよね。
特に専門用語では訳が難しい。
エルミート作用素、演算子、どっちがいいの?とか。
0497496
NGNG0499デフォルトの名無しさん
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真摯さが足りん。
君は人の言葉に対して敬意がない。
君は情報をあたえてもらったのだから、そのことに対して「よかったな。」の一言か?
それはあまりに無礼だ。
常識人に常識を教えてもらったらどうだ?
0501デフォルトの名無しさん
NGNG#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言語は?
> a b = 64.2 22.8
ここから
> a=64.19997, b=22.799999
何でこうなるの?
> この場所で入力した実数値を整数値に変換した値を表示しておく
切り上げ?切り捨て?四捨五入?
0503デフォルトの名無しさん
NGNG低レベルの人は書き込みをご遠慮ください。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGそこで↓な感じで作りましたがうまくいきません。初心者なのですが、分かりやすい解説お願いします。
下記のとおりな感じでお願いします。
#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デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGまず、「文字型のポインタ」と言う表現をそのままとると、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ポインタ変数に数字を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デフォルトの名無しさん
NGNGint main(void)
{
char *s = "12345";
printf("%s\n", s);
return 0;
}
0511508
NGNGint 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デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNGまた斬新な回答を・・・
#include <studio.h>
になってるからネタか?
0514デフォルトの名無しさん
NGNG#include <studio.h>は別として
0515デフォルトの名無しさん
NGNG全然斬新じゃない。
C言語のプログラミング入門的講義では、まず間違いなく一人はstudio.hと書く。
0516デフォルトの名無しさん
NGNGと、言うことはみな「スタジオ」と読んでるのか?
君を含めて( ̄ー ̄)ニヤリッ。
0517デフォルトの名無しさん
NGNGスタジオどっとえいち
と習いました
0518デフォルトの名無しさん
NGNGノД`、)
0519デフォルトの名無しさん
NGNG・「ID」「名前」「年齢」を要素にもつ構造体INFOを作成しなさい。
ただし、名前は動的メモリにて確保するものとする。
・scanf関数から「名前」と「年齢」を入力し、
動的メモリを用いて、どんどん何人分でも追加できていけるソースコードを記述しなさい。
この2つで1つのソースコードです。
よろしくお願いしますー
0520デフォルトの名無しさん
NGNG不可能
0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGのtemplate <class T> static T abs(T a)って何を意味しているんですか?
0523デフォルトの名無しさん
NGNG0524519
NGNG0525デフォルトの名無しさん
NGNGどう呼んでいようが聞いていない学生はいるものだ。
0526デフォルトの名無しさん
NGNG#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;
}
0527526
NGNGint 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;
}
0528526
NGNGcharname -> char name
intage -> int age
名前を end にすると終了して入力されたのを表示する。(それぐらい判るか)
0529デフォルトの名無しさん
NGNG返却を完了する月とその月の返却額を計算するプログラムを教えてください。
0530デフォルトの名無しさん
NGNGクレ板にイケ
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNGいくらなんでもそれぐらいはできるだろ?
0534デフォルトの名無しさん
NGNGvoid 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デフォルトの名無しさん
NGNGwhile(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デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGgoto推奨みたいに受け止められたらかなわん
0539デフォルトの名無しさん
NGNGありがとうございます。参考になりました。
0540デフォルトの名無しさん
NGNGあとwhileの中とか直しといて
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
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禿って誰ですか?
0544デフォルトの名無しさん
NGNGvoid 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");
}
0547541
NGNGワロタ
漏れが言ったのはまあこいつのことだが、上級者には違いねぇ
http://pc5.2ch.net/test/read.cgi/tech/1095113801/
0548541
NGNGhttp://www.research.att.com/~bs/←こいつ
0549デフォルトの名無しさん
NGNGBjarne Stroustrap(C++の作者)のこと
0550デフォルトの名無しさん
NGNGそいつバカ
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デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNGそれだけでは、情報不足でなんともいえない。
考えられることは。
(1) インサート処理がうまくされていない。(setのバグ)。
4のうしろのちゃんと5がリンクされているかどうか確認汁。
(2) 表示ルーチンのバグ。
ちゃんと0-4-5 とリストは出来ているが、全部表示できていない。
どっちかだろうな。
0554デフォルトの名無しさん
NGNG全ソースを示すなりしなければ何も相手に通じないぞ。
0555デフォルトの名無しさん
NGNGint 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なんでそう思ったのか、興味あるな。
関係なさげだが・・。
0557デフォルトの名無しさん
NGNG試したんですけど、やっぱり見えていない部分の数字は消えていました・・。
>>555
すごいっす!できました。
ありがとうございます!
>>554
すみません・・。
0558デフォルトの名無しさん
NGNG0559555
NGNGindexの場所によらずサイズが増えるので 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デフォルトの名無しさん
NGNGadd(p,nil); // 最低1つ追加
while (index >= size(p)) add(p,nil); // 足りなければその分追加
0562デフォルトの名無しさん
NGNG必ずaddしないとならないのか・・・。
setのつくりが分からんから、確かなことは分からないけど。
0563551
NGNG/* 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を用いて,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あんだって?
0566デフォルトの名無しさん
NGNG2,ササキ,タムラ,アオキ
3,シムラ,カトウ,タカギ
(↓つづく)
:
:
半角数字につづき名前が並んだ、
カンマで区切られたN行4列のname.txtがあるとして、
このファイルを読み込み文字配列char yasai[128][4]に入れなさい。
ファイルのテキストの行数は128未満であるとする。
C言語です。お願いします。
0567デフォルトの名無しさん
NGNGchar* yasai[128][4]; に入れるなら可能だが...
0568566
NGNG0569デフォルトの名無しさん
NGNG#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 );
0570569
NGNGwhile( 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;
}
0571569
NGNGinti -> int i,
charbuf ->char buf
0572デフォルトの名無しさん
NGNG直線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ハズイ奴
0575デフォルトの名無しさん
NGNGあんた、変数の定義のときにタブを入れる癖があるだろ。
だせぇからやめようぜ。
0576デフォルトの名無しさん
NGNGプッ
0577デフォルトの名無しさん
NGNGなんでだせぇの?
0578デフォルトの名無しさん
NGNGメリットがねぇだろ。
0579デフォルトの名無しさん
NGNGデメリットはあるのか?
0580デフォルトの名無しさん
NGNG位置をそろえるのに使ったら見やすいよ
0581デフォルトの名無しさん
NGNGおまえさんのソース提供だけは断るYO
>>578
メリット:
タブ幅のスペースを\t(タブ)に変更したらサイズが小さくなる
>>580
デメリット:
?
0582デフォルトの名無しさん
NGNGナウでヤングな若者の感覚じゃダサイのか。
0583デフォルトの名無しさん
NGNGint, doubleくらいならいいが、const char * も揃えるのか?
くだらねぇ。
あ、インデントにタブを使うなら賛成。つーか、スペースを4つも入れるな。
0584575ではないけど
NGNGそれにタブって機種依存しなかったっけ?記憶が薄いが。
>>581
ファイルサイズなんて・・・
まあプロポーショナルフォントを常用する人にはメリットがでかい気もする。
そんな俺はインデントにタブ使う。orz
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGある数xとyのそれぞれの約数とxとyの最大公約数、そして最小公倍数を計算しなさい。
ただし、関数副プログラムまたはサブルーチン副プログラムのどちらかを用いること。
0587デフォルトの名無しさん
NGNGほほぅ。C/C++言語のスレでFORTRANか。狂ってるな。
0588デフォルトの名無しさん
NGNGプログラマなら常識
0589569
NGNGここで晒すソースにタブ使わないほうが良いのは確かだな。
>>583
const char* どころか CLongLongNameClass とかが有っても揃えてるな。
見た目で変数名定義が揃ってると気持ち良いので...そろそろ止めようかとも思うけど。
0590569
NGNGvi のタブ幅を変更できる奴が居なかったてのが理由なんだが...
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG細かいこと言うなよ。C/C++もFORTRAN70もたいして変わらないだろ。
0594デフォルトの名無しさん
NGNGケチな事言うなよ。お前がスパっと答えればいいだろ。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG整形したきゃ自分でやれ
そんなの人にやらせることか
0597デフォルトの名無しさん
NGNG自分が初心者のときそうだったからと言って、他人まで同じだと思わないほうがいいよ。
0598デフォルトの名無しさん
NGNG>>最近のキーボード
0599デフォルトの名無しさん
NGNG一度にそのスペース群を飛ばせるエディタなんてあるの?
そもそもそんな挙動してたらタブと変わらんと思うが
>>598
ノートで十字キーのそばにあるならOK
0600デフォルトの名無しさん
NGNG例えばNが3だとしたら、
A1x+A2y+A3z=B1
A4x+A5y+A6z=B2
A7x+A8y+A9z=B3
このAとBの値を入力してx,y,zを出力させるようなプログラムです。
0601デフォルトの名無しさん
NGNGvi
emacs
及びその他諸々。
0602デフォルトの名無しさん
NGNG先ずはそのような解を求める方法を教えてください。
0603デフォルトの名無しさん
NGNG掃き出し法でもAの逆行列をBにかける方法でもなんでもいいです!
0604デフォルトの名無しさん
NGNG>602はリア厨以下だからそれを知らないのだよ。
0605デフォルトの名無しさん
NGNGここはC/C++の宿題を片付けるスレだ
学校の宿題は自分の机で片付ける方が将来の為だぞ
0606デフォルトの名無しさん
NGNGこのスレが何故あるのか知らないのか?
0607デフォルトの名無しさん
NGNG600はC/C++の宿題じゃないの???
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG書き込めればなんでもよかった
いまは反省しているΛ||Λ
0611デフォルトの名無しさん
NGNGキーボードから入力したの実数のビット列を表示するプログラムを作文しなさい
(32ビット表示し、4ビットごとにスペースで区切る)
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNGJavaならデフォルト関数で一発だ。ハイ解決
0615デフォルトの名無しさん
NGNGろく いちいち
きょう、キーボードからにゅうりょくした
じっすうのビットれつをひょうじするプロ
グラムがしゅくだいにでた。じょうけんと
して32ビットひょうじし、4ビットごとにス
ペースでくぎるようにいわれた。
0616611
NGNG[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デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG初心者に手取り足取り教えてやるすれではないんだけどな・・・・・・(´-`)y-┛~~
0620デフォルトの名無しさん
NGNGじゃ、お前がやってあげればいいじゃん♪
0621デフォルトの名無しさん
NGNG{
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;
}
0622621
NGNGどこが悪いかくらい自分で考えてね
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG空白なら、等幅フォントの場合絶対ずれないし。
0627デフォルトの名無しさん
NGNGおいおい、問題文が正しいなら実数だろ?
>621は整数だぞ。
0628デフォルトの名無しさん
NGNG(setq-default indent-tabs-mode nil)
0629デフォルトの名無しさん
NGNGインデントで使うなら4カラムごとだろうが8カラムごとだろうが問題ないっしょ。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNG0633再挑戦
NGNG#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>>611
NGNG#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;
}
0635634
NGNG0636デフォルトの名無しさん
NGNGunsigned char buf[sizeof(float)];
後はループで
0637デフォルトの名無しさん
NGNGint is_little_endian(){
char ch[2];
*(int*)ch = 1;
return ch[0] == 1;
}
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGこれで良いと思うのだが...
『入力した実数のビット列を表示する』って書いてるからバイトオーダーなんか意識
する必要ないのでは?
#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亀レスだが一つだけ逝っておきたいことがある
のっとふぁうんど
でした。すいませんごめんなさいもうしません。゚(゚´Д`゚)゚。
0641600
NGNG0642デフォルトの名無しさん
NGNG掃き出し法
0643デフォルトの名無しさん
NGNGここから自分で探せ。
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アルゴリズムはそこらじゅうに落ちてたから、後でトリッキーなコード
考えてみる。一日ほどまたれい。
0645デフォルトの名無しさん
NGNGhttp://www.fuka.info.waseda.ac.jp/~kozo/suuchi/simple_equation/simple_equation_2.html
0646デフォルトの名無しさん
NGNGnum[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デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNGnum[256] にして全文字の出現回数を取得→見たい文字だけ出力
が一番普通で早いと思うぞ。
お前さんのはトリッキー。
0649デフォルトの名無しさん
NGNGどうもです。やってみます。
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そういえばコメント消すの忘れてたw
ハズカシ
0652デフォルトの名無しさん
NGNGバグを教えて下さいお願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html#1
0653デフォルトの名無しさん
NGNGタイミング的にこれかな?
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=328
他人に余計な手間掛けさせるなや。
0654余りにも単純なTypoだ
NGNG>・エラーは、その行とエラーの詳細を書きましょう。
>エラーメッセージが出た場合はそのままコピーしてください。
つーか、>1を100辺くらい読め。
そして己の書いたソースを穴が開くほど読め。
0655ネムー
NGNGフーリエガラーキン法を用いて、ガウシアンパルスf(x)=exp(-100*x^2)を
微分するプログラムを教えて下さい。
xの範囲は-1〜1で、f(x)の値としてはガウシアンパルスを
128等分した離散値を使うものとしてください。
言語はC++でコンパイラはボーランドC++コンパイラーです。
GNU Scientific Libraryが移植済みです。
0656デフォルトの名無しさん
NGNG2桁以上の任意の整数を入力して、数字の桁を入れ替えるプログラムを作る問題です
例…1234→4321
誰かお願いします
0657デフォルトの名無しさん
NGNG#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#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[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過去ログ嫁( ゚Д゚)ゴルァ!!
0661デフォルトの名無しさん
NGNG何怒ってるでちゅか(プ
0662526
NGNGほとんど同じ様な問題に解答したので...
もっとも >>659 にはそれを直すだけの力も無さそうだけどな。
今回は別な人が答えてやんなよ。
0663デフォルトの名無しさん
NGNGよって順番にやって詰まってからもう一回鯉
0664デフォルトの名無しさん
NGNGなりそうだな。
こうゆう学校を出た奴がKStep関数を書くのか?
0665デフォルトの名無しさん
NGNG1.N×N行列の行列式を求めるプログラムを作成。
Nはプリプロセッサで指定する。数値は初期値で設定する。
不要な演算をしないようにする。たとえば0となっている要素に掛けたりすること
エラー(計算結果にNaNとう値)が出ないようにする。
2.1のプログラムを参考して、逆行列を求めるプログラムを作成。
行列式の値が0なら適切なメッセージを表示して、計算を中止する。
それ以外は逆行列を表示する。
お願いします。
0666デフォルトの名無しさん
NGNG逆行列の求め方かいて
0667デフォルトの名無しさん
NGNG>>643を探せ。
0668デフォルトの名無しさん
NGNGttp://www.mit.msn.to/matrix/determinant.html
0669デフォルトの名無しさん
NGNGどなたかわかりませんか?
式は
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]
というように変化して計算いくものとします。
0670665
NGNG0671デフォルトの名無しさん
NGNGΣ(a_i - b_i)^2 を計算する場合と、
Σ(a_i^2 + b_i^2) - 2Σ(a_i * b_i) を計算する場合とでは、
どちらが誤差が大きくなりますか?
0672デフォルトの名無しさん
NGNG符号による
0674デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&rm=50
253から260まで
0675デフォルトの名無しさん
NGNG差を取ると桁落ちする
0.1234 - 0.1232 = 0.0002
有効数字 4桁 ⇒ 1桁
0676611
NGNGご指導くださった方々ありがとうございました
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俺も眠いから無理。
それに高速ふーりえ変換の方法も知らないし。
と、ゆうことで自分で調べるかネ申でもまってて。
0680デフォルトの名無しさん
NGNG> 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#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どうもありがとうございました
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGをするプログラムを作れ。
0687デフォルトの名無しさん
NGNGtolower使うべき
0688デフォルトの名無しさん
NGNG命令寸奈
0689686
NGNGごめんなさい。問題文がそうだったので・・・
改めまして
問題:任意サイズのリングバッファのアドレス計算
をするプログラムを作りましょう。
以上、宜しくお願いします。
0690デフォルトの名無しさん
NGNGアドレス計算
の意味がわからんのは俺だけか?
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGなに。そんなに難しいものではない。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG「キーボードから入力された10進数を、2進数として出力するプログラムを作りなさい。
2進数への変換は、キーボードから入力された10進数を2で0になるまで割り、余りを逆の順番で並べる方法を用いる。
ただし、入力は正の整数で最大値は16383(すべてが1である14桁の2進数)とする。
「キーボードから和暦(英文字に続く文字)を入力したとき、西暦年を出力するプログラムをつくりなさい。
ただし、明治はmまたはM,大正はtまたはT,昭和はsまたはS、平成はhまたはHとし、数字は必ず2桁で入力するものとする。
たとえあ平成7年の場合はh07またはH07to入力すること。
0698デフォルトの名無しさん
NGNG」です。
お願いします。
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG本人がもういないようなのでこの質問はキャンセルされました。
0701デフォルトの名無しさん
NGNGスミマセン。mtshMTSHは半角でお願いします
0702デフォルトの名無しさん
NGNG; | ノ|||||||ヽ `
, / ● ●|
;, |\( _●)/ ミ
; 彡、| |∪| |、\ ,
./ ヽ/> ) :
(_ニニ>/ (/ ;
; | | ;
' \ヽ/ / :
, //\\ .
; し’ '`| |
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG当方、初心者なので。。申し訳ありません。
0706デフォルトの名無しさん
NGNG答える気が失せた。ここ言って修行してこい
http://pc5.2ch.net/test/read.cgi/prog/1096909647/
0707デフォルトの名無しさん
NGNG>>706様に教えて欲しい
0708デフォルトの名無しさん
NGNG以前に出たような質問をするなよ。
過去ログでも参照しとけ。
0709デフォルトの名無しさん
NGNG当方、この場での質問は初めてなので>>708様がおっしゃっているのは別の方だと思います。
回答のほうお願いします
0710デフォルトの名無しさん
NGNGできないならできないで、できるとこまでやれ
それから来い
てか、過去ログにあるらしいから探しに行け
0711デフォルトの名無しさん
NGNG#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あなたが、このスレ随一のプログラマだということを確信しておりますので。
もちろん、だからといって、あなたが私の”宿題”を引き受けてくれる道理
などはないことも、重々承知しているつもりです。
ですが、私は、自分の宿題を済ませるということだけが、目的というわけではないのです。
私は、あなたのプログラミング能力を、世間に知らしめたいのです。
”こんなにも才能あふれるプログラマが、このスレにはいるんだぞ”ということを
自慢してまわりたいのです。
どうかお願いします。私のささやかな願いをかなえてもらえないでしょうか。
あなたの、プログラムが、いつか世界を救う。
今ではそんな気さえしています。
0713デフォルトの名無しさん
NGNG・文中からほとばしる電波
・くどい敬語
ま た 常 識 人 か ! !
0715デフォルトの名無しさん
NGNG誰ですかあなたは?
0716デフォルトの名無しさん
NGNG宿題をやってもらえず、単位でも落したか?
0717デフォルトの名無しさん
NGNGいいから早く宿題やれよ。
0718デフォルトの名無しさん
NGNGそんな奴は単位を落として当然だろ。
どうせ学科のゴミの癖にまだ大学にへばり付いて、
なに?粘着した垢?石鹸カス?チンカス?
大学にいても意味ないだろ。
大学の名前に傷がつくどころか、同級生にも迷惑なんだよ。
0719デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNGint 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自分のやけど、ちょっとよろしゅうないところがあるわ。
> if (status == 0 || status == EOF) {
ここは、『if (status != 2 || status == EOF) {』 やね。
あとswitchのところは、『switch(toupper(era)) {』 でcaseを減らすのもええかも。
is〜()やto〜()の未定義動作が怖いから、あまり使いとうないねんけどな。
0723デフォルトの名無しさん
NGNG煽るやつととくやつが出る。
だらだらする。
また宿題が出る。
マルチということが判明する。
叩く。
また宿題が出る。
ずっと前からこの流れだよ。
0724デフォルトの名無しさん
NGNG『a1=*(a+1);
a2=*(a+2);』
のトコ見てみろ
0725デフォルトの名無しさん
NGNGまとめページが必要かなぁー にゃんにゃん
0726デフォルトの名無しさん
NGNG>>scanf("%s",a);
0727デフォルトの名無しさん
NGNGそのプログラムはまずいで。
aにメモリが割り当てられてへんから、スタック破壊される。
あと入力に年号の一文字が無かったときに、動作が不定やわ。
それとこれが一番問題やねんけど、それほんまにまともに動くん?
文字(a1, a2)に対して演算してはるで。
言わせてもらうと、かなりあかんプログラムやわ。作りがひどすぎます。
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG次の宿題の方、どうぞー
0730デフォルトの名無しさん
NGNG次の質問者はマルチだよ。
0731デフォルトの名無しさん
NGNG↓
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG719
0736デフォルトの名無しさん
NGNG2問お願いします
「キーボードから入力された10進数を、2進数として出力するプログラムを作りなさい。
2進数への変換は、キーボードから入力された10進数を2で0になるまで割り、余りを逆の順番で並べる方法を用いる。
ただし、入力は正の整数で最大値は16383(すべてが1である14桁の2進数)とする。
やて
0737デフォルトの名無しさん
NGNG自分でやれ。
0738デフォルトの名無しさん
NGNGどっかで見た問題
0739デフォルトの名無しさん
NGNG「剰余算の結果を逆順で出力」って、全然面白くも何ともないやん。
719で出しとき。あれなら(逆順にするための)バッファもいらんし、なにより美しいわ。
0740デフォルトの名無しさん
NGNGすでに誰か回答してたような気が…
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNGやっぱ学校は美しさにはこだわってないねん
ま、ほんま汚いプログラになんねやなw
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG↑
課題の意図が理解できない下級高卒プログラマ
0747697
NGNG遅レスすみません。なにか私の偽者(?)が多く出没しておりますが。。。
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,748
NGNG{
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デフォルトの名無しさん
NGNG20,22って何処だよ
0751744,748
NGNG0752デフォルトの名無しさん
NGNG↑
0754デフォルトの名無しさん
NGNGプリプロセッサの悪いところそのままだね。
0755デフォルトの名無しさん
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 = &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デフォルトの名無しさん
NGNGchar 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{
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↑とりあえずうごく
0759デフォルトの名無しさん
NGNGすでにリストになってるし、内容を順に表示してる気がする…
0760デフォルトの名無しさん
NGNG非負の整数を入力する。・・・・�@
1桁の整数を入力する。・・・・・�A
�@で入力した整数の�A桁目を表示する。(�@に5678,�Aに3と入力したら出力結果は6となる)
上記をdo,while使って作成し、終了時に繰返し行なうかを尋ねるプログラミングです。
0761755
NGNG問題文が3,2,1の順にリスト構成しろでした
0762デフォルトの名無しさん
NGNG#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まず、丸付き数字使うたらあかんよ。そこのコードには本来、文字がないからね。
0764デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNGtypedef 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;
}
よく分からんけど、こんなんでいいの?
とりあえず要件は満たしてると思うんだけど
0767デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNGprintf( "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;
}
0769767
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG次の関数で0≦x≦2の範囲で、xの値の0,1ごとに
yの値を計算するプログラムを作成せよ。画面にはx、y両方の値を表示す
るようにすること。while文を使うこと。y=x*x−3x+5/4
0774デフォルトの名無しさん
NGNGdouble x = 0.0;
while( x <= 2.0 )
std::cout << "x=" << x << " y=" << (x*x-3*x+5.0/4) << std::endl;
0775774
NGNGdouble x = 0.0;
while( x <= 2.0 )
{
std::cout << "x=" << x << " y=" << (x*x-3*x+5.0/4) << std::endl;
x += 0.1;
}
0776773
NGNG0778デフォルトの名無しさん
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デフォルトの名無しさん
NGNGint 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逆順に表示するプログラムの表示。
ただし、一文字目に'@'が入力されるとデータ入力を終わる。
データ数は最大20個、また一つの文字列データの
最大長は半角10文字。
おねがいします
実行例
word=sekiyu
word=yasai
word=denwa
word=@
denwa
yasai
sekiyu
0781デフォルトの名無しさん
NGNGchar 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]);
0782780
NGNG0783デフォルトの名無しさん
NGNGそれくらい自分で調べろよ
0784773
NGNGルールよくわかってませんでした。
0785デフォルトの名無しさん
NGNG「HTTPの通信プログラムをC言語で作成する際,改行コードをどのように取り扱えばよいか調査せよ」
教えてエロイ人
0786デフォルトの名無しさん
NGNGしかしどのように取り扱うかというのはまた抽象的でよくわからんな。
0787デフォルトの名無しさん
NGNGなかなか面白い問題やね。良い先生(もしくは良い大学)かも。
いろいろ試行錯誤するのがええねんけど、そういうスレッドちゃうからいきなり核心に行こか。
HTTPのRFC(RFC 2616)の「2.2 基本ルール」を読んでみ。改行コードの規定のあたり。
あとはそれをCに関連づけて説明すればええ。これで9割5分はもらえるやろ。
http://www.studyinghttp.net/translations#RFC2616
完璧を期すなら、socketをfdopen()したときのテキストモード/バイナリモードについても
触れておくとええんちゃうかな。「Cで作成する際」っていうのが気になるからね。
でもこれは冗長やろな。
0788デフォルトの名無しさん
NGNGWindowsの改行コードに統一するだけでいい。
ペイロードに乗っている部分の改行はHTTPと無関係。
0789デフォルトの名無しさん
NGNGなんとなく、和歌山大学け?
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG例えば
1 なら first, 2 なら second, 3 なら third
0792デフォルトの名無しさん
NGNGconst char* henkan(unsigned int i)
{
static char* eigo[] = {"first", "second", "third",…};
return eigo[i];
}
0793デフォルトの名無しさん
NGNGconst char* henkan(unsigned int i)
{
static const char* eigo[] = {"first", "second", "third",…};
return eigo[i + 1];
}
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG俺は今まで、数々の宿題を解いてきてる、いわば大御所ってやつだ。
だから多少の無茶は許されるはずだ。
windows updataすると再起動しなきゃいけないじゃん?
で、めんどいから、すぐには再起動しないんだけど、数分おきに
右下からうにょっと、再起動をうながすウインドウが出て来るんだよな。
あれがうざくてしょうがない。
けどな、お前らよりはうざくないから別にいいよ。
俺が言いたかったのはそれだけ じゃ ノシ
0797デフォルトの名無しさん
NGNG煽るやつと、とくやつが出る。
だらだらする。 ←今ここ。
また宿題が出る。
マルチということが判明する。
叩く。
また宿題が出る。
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG王□□王□□王□
□□□□□□□□
□□□□□□□□
王□□王□□王□
□□□□□□□□
□□□□□□□□
王□□王□□王□
□□□□□□□□
9個置けた。
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGエイトクイーン昔やったんだけど。
暗算(?)で出来ちゃったよ。
マス書いてクイーン置いてってら出来た。
0804デフォルトの名無しさん
NGNG一番効率の悪い置き方したらいくつくらいなんだろう?
0805デフォルトの名無しさん
NGNG4
0806デフォルトの名無しさん
NGNG一番ゆかいな置き方したらいくつくらいなんだろう?
0807デフォルトの名無しさん
NGNG256
0808デフォルトの名無しさん
NGNGせっかく提出するならこのぐらい。
int fact(int n){retrurn n?n*fact(n-1):1}
0809デフォルトの名無しさん
NGNGターミネータを用いる方法と、sizeofを用いる方法の両方をお願いします。
0810デフォルトの名無しさん
NGNG関数内関数の本領発揮だ!
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGint 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普通にやるとターミネータ(もしくは番兵、sentinel)の個数がsizeof()に含まれてしまうが・・・
その辺はどうなっとるの?
0814デフォルトの名無しさん
NGNGusingterminator() {
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ありがとうございます。
0816不明なデバイスさん
NGNGなんでstaticにしてんのかな?
変数が自動的に0に初期化されるから?
int main() {
usingterminator(); usingsizeof();
usingterminator(); usingsizeof();
}
を実行するとどうなる?
0817816
NGNG忘れてた… orz
0818デフォルトの名無しさん
NGNG文字列を入力として受け付けて、その文字列中にabcという文字列が含まれていればyesを、
含まれていなければnoを出力せよ。ただし、文字列ライブラリは使ってはならない。
実行例
・ugabcftと入力 → yes
・abcと入力 → yes
・iunhabと入力 → yes
と、問題を出されました。
誰か解いて下さい。月曜夜までに。
0819818
NGNGorz
0820デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=263
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGスレタイトルをお読みください。
0824デフォルトの名無しさん
NGNG0825818
NGNGありがとうございます。
えっと、ちょこっとレスされてて何なんですど、結局
strstrっていうのは文字列ライブラリに入るんですか?
何か #include <string.h> が文字列ライブラリだー、
みたいな説明受けたんですが。
もうよくワカンネ('A`)
0826デフォルトの名無しさん
NGNG文字列を検索するコードを自分で書くのが目的だから
string.hにあるstrstrを使うなってこと。
>>820のはそれを自作してあるから別に
関数名にstrstrが含まれてるからって関係ない。
0827デフォルトの名無しさん
NGNGあー、なるほどー。
説明どうもです。
0828デフォルトの名無しさん
NGNG正整数nを入力するとn以下の正の偶数を計算するプログラムをwhile文とfor文
を用いたものをそれぞれつくれ。
0829829
NGNGint 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 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デフォルトの名無しさん
NGNGint n;
scanf("%d",n);
#ifdef WHILE_VER
i = 0;
while(++i <= n)
#else
for(i=1;i<=n;++i)
#endif
printf("%d\n",i);
0832831
NGNG0833デフォルトの名無しさん
NGNG偶数を計算って
全部表示させろってこと?
合計ってこと?
0834デフォルトの名無しさん
NGNG合計です。よろしくお願いします。
0835デフォルトの名無しさん
NGNG#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#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って同じ意味ですか?
0838デフォルトの名無しさん
NGNG学校じゃ後者の書き方しかしないだろうから一応。
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG継続しなくなるということですか?
0842デフォルトの名無しさん
NGNGそうだ。C では整数型が論理型の役目もする。
0843デフォルトの名無しさん
NGNG0844818
NGNGお疲れ様です。ありがとうございます。
一つ注文といっては何ですが、このプログラムを
#include <stdio.h>
int main(void)
の2行から始めるように書き換える事って出来ますか?
0845デフォルトの名無しさん
NGNG分かりにくくなるぞ。
0846デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNGきょうび学校でも分岐は減らす方針で教えた方がいいのでは?
x-=(x%2);
x-=(x&1);
0849デフォルトの名無しさん
NGNGエレガントってほどでもないけど・・・
for(sum=0,i=0; i<x; sum+=i,i+=2){}
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGx^=1;
0853デフォルトの名無しさん
NGNGどうやって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;
}
0855デフォルトの名無しさん
NGNG(数字の制限有り、二桁までとか)
printfの%Xを使いますよね…ビットのシフト演算子を使用するなんて自分にはさっぱりです。
どなたかエレガントでユーモラスな解答をお願いしますprz
0857デフォルトの名無しさん
NGNGキーボードから入力して画面に出力するプログラムのどこにシフト演算を使う必要があるんだ?
scanfとprintfだけで十分だろ。
0858デフォルトの名無しさん
NGNGいや、なんでもない、忘れてくれ。
0859デフォルトの名無しさん
NGNGその課題だしたやつはアフォ
なんで順番に足すことしか思い付かないんだ?
数列の級数なんか(ry
0860デフォルトの名無しさん
NGNG問題をそのまま書き出すと
ある二つの数字(10進数)をキーボードから入力させ
16進数として表示する。(0〜15以外の入力はエラーとする)
ビットのシフト演算子を使用すること。
かな?俺もこの問題出されたんだけどわかりません。
シフト演算子を使わないなら大丈夫なんですけど使うとなるとさっぱり。
どなたか教えてください。
0861デフォルトの名無しさん
NGNG#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すみません、上記の>>860の問題はC言語なんです。
教えてくださったのはC++ですよね?良ければCのほうを教えていただけないでしょうか?
0863デフォルトの名無しさん
NGNGといってもほとんど同じだが…。
#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デフォルトの名無しさん
NGNGint main(int argc, char **argv)
だな。失礼。
0865デフォルトの名無しさん
NGNGfgets(buf, 15, stdin);
とかじゃないとバッファが溢れちゃうんじゃないの?
0866デフォルトの名無しさん
NGNGそこは 16 で問題なし
もっと勉強されたし
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGたぶんネタだと思うが King はもっと置ける
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
王□□□王□□□
□□王□□□王□
0870デフォルトの名無しさん
NGNGsizeof(buf)に汁!!
0871デフォルトの名無しさん
NGNGほんとだ、ごめんなさい。
精進しますです。
0872801
NGNG実はネタだったんだが素直にこう置いても個数は同じ。
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
王□王□王□王□
□□□□□□□□
#すっかり忘れてたよ。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNG学校に入れ
0875デフォルトの名無しさん
NGNGC言語で作成する問題で、
任意の時刻を○時○分を入力させ、▽分前の時刻を求めるプログラムを作る。
時間は24時間表記で表す。
time.hを使えばいいんでしょうか・・・
0876デフォルトの名無しさん
NGNG時刻系関数を使うまでもないけど、使ういい訓練にはなるね。
0878デフォルトの名無しさん
NGNGやっぱりそうなんでしょうか。
ヘッダファイル調べてみたんですが、いまいちどの関数が使えるのか
わからんかったです・・・
ここで使ったらいい関数とか教えていただけますか?
0879デフォルトの名無しさん
NGNGtime()
localtime()
0880デフォルトの名無しさん
NGNGありがとうございます。
なんとかやってみます。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG入門書に書いてあるようなことを質問するな
0883デフォルトの名無しさん
NGNGstruct tmに入れた時刻をtime_tに変換し、結果を出力するのに「使える」。
勿論、使わなくても目的は果たせる。
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGある日の、何日か前を取得するようなときには有効だけど。
0886デフォルトの名無しさん
NGNG(1)最初の6桁の数をつくる。
(2)4でわった余りを求める。
(3)余りが0ならば、カウンタをインクリメント。
(4)次の6桁の数を作り(2)へ戻る。
(5)すべての並びでテストをしたら、終了。
0887デフォルトの名無しさん
NGNGhttp://search.yahoo.co.jp/bin/query?p=6%b7%e5+%bf%f4+4%a4%ce%c7%dc%bf%f4&hc=0&hs=0
0888884
NGNG0889デフォルトの名無しさん
NGNG下二桁が四の倍数になるのは
12, 16, 24, 32, 36, 44, 52, 56
の八通り
よって 4!*8
0890デフォルトの名無しさん
NGNG0891889
NGNG+ 64
ってか計算方法が知りたいのに何故ム板に…
0892884
NGNGありがとうございました。
4!って言うのが分からなかったんですが、
下2桁以外の100の位から10万の位の組み合わせだったんですね。
スレ違いすみませんです。
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNGまあ礼儀知らずじゃなかったから暖かく見守ってやろうよ
0895デフォルトの名無しさん
NGNG[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デフォルトの名無しさん
NGNGbreak;
}
printf("総和=%d 偶数和=%d 奇数和=%d\n",5050, 2550, 2500)
0897デフォルトの名無しさん
NGNG#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#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デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNGありがとうございます。
答えは出たのですが、以下のようなメッセージも表示されました。
どういう意味なんでしょうか?
>'-askclose'は内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチファイルとして認識されていまません。
0901デフォルトの名無しさん
NGNGそれはCPadが出してるメッセージだろ
CPadの掲示板で聞いてきたら?
0902デフォルトの名無しさん
NGNG1: ソースを打ち込み、コンパイルできる
2: 生成ファイルを実行し、動作確認できる。
3:: 自分でソースは作成できないが、内容は理解できる。
・・・
0903デフォルトの名無しさん
NGNG普通は実行もせずにコピペを提出する。
0904デフォルトの名無しさん
NGNGclass CCheckbook
{
private:
Transaction * transactions[MAX_TRANS];
};
ここでtransactions[MAX_TRANS];をすべてNULLに初期化する方法ですが、
forループを使ってやるとどのようになりますか?
0905デフォルトの名無しさん
NGNGfor (int i=0; i<MAX_TRANS; i++)
transactions[i] = 0;
じゃないの?
0906デフォルトの名無しさん
NGNG掃き出し法のプログラムを書いていて、2次元配列になっているところを1次元配列
に直したいのですがどのように直せばいいのでしょうか?
よろしくお願いします。
0907904
NGNGwhose pointer is stored in the transactions array.
上のtransactions[MAX_TRANS]についてですが、上記の英文通り解決できますでしょうか。
よろしくおねがいします。
0908デフォルトの名無しさん
NGNGfor (int i=0; i<MAX_TRANS; i++) {
if( transactions[i] ) delete transactions[i];
transactions[i] = 0;
}
0909デフォルトの名無しさん
NGNG二次元配列が必要なら一次元配列ではことが足りないのでは?
それとも、単純にa[b][c]をa[b * d + c]にしたいってこと?
0910デフォルトの名無しさん
NGNG#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二重ループの最内で乱数を更新してるから、そりゃ正確に動かん
あと
j * 0.1 < x < (j + 1) * 0.1 を表現したいなら
(j * 0. 1 < x) & (x < (j + 1) * 0.1)とすべき
0912デフォルトの名無しさん
NGNG(j * 0. 1 < x) && (x < (j + 1) * 0.1)
0914デフォルトの名無しさん
NGNG[2] 問題文(含コード&リンク):
データ列 ak (k=1,2,3,...10)の中間値を求めるプログラムを作成
[3] 環境
[3.1] OS: XP
[3.2] コンパイラ(バージョン):
[3.3] 言語:C
[4] 期限:2004年11月16日14:00
よろしくお願いします。
0916デフォルトの名無しさん
NGNG授業中に何かアルゴリズムの話はあった?(クイックソートとか)
0917デフォルトの名無しさん
NGNG放射エネルギーがどうのこうのいってました。量子物理の授業です。
プログラムなんか習ってませんよ〜。
よろしくお願いします。
0918デフォルトの名無しさん
NGNGその程度なら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多分やってないと思います。
0920デフォルトの名無しさん
NGNGデータ列ってなに?
中間値ってなに?
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;
}
0922917
NGNGありがとうございます。
Borland C/C++コンパイラをダウンロードしてコンパイルしてみましたが、
警告 W8004 L16:'fb'に代入した値は使われていない(関数 bisect)
というエラーがでてコンパイルできません。
うう〜。
0923914
NGNG具体的な例でいうと、
10人のテストの点数が、
68、70、50、88、96、77、91、54、74、81、だったときに
点数順にデータを並べて5番目と6番目になるものを探すプログラムです。
0924デフォルトの名無しさん
NGNGエラーと警告の違いの区別くらいつけろ
0925デフォルトの名無しさん
NGNGそれ、オイラー回路の判定部分がおかしいんちゃうかな。
0928デフォルトの名無しさん
NGNG頂きたいです。
モノクロスケールの画像ファイル( JPEG / BMP )を数値化したい
(※.(x,y)座標値で)のですが、プログラミングでファイル入力
する時にどのようなformatで取り込めばファイルの座標と値を取り
こめるんですか? できればCで組みたいんですけど。
初心者には無理・難題?
0929デフォルトの名無しさん
NGNG#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おまえには無理。
0931デフォルトの名無しさん
NGNG初期値xは1、収束判定値eは1e-5で答えは1回計算するごとに出力できるように
したいんです。どなたか教えていただけないでしょうか。お願いします。
0932デフォルトの名無しさん
NGNGスタック使ってグラフの経路を全探索してみれば、
↓こんな感じ
struct 経路スタック{
int 始点番号;
int 終点番号;
struct 経路スタック *prep;
}
void 一歩進む(int 節点番号){
if(すべての経路を使った){
printf( "一筆書き完成!:" );
printf( スタックの内容 );
return;
}
if(行き先がない){
printf( "一筆書き失敗!:" );
printf( スタックの内容 );
return;
}
for each 終点番号 connect to 始点番号
if( 経路(始点-終点) is 未使用 ){
経路(始点-終点)をスタックにつむ;
一歩進む(終点);
経路(始点-終点)をスタックから出す;
}
}
}
0933928
NGNGエレガントだ…。さすがですね、ここの人たちは。
0934デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNG0936914
NGNGありがとうございます。
申し訳ないのですが、下の状態で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×
0938914
NGNG#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デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG愛 にゃんにゃん
0942デフォルトの名無しさん
NGNG最近Cのプログラムを書いてないから、ボケ防止に。
0943デフォルトの名無しさん
NGNGforのカウンタには i を使っていくのが一般的。
>>939
自分の勉強・復習に。
0944デフォルトの名無しさん
NGNG暇つぶし
0945デフォルトの名無しさん
NGNGここは宿題スレだからな。
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG禿しく同意
0949デフォルトの名無しさん
NGNG解答者が宿題をさせて頂くスレ
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG次スレお願いね。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGhackerslab lv10の解答でも見てろカス!
0955デフォルトの名無しさん
NGNG愛なんてないよー。
愛があるなら、宿題を出された本人にやらせるよー。
教えるにしても誘導程度に留める。
>>949
そんな感じですな。
0956デフォルトの名無しさん
NGNG[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関数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デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG#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間違ってました。中央値です。
ごめんなさい。
0961957
NGNGf(x[0])/f'(x[0])=x[1]-x[0]
じゃなくて
-f(x[0])/f'(x[0])=x[1]-x[0]
0962デフォルトの名無しさん
NGNG#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デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG#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;
}
0965931
NGNGありがとう。ググってみます。
0966デフォルトの名無しさん
NGNGありがとうございました
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画像のフォーマットの変換が可能ならば、xbmフォーマットにしちゃえば
テキスト形式だから簡単。画像ごとに再コンパイル可能ならば、
さらに簡単。
0969デフォルトの名無しさん
NGNG次スレに誤爆してしまった。。。ほい。
#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デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1100530682/
0971デフォルトの名無しさん
NGNGひたすら単純化
}
単純化の手法
1.次数が2のノードAは消去する。
AがノードB,Cに接続していたとして、B,Cにお互いへのパスを追加する。
2.次数が2のノードがなくなったら、始点と終点が同一であり、
一度通ったノードは二度と通らないループを見つけ、そのループを削除する。
始点のノードには自分に帰ってくるパスを追加する。
0973デフォルトの名無しさん
NGNG宿題じゃないだろうから教えてやんない。
>968も一つの解だけどね。
#でも私ならxpm。
>>915
>909がほぼ回答。
20x20のデータなら、a[3][15]をa[3 * 20 + 15]とでもすればいい。
この場合、メモリの確保もmalloc(sizeof(double) * 20 * 20)となる。
0974デフォルトの名無しさん
NGNGおー、かっこいい、O(N)中間値ね。
アルゴリズムは考えたけど実装はしてなかった。
QuickSortからてきとーに改竄すればいいのかな。
0975デフォルトの名無しさん
NGNGC言語からフローチャートを生成するソフトが
あると聞いたのですが誰かご存知の方いらっしゃいませんか?
0976デフォルトの名無しさん
NGNGあっても使いものにならない予感
0977デフォルトの名無しさん
NGNGそれはどういう事ですか?
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG347863000050097003096
347863000100093004095
347863000150092004098
347863000200088003094
347863000250092003096
な感じの数字の羅列から
一桁目と二桁目の数字だけを取り出して出力するのってどうするの?
0980デフォルトの名無しさん
NGNG手続き型のプログラムって局所的にはシーケンスだけど
大域的にはツリーやグラフじゃん?
フローチャートってあんま役に立たなくね?
0981デフォルトの名無しさん
NGNG一桁目と二桁目ってのは上から数えんのか?下から数えんのか?
どっちにしてもやることはあまり変わらんが。
0982デフォルトの名無しさん
NGNGそんなことしたらSTLとか使えなくなるやん。困る困る…
0983デフォルトの名無しさん
NGNG上からです。
0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNGツリーやグラフは使わないプログラムで
フローチャートにしなければならない宿題なんですよ。
ご存知ないですか?
0986デフォルトの名無しさん
NGNG1行ごと文字列に入れて、strncpyでいいんじゃない
0987デフォルトの名無しさん
NGNG4年も前のソフトだが、ぐぐったら一発で出てきたぞ。
0988デフォルトの名無しさん
NGNG単語の意味で激しくすれ違った予感。
まぁいいか。
0989デフォルトの名無しさん
NGNGやってみます。
09901000
NGNG\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
0991hage
NGNG0992デフォルトの名無しさん
NGNG知識がなくてすみません。
お手数かけましたm(_ _)m
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGまじれすきぼん
0995デフォルトの名無しさん
NGNGだがその夢が叶うことは決してないのだよ。
0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。