あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
>>2 以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
なんか小町を解いたくらいで偉そうにしている粘着がキモイんですけど・・・
解かずに偉そうにしてるやつよりはマシ
小町も解けないアホが必死w
発 者 同 . 。_ ____ 争 生 同 .じ . /´ | (ゝ___) い .し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、 .な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j .い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´ .! ! か の / ´..:.} >、、___, .r、 ソ、`\ / ..:.:.} / |∨ ` ̄ / ..:.:./ | 丶 / _、 ..:.:.:.{ .{.:.:. \ { ..:Y .ゝ、 {.:.:.:.:. ヽ |、 ..:/ 丿 .:〉 >.- ⌒ . ヽ / {. ..:./ ソ ..:./ .( ..:.:.:` ..:} ./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:} ./..:.:/|.:/ {.:./ X.:.:}.} X X /..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y . __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\ /.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
こうやって、同レベルとかどっちもどっちとか言い出すのは決まって負けてる方なんだよなw
>>6 >小町も解けないアホ
いや、だから解いたんだが・・・キモッ 小町を解いたくらいで偉そうにしているガキwww
>>5 >解かずに偉そうにしてるやつ
いや、だから解いたんだが・・・何か俺が解いてないのに偉そうにしたとか言われて気分悪いわ。
別に偉そうにした覚えないし。誰と勘違いしてんだ?っつか、ここもID制にすべきだわ。
>>10 みたいなことを言う奴も、C言語であれこれ解けるのがハイレベルだと思っているんだろうね。
それぞれ専門知識が必要になる場合は、もはや言語を扱うスキル、効率の良いアルゴリズムを
ある程度知っているとは話は別。何でも出来れば良いってもんじゃないし、使わない知識を無駄に
溜め込んでも意味ないんだわ。
このスレで一番キモいのは、スレの最初で
>>4 みたいなことを言い出す奴
いや、どっちもキモイので消えてください
外科医が歯科医の専門知識をいくら持っても、外科医として上手くやっていけるのかね? 確かに共通する点はあれど、やはりそれぞれには専門知識、経験が必要だ。 基本、医者である以上、扱う部門が違えど人間を扱うし、小さな例を挙げると 滅菌、麻酔、注射、その他治療をするに当たって注意しなければならない器具の取り扱いや 人体の基本は共通しているから知っているだろう。物理だって法則などは 目で見たほうが手っ取り早いが、それらを数値化するにはやはり数学が必要だ。 しかし、アインシュタインは質問された時、光速度を知らなかった。 まぁ、プログラム言語を扱う基本知識は重要だし、効率の良いコードを書くには 柔軟な考え方も必要。少し外に出て頭を冷やしたらどうかね? 喫煙ばかりしてて血流が悪くなり、吸い終わった後の間違ったスッキリ感では駄目なのだよ。 ワトソン君。
またこのアホが湧く季節になったのか
前スレ
>>976 画像ファイルフォーマット指定してほしい
春だなー(棒)
24ビットのBMPでいいらしい
>>15 そこまで言うなら、あなたが消えた方が手っ取り早いんでは?
このスレに何か未練でもありますか?
うわ、こいつほんとキモいな。 迷惑かかってんのわかんないの?
[2] あのね おしっこシィーーーーーッ!
どうでもいいけど前スレ976の画像フォーマットまだー?
出題はまだかなぁ。
[1] 授業単元:QRコード変換 [2] 問題文: 打ち込んだテキストデータをQRコードの画像に変換するプログラムを作成せよ. (QRコードの規格は公開されているので,それを組み合わせて作ればよい. エラー訂正レベルを下げ,文字数を固定するなどして簡単なものから順に実装していけば良い.) [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン:bcc [3.3] 言語: C言語 [4] 期限: 5/7 宜しくお願いします。
規格調べんの面倒くさい
画像のフォーマットは?
>>28 作るのはまだいいとしても、次の段階として読みとるのを作るだろうから相当しんどいな
傾いた画像とか、汚れで一部読めないとかwww
33 :
◆qr00w3BQO6 :2012/04/29(日) 12:38:40.32
[1] 授業単元: udpプログラム
[2] 問題文(含コード&リンク): 計測機器が計測結果をUDP通信で連続的に送ってくる.このパケットを受信しprintfで表示しないさい.このとき送られてくるパケットのipアドレス,port,バッファサイズは変化がなくあらかじめ分かっているものとする.
[3] 環境
[3.1] OS: Windows7 x64
[3.2] コンパイラ名とバージョン: VC++ 2010express
[3.3] 言語: C
[4] 期限: 今月中
[5] その他の制限: 最終的にMATLABのMEXに載ります
http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/socket.html ここ見ながらやってるんですが,bindで
1> part2.cpp
1>d:\udp\part2\part2\part2.cpp(41): error C2664: 'bind' : 2 番目の引数を 'sockaddr_in *' から 'const sockaddr *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
とエラーが出てしまい困ってます.
WINDOWS SDKをインストールし,part2(ファイル名)のプロパティで
<リンカー><入力><追加の依存ファイル>に<wsock32.lib;%(AdditionalDependencies)>
と書き換えています.
デバッグ手伝ってください><
35 :
◆qr00w3BQO6 :2012/04/29(日) 14:01:20.38
>>34 返信ありがとうございます.
卒研で機械系の学生がCとwinsockの本にかじりつきながらやってるのでエラーメッセージの意味を理解出来てないです.
ここで問題になっている'sockaddr_in *' から 'const sockaddr *'はconst修飾子で変数の変更を制限しようとしているんですよね?(今調べました)
構造体を初期化しているmemsetやrecvsockaddr.sin_~~~の値の代入に問題があるのでしょうか?
または,winsockのリファレンスによるとbindの2番目の引数は「ソケットアドレス構造体を指すポインタ」とあるので
sockaddr_in recvSock Addrへのポインタ構文がおかしいのでしょうか?
>>35 本見れなくても2chに書き込めるってことはインターネットでいくらでも調べられるじゃん
とりあえずbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えれば通る
38 :
◆qr00w3BQO6 :2012/04/29(日) 14:45:51.22
>>36 ありがとうございます
(struct sockaddr_in *) &recvSockAddr
この構文を
(struct sockaddr *) &recvSockAddr
と記述すればいいという解釈でいいでしょうか?
この構文ですとvc++はエラーを吐かないんですが,コンパイルして実行しても
bindの返り値statusがSOCKET_ERRORになっています.
後のnumrcv=recvfrom(~~~~)文も-1の返り値を返しているのでソケットの作成かbindに
問題があると思うのですがわかりません...
適当にやってもロクな結果出んぞ
40 :
◆qr00w3BQO6 :2012/04/29(日) 15:56:25.61
>>39 >>37 さんが仰られている通りbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えることで
プログラムは回りました,しかし,bindでのエラー原因がわからず手をつけられずにいます.
どこか見落としているところがあるのでしょうか?
>>40 bindでのエラーってやつがコンパイルエラーのこと言ってるなら
エラーメッセージに型が違うから使いたいならキャストしろって書いてあるじゃん
42 :
◆qr00w3BQO6 :2012/04/29(日) 20:01:41.83
bindに status = bind(recvSocket, (struct sockaddr *)&recvSockAddr, sizeof(recvSockAddr)); if (status != 0) { wprintf(L"bind failed with error %d\n", WSAGetLastError()); } このようなエラーメッセージをつけて調べたところ10048と出力されました WSAEADDRINUSE (10048) 意味 : アドレスは既に使用中です。 説明 : 通常、ソケット アドレス (プロトコル/IP アドレス/ポート) は、 それぞれ 1 つずつしか使用できません。プログラムが、既に存在する ソケット (正しく閉じられなかったソケットまたは閉じている最中の ソケット) で使用されている IP アドレスやポートにソケットをバインド (Wsapiref_6vzm.asp) すると、このエラーが発生します。 同一のポート番号に複数のソケットをバインドする必要のある サーバー プログラムの場合は、setsockopt (Wsapiref_94aa.asp) (SO_REUSEADDR) の使用を検討してください。 クライアント プログラムは通常 bind を呼び出す必要はなく、 connect (Wsapiref_8m7m.asp) は未使用のポートを自動的に選択します。 bind がワイルドカード アドレス (ADDR_ANY など) を使用して呼び出された 場合、WSAEADDRINUSE エラーは、特定のアドレスがコミットされるまで発生 しない可能性があります。このエラーは、後に別の関数 (connect、listen、WSAConnect、および WSAJoinLeaf など) が呼び出された ときに発生することがあります。 だそうです.なのでPCを再起動してデバッグなしで実行してみたのですがやはり同じような エラーメッセージが表示されました.なぜでしょうか?
それ自体は説明にあるとおり。
44 :
デフォルトの名無しさん :2012/05/01(火) 07:40:41.89
n変数多項式の代数処理プログラム作ってください. 必要機能は ・n変数多項式の足し算,引き算,掛け算,微分,積分,ただし,有理数係数でOK ・n変数多項式の既約分解 ・多項式環の基本演算(上と同じ)と局所環がもとめられること ・代数的多様体上を定義可能,グラフィクスはオプション とりあえずここまでお願いします.後すこしありますが,それはじぶんでつくります.
なんかベンツタダでくださいみたいな話に読めた
46 :
デフォルトの名無しさん :2012/05/01(火) 13:14:18.17
代わりに修士論文書いて、くらいか?
47 :
◆qr00w3BQO6 :2012/05/01(火) 18:29:46.49
>>42 skypeにポートが使われていたのが問題でした.
その他にも問題が多数出てきましたが自己解決の末,無事作成できました.
アドバイスの数々ありがとうございました.
アドバイスなんてなかった
49 :
デフォルトの名無しさん :2012/05/01(火) 23:44:44.73
[1] 授業単元 情報工学 [2] 問題文 n枚のカードからr枚のカードを選ぶ組み合わせを計算するプログラムを作成せよ。 但し、n≧1 r≧1 n≧rを前提してよい。(入力エラーの処理は不要) [3] 環境 [3.1] OS: Linux [3.3] 言語: C [4] 期限: (2012年5月2日13:00まで) よろしくお願いします。
nの最大値は?
51 :
デフォルトの名無しさん :2012/05/02(水) 00:01:52.05
nの最大値は52です。(トランプの枚数)
局所環以外は多項式を表すデータ構造さえ決めてしまえば簡単だろ.
55 :
デフォルトの名無しさん :2012/05/02(水) 06:53:28.02
[1] 授業単元 情報工学 [2] 問題文 通信サービスの1ヶ月の利用料金は、基本料金500円と1分辺りの利用料金10円との合計である。 この通信サービスの1ヵ月の利用料金x分受け取ると、利用料金y円を計算するryoukin関数を作成せよ。 そしてこの通信サービスの1ヶ月の分単位の利用時間を入力すると、利用料金を計算するプログラムを、main関数からryoukin関数を呼び出す形で作成せよ。 但し、利用時間は分単位を前提とする。 [3] 環境 [3.1] OS: Linux [3.3] 言語: C [4] 期限: (2012年5月3日13:00) よろしくお願いします。
>>55 int ryoukin(int x){
return x*10+500
}
1分10円、1時間600円・・・たけぇ。
>>50 上限は整数型の上限に決まってんじゃん
計算結果が例えばunsignedの上限を超えないようなn,rの場合まで考えてあげればプロ
他に聞く前に考えろ
勝手に言っておいて自分で限定するとか、やるなら無限にしろよw
別に無限でもやれるならいいんだけどな その扱い方さ 教えてくれよ
>>49 int kaijo(int n){
int i,ret=1;
for(i=1;i<n;i++)ret*=i;
return ret;
}
int kumiawase(int n,int m){
return kaijo(n)/(kaijo(m)*kaijo(n-m));
}
訂正 for(i=1;i<=n;i++)ret*=i;
スゲーな factorial permutation combinationとか書かないのはwww 10ブっこんだだけで3628800、 階乗計算で手抜きしなきゃ ギリ合格の80点はくれてやるよw
100万桁くらいで我慢しとけw
コテハン名乗る割には大したことない。 クズ同然。
あと掛け算ならi=1からやる必要ねーだろw アホちゃうかwww あ、アホかw
>>62 みたいなやり方のことを考えてnの最大値を聞いてるのにな
桁が足りないならlong long intを使うか 演算の面倒な構造体なりポインタ使うなり それこそdouble使えば?
プリミティブ型を使う義務なんてないのに。 クズコテハンはこの程度かw
素数判定プログラムをc/c++室に貼りました
c++じゃなくてcでしょ
すぐオーバーフローするもの貼っといて、使えば?じゃねーよw
結論:ゴミ製造機www
階乗は確かに順列、組み合わせで使われているけどさ せめてパスカルの三角形とか工夫しろよ・・・
>>49 やってみた
int gcd(int a, int b){
int c;
while((c=a%b)) a=b,b=c;
return b;
}
int nCr(int n, int r){
int i, j, d, t, *data;
if(n<0 || r<0 || n<r) return 0;
if(r*2>n) r=n-r;
data=malloc(sizeof(*data)*r);
for(i=0;i<r;i++) data[i]=n-i;
for(i=0;i<r;i++){
t=r-i;
for(j=0;j<r && t>1;j++){
d=gcd(data[j], t);
data[j]/=d;
t/=d;
}
}
t=1;
for(i=0;i<r;i++) t*=data[i];
free(data);
return t;
}
途中過程が重要じゃないなら、パスカルの三角形でええやろ・・・
>>49 パスカルの三角形
int nCr(int n, int r)
{
int *p, *s, *d, *t, ret, i, j;
p=calloc(sizeof(int), (n+1)*2);
s=p;
d=p+n+1;
for(i=0;i<=n;i++)
{
d[0]=1;
for(j=1;j<=i;j++)
{
d[j]=s[j-1]+s[j];
}
t=s;
s=d;
d=t;
}
ret=s[r];
free(p);
return ret;
}
あ、これはおもしろいな
>>49 ,78
これでもOKのはず。
int nCr(int n, int r){
int *p, ret, i;
r = r > n - r ? n - r : r;
p = calloc(sizeof(int), r + 1);
*p = 1;
while (n--)
for (i = r; i; i--)
*(p + i) += *(p + i - 1);
ret = *(p + r);
free(p);
return ret;
}
81 :
デフォルトの名無しさん :2012/05/03(木) 23:10:27.54
[1] 授業単元: プログラミング [2] 問題文(含コード&リンク): xが十分小さいとき、次の式を使ってsinxを近似的に求める事ができる。 sinx=x-x^3/3!+x^5/5!-x^7/7! 0.05π刻みで、0.0からπまでのxについて、math.hに含まれている関数 sin()と値を比較しなさい。 ただし、円周率πはmath.hに含まれているマクロ M_PIを使用するか、 三角関数を用いて正確に計算した値を使うこと。 [3] 環境 [3.1] OS: Linux [3.1] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:5月8日 [5] 配列の使用はしてはいけないそうです。 お手数ですがよろしくお願いします。
>>81 > sinx=x-x^3/3!+x^5/5!-x^7/7!
もちろんこの式が何展開と呼ぶかは習うんだよな?
はい!ゆうこりんのマン○リン展開です!
86 :
デフォルトの名無しさん :2012/05/04(金) 09:52:55.78
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 刻み幅0.001秒で微分方程式dx/dt+x=1(x(0)=0) をオイラー法によって解くプログラムの作成。 [3] 環境 [3.1] Linux [3.3] 言語:C [4]期限:(5月5日土曜日22:00) どうかよろしくお願いします。
後学のために聞くけどその微分方程式は一体どういう何の物理現象なんだ?
オイラの為に
>>86 #include<stdio.h>
int main(void)
{
double x, t, delta=0.001;
int i;
x=0.0;
for(i=0;i<=10000;i++)
{
t=delta*i;
printf("x(%f)=%f\n", t, x);
x+=delta*(1-x);
}
return 0;
}
deltaを即値では無く、変数とした理由は?
A. アホだから A. 数値積分とオイラー法についてなんら分かっていないから A. ノリ A. 何となくかっこいいじゃん!
>>95 何なのって
お前は気にならないの?
dx/dyじゃない、dx/dtになってて
しかもわざわざ刻み幅を「秒」で指定してるんだぜ
アホの一つ覚えでそのまんまにプログラミングしてりゃあいいってモンでも無いだろ
>>95 コードを見る限り、deltaは普遍値だよな。
そんな疑問すら想像出来ないのか?
[1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 次の関数の最小値と、その時のa,b,c,dそれぞれの値を出力するプログラムを作成してください。 ただし、0<a<b<c<d<200とする。 4a+exp(-0.5b)-3c+exp(0.5d) [3] 環境 [3.1] OS: (Windows/Linux/等々) linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 5/9 [5] その他の制限なし よろしくお願いします。
100 :
99 :2012/05/05(土) 22:52:59.31
補足です、a,b,c,dは整数で構いません。 よろしくお願いします。
>>99 #include<stdio.h>
#include<math.h>
int main(void){
int a, b, c, d, min_a=0, min_b=0, min_c=0, min_d=0, is_first=1;
double val, min=0.0;
a=1;
for(b=a+1;b<200-2;b++){
for(c=b+1;c<200-1;c++){
d=c+1;
val=4*a+exp(-0.5*b)-3*c+exp(0.5*d);
if(is_first || min>val){
is_first=0;
min=val;
min_a=a;
min_b=b;
min_c=c;
min_d=d;
}
}
}
printf("min=%f a=%d b=%d c=%d d=%d\n", min, min_a, min_b, min_c, min_d);
return 0;
}
てst
[1] 授業単元:院試過去問(データ構造とアルゴリズム?) [2]問題文は次のレスで [3-5]無指定、無期限
あ
>>105 メモリ確保しながらループ回すんじゃないの?
作った先生がなんとなくわかっちゃうのがおもしろいな 俺もそろそろ院試対策始めないと
>problem booklet いきなりフイタw
>>107 bintree中のポインタを変更しながら、の意味がよくわからなかったのですが
基本whileで回すとして
探索が終わった枝に
left = nullを代入して両方nullだったら探索終了、ループ続行
ってやればよさそうですね
皆様ありがとうございました。
ダメだ帰り道を考えてませんでした。 leftを退避させて親ノードへのポインタをleftに入れる、という方向で考えてみます
>>105 int bintree_sum(struct bintree *root)
{
struct bintree *p, *r_last;
int sum=0;
for(r_last=root;r_last->right;r_last=r_last->right)
;
for(p=root;p;p=p->right)
{
sum+=p->val;
if(p->left)
{
r_last->right=p->left;
for(;r_last->right;r_last=r_last->right)
;
p->left=NULL;
}
}
return sum;
}
>>106 制限時間内だと1/3~1/2くらいしか解けないと思う
ってかまず用語の意味が分からないwww
1/2ちょっとで大体受かるそうな
115 :
defo :2012/05/06(日) 04:03:26.73
>>86 #include<stdio.h>
int main(void) {
double y=0.0, t=0.0, delta=0.001;
for(printf("t, f(t)\n"); t<=10.0; t+=delta) {
printf("%f, %f\n", t, y);
y += delta*(1-t);
}
}
>>99 #include<stdio.h>
#include<math.h>
int main(void)
{
int a=1, b=199, c=199, d=1;
printf("min=%f a=%d b=%d c=%d d=%d¥n",
4*a+exp(-0.5*b)-3*c+exp(0.5*d),
a, b, c, d);
return 0;
}
118 :
デフォルトの名無しさん :2012/05/06(日) 11:29:04.38
[1] 授業単元:C言語演習 [2] 問題文(含コード&リンク): 次の規則に従う数列a_{0},a_{1},a_{2},...を表示するプログラムを作成しなさい. ただし、配列を使用してはならない。 1. 初期値a_{0}は,任意の自然数とする. 2. 数列a_{n+1}は次の式で決められる. a_{n+1}=a_{n}/2 (a_{n}が偶数のとき) a_{n+1}=3a_{n}+1 (a_{n}が奇数のとき) 3. 数列a_{n}=1になったら終了する. 例えば,a_{0}=13のとき{13, 40, 20, 10, 5, 16, 8, 4, 2, 1}となる. [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 5/9 [5] その他の制限なし よろしくお願いします。
120 :
119 :2012/05/06(日) 11:54:05.23
やっぱキューはおもいっきり駄目だねw
>>118 #include <stdio.h>
int main(){
int a=13;
int fst = 1;
printf("{");
do{
printf("%s%d", fst ? "" : ",",a);
a = (a % 2 == 0 ? a/2 : 3*a+1);
if(fst) fst = 0;
}while(a!=1);
printf("}\n");
return 0;
}
122 :
121 :2012/05/06(日) 12:08:14.40
>>118 ごめん、こっちで
#include <stdio.h>
int main(){
int a=13;
int fst = 1;
printf("{");
while(1){
printf("%s%d", fst ? "" : ",",a);
if(a==1) break;
a = (a % 2 == 0 ? a/2 : 3*a+1);
if(fst) fst = 0;
}
printf("}\n");
return 0;
}
124 :
デフォルトの名無しさん :2012/05/07(月) 02:16:29.85
>>122 大変助かりました。
ありがとうございました!
共に入社した同期に10年ぶりにあった 話がはずむうちに、彼は「パチでもいこうか」と右手を回すゼスチャーをし、おれをさそった。 オレはパチンコをやめて10年近くになる そういや昔は一緒にパチンコ屋に行って、給料日前になると 「金がない」と互いに言い合っていたっけ。 パチンコをやめた先輩が「パチンコしている時間に、一冊の本でも読めれば人生の時間はもっと有意義に過ごせるだろう」 という言葉で「やめなきゃ」と思っていたパチンコがすんなりやめられた 久しぶりのパチンコ屋は何やら様子が変わっていた。 一列に並んでパチンコを打つ人をよく観察すると、なんだかみすぼらしく、薄汚れて見える。 そして新ためて友人をよくみると、彼のよれよれのスーツ、安物の靴、が目に入った オレに笑いかける歯は汚く、髪はべとついて見えた。少々すえたニオイもする、、、。 相乗りしてきた車は10年前と同じだったっけ。 久しぶりの友人をパチンコ屋へ誘う彼はこの10年間どれだけの時間、パチンコ屋ですごしたのだろう? 20代をどう過ごしたのだろう、、。 どれだけの金をこのうるさい機械どもに投入したのだろう? 彼はオレの支社にカワイイ子はいないかとたずねた 彼はまだパチンコ台が恋人らしい 先輩のあの言葉を聞けて、本当にラッキーだった 限りなくラッキーだった。 嫌なヤツだと思われるだろうが、本当にそう思う
自己紹介乙。 次どーぞ。
暇だから、行くんじゃね? 問題:B地区とビーチクの発音の違いを発音記号で表せ。
128 :
デフォルトの名無しさん :2012/05/08(火) 21:38:31.95
[1] 授業単元: プログラミング [2] 問題文: 1ヵ月の利用料金は、基本料金500円と1分当りの利用時間10円との合計である。 1ヵ月利用時間x分を受け取ると、利用時間y円を計算するryoukin関数を作成せよ。 そして1ヵ月の分単位の利用時間を入力すると、利用料金を計算するプログラムをmain関数からryoukin関数呼び出す形で作成せよ。 但し、利用時間は分単位を前提とする。 [3] 環境 [3.1] OS: Linux [3.3] 言語: C [4] 期限:5月9日 [5] 利用時間から利用料金を計算する処理を記述する。 引数と関数(戻り値)のデータ型は整数型です。 よろしくお願いします。
129 :
デフォルトの名無しさん :2012/05/08(火) 21:41:13.25
4行目の「利用時間y円」は「利用料金y円」です。
概出
131 :
デフォルトの名無しさん :2012/05/08(火) 21:58:22.49
[1] 授業単元:プログラミング演習 [2] 問題文: 複素数a+ibのn乗を求めるプログラムを作成しなさい。 ただし、係数a,bの値とnをそれぞれ読み込み、途中経過と計算結果を出力すること。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月9日 [5] 配列の使用は禁止だそうです。 よろしくお願いします。
132 :
デフォルトの名無しさん :2012/05/08(火) 22:17:10.96
[1] 授業単元:プログラミング演習 [2] 問題文: double func(double x,double y, double z) { double sum; sum=x+y+z; return sum; } 上記のfunc関数を利用して3つの実数を入力すると、それらの合計値を計算するプログラムをmain関数からfunc関数を呼び出す形で作成しなさい。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C [4] 期限:5月9日 [5] 引数と関数のデータ型は整数型。 よろしくお願いします。
>>132 >double func(double x,double y, double z)
>引数と関数のデータ型は整数型。
矛盾してないか?
>>135 その関数を直接使うんじゃなくてラッパー噛ませってことだろ
いや、ないか
137 :
デフォルトの名無しさん :2012/05/09(水) 00:10:54.39
え?
>>128 この問題
>>55 にも出題されていたがせめて、
「1ヵ月の利用料金は、基本料金500円と1分当りの利用時間10円の従量料金の合計である。」とでも
改めて書き込むべきだったろう。変な日本語に嫌気して、回答してくれなかった人もいると思う。
>>128 #include <stdio.h>
int ryoukin(int x)
{
return 500 + 10 * x;
}
int main(){
int x, y;
printf("1ヵ月間の利用時間=");
scanf("%d", &x);
y = ryoukin(x);
printf("1ヵ月の利用料金=%d¥n", y);
return 0;
}
141 :
デフォルトの名無しさん :2012/05/09(水) 08:26:01.18
>>134 ありがとうございました!
たすかります!!
>>132 >>/* 引数と関数のデータ型は整数型。 */
↑が間違いなら↓で。
#include <stdio.h>
double func(double x,double y, double z){
double sum;
sum=x+y+z;
return sum;
}
int main(){
double x, y,z;
printf("x, y, z = ");
scanf("%lf %lf %lf", &x,&y,&z);
printf("合計値=%g¥n", func(x,y,z));
return 0;
}
>>118 #include <stdio.h>
int main(){
int a = 13;
printf("{%d", a);
while (a != 1)
printf(",%d",a = (a % 2 ? 3 * a + 1 : a / 2));
printf("}¥n");
return 0;
}
144 :
デフォルトの名無しさん :2012/05/09(水) 13:50:14.09
[1] 授業単元:プログラム設計応用 [2] 問題文:入力した点数の合計(gokei)を表示 人数は3、点数は80、70、60と入力し、最終的に「3名の合計点は210です。」と 表示させるために、【___】に当てはまる式を答えよ #include <stdio.h> main() { int n, ten, i, 【______】; printf("人数を入力:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("点数を入力:"); scanf("%d",&ten); if(ten>=80) printf("点数は %d 点です。合格です。\n",ten); else printf("点数は %d 点です。不合格です。\n",ten); 【______】 } 【______】; } [3] 環境 [3.1] OS:Windows [3.2] Visual Studio 2008 [3.3] 言語:C [4] 期限:本日中 どうかよろしくお願いします。
goukei = 0 goukei = goukei + ten; printf("%d名の合計点は%dです。\n", n, goukei)
146 :
デフォルトの名無しさん :2012/05/09(水) 15:41:06.26
>>145 ありがとうございます。助かりました…!!!
147 :
デフォルトの名無しさん :2012/05/09(水) 16:05:52.14
再度失礼します。
>>144 です。
>>144 の応用で、人数は4点数は80、50、90、30と入力していき、最終的に
「合格者は2名で合計点は170です。不合格者は2名で合計点は80です。」
と表示させるためにはどう書き換えたらいいのでしょうか。
ちなみに
合格者人数 g_n
合格者合計 g_gokei
不合格者人数 f_n
不合格者合計 f_gokei
と、指定するとします。
150 :
デフォルトの名無しさん :2012/05/09(水) 22:43:46.85
[1] 授業単元:プログラミング [2] 問題文: y=1+x+x^2+x^3+...+x^N ただし |x|<1 を計算する関数 float func1(float x, int N) を定義してその動作を確認するプログラムkadai3-1.cを書きなさい。 ただしNとxはキーボードから次で入力するものとする。 scanf("%f %d", &x, &N); 答えは以下で出力されるものとする。 printf("answer = %f\n", answer); [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月10日 [5] よろしくお願いします。
151 :
デフォルトの名無しさん :2012/05/09(水) 22:44:52.15
[1] 授業単元:プログラミング [2] 問題文: y=1+(1/x)+(1/x)^2+(1/x)^3+...+(1/x)^N ただしNとxはキーボードから次で入力するものとする。 scanf("%f %d", &x, &N); 答えは以下で出力されるものとする。 printf("answer = %f\n", answer); [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月10日 [5] よろしくお願いします。
>>151 残り時間あと1時間チョイか
難儀なモンだ
>>155 これを提出するのはやめといたほうがいいぞ、答えはあうけれども
>>156 なぜですか?
提出しちゃったんですけど…
>>157 このスレを5くらい遡って見て
コイツがどういうクソクズコードを書いているかを見りゃあいい
ホカのスレでも「来んなよ!!」とか言われているし
簡単に言えば出来上がりのコードがゴミ
>>157 かわいそうに
先生から動作を質問されたらどうするの?
>>163 おいおいクソがまたまたトリ外してクソ自演かよwww
やっぱりQZはクズの略称だなwww
やっぱりカズゴミじゃねーかw
>>165 オメーが書けよwww
トリありでそれを言えねーなんてのは
やっぱりQZはクズの略称じゃねーかw
自信が無いんだろw
このチキン野郎ww
>>167 おいおいゴミクズ、
オメーが書けよカス
さっさとしろよwww
ノーガキ垂れてないでオメーが挙げろよアホwww
そんなんだから史ねとか言われんダよwwwwwwwwwwww
>>153 マジレスすると
> 関数 float func1(float x, int N) を定義
に違反
連レスすまん。
>>157 再帰という言葉は講義で出てきた?
出てきていないなら講義中の様子と提出されたコードですぐばれる
最初の指摘は正しかったってことか
>>150 math.hを使わないなら、
float func1(float x, int N){
float r = 1;
while (N--) {
r *= x;
r += 1;
}
return r;
}
フィボナッチ数列を求める関数の呼び出しの深さを求めたいのですが どのようにしたら良いのでしょうか。 int fib(int i) { printf( "enter fib(%d)\n",i); if((i==0)||(i==1)){ return(1); }else{ return(fib(i-1)+fib(i-2)); } }
>>178 int fib(int i){
static int c = 0;
printf("count=%d¥n", ++c);
printf("enter fib(%d)¥n", i);
if ((i == 0) || (i == 1)) {
return (1);
} else {
return (fib(i - 1) + fib(i - 2));
}
}
>>180 その図で言う深さって、i-1だろ?
図形を描画したいなら「svg」で検索。
あと、宿題なら
>>1 のテンプレートに従ってくれ。
質問の意図や前提をくみ取れない糞質問 が多い。それで回答者が逆質問をしたり 悪口を言ったりする。それを前もって思 い描く力が絶望的に欠如してるに違いない。 スーパーハッカーだけが意図を理解できる。 レアなそういう神が颯爽と登場する予感。
f(n) の時 呼び出しの深さは n-1 。キっつ
>>178 int fib(int i, int hukasa)
{
printf( "enter fib(%d),hukasa(%d)\n",i, hukasa);
if((i==0)||(i==1)){
return(1);
}else{
return(fib(i-1, hukasa+1)+fib(i-2, hukasa+1));
}
}
#include <stdio.h> int main(void) { int a, b, c; /* 整数変数a,b,cの宣言 */ printf("身長を入力してください"); scanf("%d", &a); printf("体重を入力してください"); scanf("%d", &b); printf( "%d-%dは %d\n", a,b,c); /* 表示 */ return 0; } こちらのコードを少し変えて 身長と体重の変数(どちらも倍精度実数変数)を宣言 身長と体重を入力し、画面に表示する 身長と体重の表示はprintfを1回使用する 身長と体重は小数点以下1桁を表示させる 適宜コメントを書く 【実行結果例】 身長を入力してください(cm)?170.5 体重を入力してください(cm)?65.5 慎重派170.5で、体重は65.5です。 という感じにしたいのですがよければ教えてください!
テンプレ書けない、かわいそうな子多いね
きっとテストも名前欄への記入とか忘れちゃうかわいそうな子なんだろ うっかり0点とか取りそうな勢いDA☆
[1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): #include <stdio.h> int main(void) { int a, b, c; /* 整数変数a,b,cの宣言 */ printf("身長を入力してください"); scanf("%d", &a); printf("体重を入力してください"); scanf("%d", &b); printf( "%d-%dは %d\n", a,b,c); /* 表示 */ return 0; } こちらのコードを少し変えて 身長と体重の変数(どちらも倍精度実数変数)を宣言。身長と体重を入力し、画面に表示する。身長と体重の表示はprintfを1回使用する。身長と体重は小数点以下1桁を表示させる。適宜コメントを書く。 【実行結果例】 身長を入力してください(cm)?170.5 体重を入力してください(cm)?65.5 身長は170.5で、体重は65.5です。 [3] 環境: [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5 [3.3] 言語: c++ [4] 期限: 2012/05/11 5:00PM スレ汚しすみませんでした。
189 :
デフォルトの名無しさん :2012/05/10(木) 22:23:32.25
1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/kGj9u7Sm 利用時間x分を入力すると、上記にあるプログラムのサービスのうち、最も安いサービスの名称とその料金を計算し出力するプログラムを関数charge1、 charge2、 charge3を利用して作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月11日
[5] main関数側でサービス1、2、3の各料金を関数関数charge1、 charge2、 charge3を利用して計算して、比較する。
よろしくお願いします。
190 :
デフォルトの名無しさん :2012/05/10(木) 22:29:57.61
[1] 授業単元:プログラミング [2] 問題文: 1つの整数n(但しn>=1)を入力するとn!を返すseki関数を作成する。 そしてn枚のカードからr枚のカードを選ぶ組み合わせを計算するプログラムを作成しなさい。 但し、n≧1、r≧1、n≧rを前提とする。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月11日 13:00 よろしくお願いします。
>>190 なんかどっかで見たな
今はこういうのが流行ってるのか?
n!を返すseki関数はカンタンにオーバーフローするぞ、
それを実感するためのありがたーーい課題か?
そういう教育意図があるなら、
すぐにオーバーフローするゴミプログラムをプレゼントしよう
面白いこと書いたら、どれかに答えてもいいよw
198 :
192 :2012/05/11(金) 00:23:06.37
なんで俺がまきこまれるの?
sekiを前提にしたら seki(n) / seki(r) / seki(n - r); にするのが普通
ようやくありがたーーーーい()プログラムがお出ましになった 素晴らしい まさに芸術だ QZはテンチャイだ この課題の意図を存分にお捉えになられたムダのないスリームなコードをお書きになる いやはやオレの出る幕じゃねーなw
>>197 いいからお前はそれが割り切れることを証明しろよw
Qは本当にクズそのものだな
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
http://codepad.org/CGHSc4Yi [3] 環境
[3.1] OS: Ubuntu
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: c
[4] 期限: 12日
[5] 迷路探索なのですが、探索関数内で最短経路の出力の仕方が分からず困ってます。
現在余分な探索経路も出力されてしまう状況です。
>>188 http://ideone.com/76ywO http://ideone.com/f1tqt ※誤字修正バージョン
学校の授業レベルだとすればコメント入れろ系は相当厄介。
ココに依頼すること自体相当危険だと自覚すべき。
ちゃんとチェックする先生の場合即ばれるのでコメントだけは自力で何とかする事。
おそらくint型だけではなくdouble型もprintfやscanfで入出力できるようにしましょうねという意図なのだろうとは思うけど。
ideoneの出力があなたの出力結果と一致していないのはideone側の仕様です。
>>2 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ここを書かない人がとにかく多い。
190は三項演算や前置デクリメントを知っているのだろうか…
>>206 >ここを書かない人がとにかく多い。
>190は三項演算や前置デクリメントを知っているのだろうか…
お前馬鹿か?
習いたての頃の思考パターン、Cのすべてを理解しているわけではないという限られた情報下での行動パターンを想像できないのか?
そういうお前のような奴を「専門馬鹿」という。
お前のような初学者を見下す人間が、やがては制御不能な発電装置を事故らせて責任転嫁に終始するんだ。
お前は世の中にとって害だ。方針転換できないのならはやく死ね。
>>205 visitの最後のprintfの行を
if(*goal) printf("(%d,%d)",ri[sp],rj[sp]);
に変えればとりあえずの答えは表示されるかな(最短かどうかは知らない)
riとrjは使ってないから
if(*goal) printf("(%d,%d)",i,j);
でもよさそうだが
211 :
デフォルトの名無しさん :2012/05/12(土) 11:45:26.56
1] 授業単元:プログラミング演習 [2] 問題文: 購入金額1万円以上になると送料500円が無料になり、購入金額3万円以上になると送料無料、代金1割引になる。 単価5千円の品物Aと、単価3千円の品物Bの購入数をそれぞれ入力すると、値段を返すnedan関数を作成。 そして品物Aと品物Bを入力すると代金を計算し、出力するプログラムをmain関数からnedan関数を呼び出す形で作成しなさい。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:5月13日 [5] nedan関数は、引数が品物Aと品物Bの個数を表す2つの整数型変数、戻り値は代金を表す整数型変数。 よろしくお願いします。
#include <stdio.h> int nedan(int a, int b) { int sum = a * 5000 + b * 3000; if(sum < 10000) sum += 500; else if(sum >= 30000) sum *= 0.9; return sum; } int main(void) { int a, b; scanf("%d%d", &a, &b); printf("%d\n", nedan(a, b)); return 0; }
素っ気ない プリント文少なすぎ
よろしくお願いします。
[1] 授業単元: プログラミングC
[2] 問題文(含コード&リンク):
値xの二乗値および三乗値を返す関数形式マクロ
sqr (x)
cub (x)
を定義し、下記(※)のようにint型変数、double型変数を用いた結果を表示しなさい。
※:
http://kie.nu/a4f [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2010
[3.3] 言語:どちらでも可
[4] 期限:5/14
[5] その他の制限: 初歩的なものでお願いします。
216 :
デフォルトの名無しさん :2012/05/12(土) 18:26:38.09
[1] 授業単元:プログラミング [2] 問題文: 国語、数学、英語の得点を受け取ると、その合計点を返すgoukei関数と3教科の合計点を受け取ると それが200点以上の場合にはA、150点以上200点未満の場合にはB、150点未満の場合にはCを返すhyouka関数を作成せよ。 そして国語、数学、英語の得点を入力し、その合計点と成績を出力するプログラムをmain関数からgoukei関数およびhyouka関数を呼び出す形で作成しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月13日 [5] その他の制限:goukei関数は整数型、goukei関数への引数はデータ型は整数型。 hyouka関数のデータ型は文字型、hyouka関数への引数のデータ型は整数型。 よろしくお願いします。
>>215 その使い方では問題は顕在化しないが、マクロの引数は、マクロのボディーでは括弧をつけるのが普通。
#define sqr(x) ((x) * (x))
#define cub(x) (sqr(x) * (x))
#define sqr(x) (x * x)
で
sqr(2+2)
を考えてみよ。
>>215 もうひとつあった。
> printf("その数の二乗は%lfで\n三乗は%lfです。\n", sqr(d), cub(d));
%lf は褒められたものではない。%f にしておくのが無難。
ISO/IEC 9899:1999 6.5.2.2.6
If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument,
and arguments that have type float are promoted to double.
These are called the default argument promotions.
>>217 マクロ全然使わないからなー
そうなのか。 ありがとう
>>218 ああそうか、書いてて違和感はあったんだけどな。
ていうかscanfは%lfなのにprintfは%fなのはなんで?
英語よくわからん
>>219 >scanfは%lfなのにprintfは%fなのはなんで?
白状すると、実は確実な記述を規格に見つけることができないでいます。
>>218 の引用は間接的にしか触れていないようです。
識者のご意見を伺いたいところです。
はちみつ餃子さんからコメントがあればうれしいのですが、はちみつさん、こっちみないみたいだし。
私の解釈では、
printf() ような可変長引数を持つ関数に、仮に float 引数を記述しても、この場合は double に格上げされます。
したがって仕様としては、可変長引数を持つ printf() の書式指定子に float 用というものは準備する必要がないと考えます。
だから %f は double 用と決めてしまって問題ないわけです。
だたし、C99 からは %lf も容認されたようです。これも私は未確認。
簡単な指摘のときだけ張り切るなw
>>224 あなたのいうところの「自演」の定義を教えてください。
かりに私がトリップを全然つけなかったら、これは自演とはいわないのでしょうか?
自演というのはトリップの着脱とはなんら関係ないと思いますが、いかがでしょうか?
事実と反する無意味な仮定
printfの%lfはあまりに良く誤用されるのでISO/IEC9899/1999(C99)では正しくなっただろ
Qを相手にすんなって
>>225 みたいに
>あなたのいうところの「○○」の定義を教えてください。
こればっかしだから
根っからのKYだぜこいつは
多分アスペルガーなんだろうな
>>228 そりゃ使う言葉の意味が最初から食い違っていては時間の無駄だから、いちいち確認するのは普通なのでは?
あんたそれでもム板の人?
232 :
デフォルトの名無しさん :2012/05/13(日) 00:53:58.37
[1] 授業単元:プログラミング演習 [2] 問題文: 預金高a、年利r、年数nを受け取ると、利子(複利)を含めたn年後の預金高を返すyokin関数を作成。 そして預金高a、年利r、年数nを入力すると1年後からn年後までの利子を含めた預金高を計算し、出力するプログラムを main関数からyokin関数を呼び出す形で作成しなさい。 但し、利子は複利で加算されるとし、年利rは百分率で入力する。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月14日 [5] その他の制限: main関数でfor文を使い、nを変化させながらyokin関数を呼び出す。 yokin関数でも以下の式を参考にしてfor文を用いてn年後の預金高を計算する。 預金高1000円、年利2%の複利の場合、1年後の預金高は 1000円*1.02 預金高2000円、年利2%の複利の場合、3年後の預金高は 2000円*1.02*1.02*1.02 よろしくお願いします。
235 :
デフォルトの名無しさん :2012/05/13(日) 07:23:29.54
[1] 授業単元:プログラミング
[2] 問題文:
ransuu関数は整数型の引数uを受け取ると1からuまでの乱数を返す。
この関数を用いて、1から6までの乱数を100回発生させる。
1から6までのそれぞれの数が発生した回数を出力しなさい。
http://codepad.org/2MXb2oGy [3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限:
main関数でfor文を用い、100回ransuu関数を呼び出す。
ransuuの結果により、1から6までの回数を入れるそれぞれの変数をカウントする。
出力例
1:18回
2:15回
よろしくお願いします。
#include <stdio.h> #include <stdlib.h> int ransuu(int u) { static int first=1; if (first==1) { srand((unsigned int) time(NULL)); first=0; } return(rand()%u+1); } int main(void) { int i, kaisuu[7] = {0}; for(i = 0; i < 100; i++) kaisuu[ransuu(6)]++; for(i = 1; i <= 6; i++) printf("%d:%d回\n", i, kaisuu[i]); return 0; }
237 :
デフォルトの名無しさん :2012/05/13(日) 08:42:51.14
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/rhGmw4wz 上記のプログラムnadd関数を修正して、2から30000までの偶数の和を求めるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日13:00
よろしくお願いします。
240 :
デフォルトの名無しさん :2012/05/13(日) 10:00:15.68
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/GPP4IwcH 上記のmain関数を修正して、1から5までの和と積を求めるプログラムに修正しなさい。
ただし、add関数の変数nを変数n1、multi関数の変数nを変数n2に変え、これらの変数をグローバル変数としてmain関数の前で宣言。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限:
printf文の途中経過の出力は数値のみ。
「1st time」「2nd time」・・・の出力はあっても無くてもよい。
よろしくお願いします。
for(i = 1; i <= 30000; n += i, i++); てなんかクソ気持ち悪い書き方してんな 何これ? 何の意味があんの? お前が描いたの? それとも誰か別のアホがやったの・
>>241 for(n = 0, i = 1; i <= 30000; n += i, i++);
だったらあり
しないけど
>>238 >>235 のリンク先をそのままコピペしただけ
いつもバカにされてて悔しいからって、問題とそのリンクを確認せずに脊髄反射してるようじゃ
これからも恥を重ねるだけだぞw
>>244 うはっ、俺いいこと言ったと悦に入ってるんだからそっとしといてあげなよ
st nd rd th を文字列にして%d%sで表示すればバカみたいなsprintfとかいらないのになw
元の関数がグローバル変数を引数にとってないのに、そこを勝手に変えたら減点される
>>230 コテ外して反論書くなや気持ち悪いQ
コテ付けて書けよキチガイ
>>248 >恥とかよくわからないのですが
そりゃお前には分からんだろうよ
人間の感情を持ち合わせてない豚だもんな
>>253 お前の身から出た錆だろ
こいつ真性の馬鹿だな
あんだけ間違いやらクソコードやら晒しても平気な顔してるんだから、 恥とか感じないんだろうな
>>256 おやくそく。
間違いはありましたが指摘されれば修正をかけております。修正されていないコードがあるというのであればURLを示してください、霧。
たしかに糞コードはないとはいいません。しかし糞コードというのであればどこがどう糞なのか URL を示して説明してください、霧。
修正すれば間違っていいわけじゃない 普通は指摘される以前に間違えない クソコードなのは今まで何度も指摘した
>>258 おやくそく
>修正すれば間違っていいわけじゃない
当然だ。しかし数をこなせば間違えないで居続けることは困難。毎月の Windows Update の数をしらないのか?
>クソコードなのは今まで何度も指摘した。
それなりのスピード感をもって数をこなせば糞コードもたまには書いてしまうだろう。それとも全部が糞とでも?
宿題スレで間違えないことが困難とか、どうしようもないくらいのアホなんだな 間違えるほうが難しいのに
>>259 Windows Updateを引き合いに出すなら、同じくらいコードを書いた上で、
どのくらいのバグ件数があるかを比較しろ。
>>260 それは見解の相違ですなあ。結構むずかしいのもくる。
ま、これ以上は水掛け論。今後もやってくる宿題のこなし具合を回答としましょうか。 いままではほいほいと書いてはup、書いてはup してましたが、ちょっと慎重にやってみます。
おっ逃げたか 自分が論破されそうになるとサッと逃げる どれだけチキンなんだよw
265 :
デフォルトの名無しさん :2012/05/13(日) 23:08:30.54
[1] 授業単元:アルゴリズムとデータ構造 [2] 問題文: 配列を用いる方法で線形リストを実装する。 [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月14日 [5] その他の制限: 条件 各操作には誤作動を防ぐチェック機能をつける。 配列サイズはMAX_SIZEで指定 追加されるデータの値は追加するごとに1から+1される 実行結果 0 0 0 1.先頭に追加 2.先頭を削除 9.終了:1 1 0 0 1.先頭に追加 2.先頭を削除 9.終了:2 0 0 0 1.先頭に追加 2.先頭を削除 9.終了:1 2 0 0 1.先頭に追加 2.先頭を削除 9.終了:1 3 2 0 1.先頭に追加 2.先頭を削除 9.終了:1 4 3 2 1.先頭に追加 2.先頭を削除 9.終了:9 プログラムの作成お願いします。
なんかQZが饒舌になってんだな。なにがあったの
>>257 何度か指摘をして、何度か修正しているのを見た。それは問題ないと思うんだが、
どこがどうダメであるかを伴って指摘をしろというのは傲慢であり、思考停止だとおもう。
頭をひねってもどこがダメか分からないとき、それは教えを請う立場へと逆転すべきなのでは。
Qへの攻撃すごすぎワロタ 普通は口で罵り合いをしてそのうち人格攻撃に移っていくものだが Qの場合いきなり人格攻撃されてるwww よほど嫌われてる証拠だよw というか議論にすらならない屁理屈ばかり言うもんだから呆れてるんだろうな 構わない奴は構わないし構う奴はいきなり人格攻撃
結局何もわかってない
てす
>>268 >どこがどうダメであるかを伴って指摘をしろというのは傲慢であり、思考停止だとおもう。
程度によりけり、としかいえないのかもしれません。
単なる指摘に対しても可能な限り追求はあきらめていないつもりです。
(ここで言及するのはおこがましいけれども、この前、バッファーオーバーフローによる bus error /アラインメント不正などは、夜通し考えた挙句に、翌日ずる休みをして減給されました :-))
(
http://hibari.2ch.net/test/read.cgi/tech/1311089619/423,469,493,518 、このときも指摘者はいじわるなように見えてかなりの情報を提供していただいていたことにずいぶん後になって気がついた、という未熟者ぶりだと今では考えています。)
そういう過去の姿勢を勘案していただいた上で、私が
「だめだというのならば、どこがどうダメであるかを伴って指摘せよ」と主張するのは、あながち人の道を踏み外してはいないと思うのですが、いかがでしょうか?
[1] 授業単元:プログラミング言語 [2] 問題文 ・以下の2つの式は数学的には等価である -(a-b)+1 -a-(b-1) ・しかし、次のプログラム(a,bを10^nにしてnを1~20に変化させる)を実行すると、ある段階から等価でなくなる #include <stdio.h> int main(void) { float a, b, r; a = 10.0; b = 10.0; r = 0.0; for(int i = 1; i <= 20; i++){ printf("i = %d\n",i); printf(" a = %f\n",a); printf(" b = %f\n",b); r = (a - b) + 1.0; printf(" r = %f\n",r); r = a - (b - 1.0); printf(" r = %f\n",r); printf("\n"); a *= 10.0; b *= 10.0; } return 0; } ・等価でなくなる理由は情報欠落が発生しているためだが、具体的にどのように発生しているかを調査し300文字程度で考察せよ [3] 環境OS:windows7 ソフト:MicrosoftVisualStudio2010 言語:C++ コンパイラ名とバージョン名は今わかりません
普通の人間なら指摘された時点で気づくようなことを、幼稚園レベルの自分に合わせて説明しろって要求がずうずうしいんだよw
i = 11 a = 99999997952.000000 b = 99999997952.000000 r = 1.000000 r = 1.000000 i = 16 a = 10000000272564224.000000 b = 10000000272564224.000000 r = 1.000000 r = 0.000000 i=11以降aとbの値が変わることと i=16以降等価でなくなる理由を教えて下さい
つ単精度
>>275 Qは在日チョンじゃないかという気が最近してならないw
>>270 >>口で罵り合いをして
>の段階はとうに終わっており、最終形にいきなり移行しているようにみえるだけ。
という事は自分が人格攻撃されるに足りるだけの歪んだ性格の持ち主である事は
認めるんだな?
議論する気がなく屁理屈ばかり言って皆に呆れられている事も認めるわけだな?
お前マジでリアル生活どうしてんの?この板だけですらこれだけ嫌われてるのに、
現実生活が成り立つはずがないんだが
すごい妄想力だ
私にはQZaを罵ってる人がせっかくの好スレを台無しにし続けているようにしか思えないけど。
>>275 >普通の人間
「普通」の定義を教えてくださいね。
ドストエフスキーによれば、変人こそ普遍的な存在であり、普通の人というのは「なにか急な風の吹き回しでしばしば変人から」なにかを失ったり、大事な部分を切り取られたりした片輪な存在、とのことですよ。
まあドストエフスキー自体が変人でしたけど。
それはともかく、幼稚園レベルでいいから説明してごらんなさいよ。あんがい幼稚園レベルじゃないかもしれませんよ。
>>282 今日も自演認定ご苦労様です。もう少し精度をあげるよう努力してください。
285 :
デフォルトの名無しさん :2012/05/14(月) 21:30:09.13
[1] 授業単元:プログラミング演習 [2] 問題文: 円の半径rを受け取ると、rからこの半径の円の周囲の長さlと面積sを計算するcircle関数を作成。 そしてmain関数でrを入力すると、circle関数でlとsが計算され、その結果をmain関数で出力するプログラムを作成しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限:5月15日 [5] その他の制限: 円周率は3.14 return文では関数の処理結果は1つしか返せない。円周と面積を入れる変数をグローバル関数として宣言する。 関数circleはvoid型関数となり、rを引数としてlとsを計算する処理を記述。 よろしくお願いします。
>>285 > 変数をグローバル関数として宣言する
287 :
デフォルトの名無しさん :2012/05/14(月) 21:43:59.86
>>286 > 変数をグローバル変数として宣言する
関数でなく、変数の間違いです。すみません。
日本人って非論理的なんだな。おまいらの書き込み見てると思うわ
>>284 だめだこいつアスペに加えて完全な自己愛性人格障害だ
もうリアルの生活が完全に破綻している事ははっきりわかった
>>276 >i=11以降aとbの値が変わることと
これは私にも確認できていません。
>i=16以降等価でなくなる理由を教えて下さい
ちょっと突飛な喩えをしてみますね。かえってわかりにくくなってしまったらごめんなさい。
C の型のうち、例えば unsigned int について考えます。私の環境では unsigned int は 最大 4294967296 まで表現できます。
ここで unsigned int a = 4294967295、int b = 2 として、unsigned int c = a + b を計算したらどうなるでしょうか?
数学的な a + b の値 4294965297 は unsigned int の表現できる範囲を超えるので c の値は 4294967297 にはならないことは推測できるでしょうが、実際、ではなにが抜け落ちてしまうのでしょうか?
答えは、上の桁から情報が抜け落ちてしまいます。私の環境では c の値は 1 になります。429467296 分が抜け落ちてしまったのです。
このように C のある種の型は、演算によっては大きい数の情報が抜け落ちてしまい、しかもエラーが出て止まったりしない、という困ったことがおきるので計算させる前に注意する必要があります。
C の型 float も、もし計算結果がある種の範囲を超えた場合、やはり情報が抜け落ちてしまう場合があります。が、int と違って、小さい方の情報が抜け落ちてしまいます。
a-(b-1)
の計算をしたときに、b がとてつもなく大きな数になると、b - 1 ==> b になってしまう場合があるのです。b が大きすぎるので b にくらべて小さすぎる 1 が抜け落ちてしまうんですね。
だから、情報が抜け落ちない計算
(a-b)+ 1 = a - b + 1
と、情報が抜け落ちてしまう計算
a-(b-1) ==> a - b
が異なる結果になってしまうのです。
数字を記憶する変数 a, b, が有限のメモリ量しか使えない以上、桁数がたくさんある数を記録させようとすると、その上から(unsigned int)、あるいは下から(float) 情報が抜けてしまうのです。
>>289 「アスペ」や「自己愛性人格障害」の定義を述べてください。その上で私ことQZaw55cn4cがそれにあてはまるかどうか考えて見ましょうよ。
たぶん、
>>289 自身がかかっている病気。だから詳しい。
でも、医者じゃないから定義はできない。
考える能力のない人間が何言ってるんだろう
294 :
デフォルトの名無しさん :2012/05/14(月) 23:14:39.89
すいません! あるクラスに静的な配列を動的にインスタンスを作成したいのですができるでしょうか? 下記のコードは間違っていると思うんですけどどう直したらいいかわかりません! class hoge{ static int *piyo; hoge(int i){ huge[] = new int[i]; } }
>>293 考える能力の有無をどの点から判断したのかその根拠を述べてください。
296 :
デフォルトの名無しさん :2012/05/14(月) 23:18:01.05
>>294 はhuge[]ではなくpiyoです!
間違えました!
>>285 #include <stdio.h>
double l, s;
void circle(double r)
{
l = 2 * r * 3.14;
s = r * r * 3.14;
}
int main(void)
{
double r;
scanf("%lf", &r);
circle(r);
printf("l = %f\ns = %f\n", l, s);
return 0;
}
>>294 > 静的な配列を動的にインスタンスを
まず貴様の言わんとすることが不明
あるクラスに
・静的な配列を
・動的にインスタンスを
作成したいのですが
てな意味なのか?
300 :
デフォルトの名無しさん :2012/05/15(火) 00:06:42.71
[1] 授業単元: プログラミング [2] 問題文(含コード&リンク): x_i∈{0,1}であるとき、次の漸化式で与えられる数列(M系列)を示しなさい。 また、p>1と得られる系列の周期について考察しなさい。 x_n=x_(n-1)+x_(n-p) ただし、加算+は排他的論理和(XOR)を表す。 また、第p-1項まではすべてが0である場合を除いて、scanfで任意に与えてよい。 実行例には、次の場合を含めなさい。 p=3: 初期値 x_0=1, x_1=0, x_2=0 のとき、x_3=1, x_4=1, x_5=1, x_6=0 XOR 0 1 0 0 1 1 1 0 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 5/22 [5] その他の制限: 配列のサイズの最大値はマクロ定義 #defineを用いて定義する 配列の添字を適切な範囲で使用する 文字列のループ文を適切に(文字列の長さを使わないで)作る ポインタなどは用いない 無限ループwhile(1)などは使用してはいけない.
301 :
デフォルトの名無しさん :2012/05/15(火) 00:21:52.43
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/3d8CbXUM 上記のプログラムのfunc2のようにstatic変数を関数内で宣言して、main関数側で変数nに1つの偶数を入れると
2からnまでの偶数の和と積を計算して出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月15日 13:00
[5] その他の制限:
nには正の偶数が入力されることを前提とする。
(入力例)n=? 6
(出力例)和 12 積 48
よろしくお願いします。
302 :
デフォルトの名無しさん :2012/05/15(火) 00:26:28.22
>>299 C++で動的に配列を宣言するにはnew演算子などで一々インスタンス化しないといけないと思ってました。
間違えました。
要は、
無限ループ手前で呼び出されるメソッドで、動的に配列メンバを作成し
無限ループ中でそれらを参照したいということです。
この時、一定の条件下で動的に配列メンバを作成し直すことができるか?
という質問です。
303 :
デフォルトの名無しさん :2012/05/15(火) 00:32:29.54
>>298 おおお
これって、もう一度コンストラクタを呼び出したりして
たとえば
class hoge a(t);
とできますか?(static成分の配列の要素数変更)
あとそのサイトってどうやって使うんですか
>>291 その「○○○の定義を述べてください」というのがQお得意の土俵である事は誰でも分かっている
だから誰も今やその土俵にノコノコと乗らない
屁理屈の応戦が待っているだけで議論に全くならなくて時間と精神のエネルギーの無駄になるだけ
>>303 この問題はplacement newを使う方が綺麗に書ける
>>303 >もう一度コンストラクタを呼び出したりしてたとえば
>class hoge a(t);
>とできますか?
ざんねん、そうかいてない以上できません。こういうときは std::vector の出番でしょうね、すらっと思い浮かばないです。
>そのサイトって
?
306 :
デフォルトの名無しさん :2012/05/15(火) 01:58:57.55
cordpad.org
>>307 この口調で自分の都合の悪いレスはいつもコテを外して書いていると確信した
>>310 なんで俺が書かなきゃならねーんだよ
>>307 は俺じゃねーし
それだけ多くの奴に嫌われてんだなおめー
めでたい奴だな
>>312 お前壊れたラジオだな
NGに入れる事にした
あぼーんではなくて透明あぼーんにしとくね
>>270 > 指摘がなければそのままであったであろうことは、容易に推測できます。
>>273 > そういう過去の姿勢
> =
> 単なる指摘に対しても可能な限り追求はあきらめていないつもり
まとめると、いわれれば直すけど、いわれなければそのままだと。
じゃあやっぱり
>>268 は間違えていない
QZってIQ100未満だろうな
QZの粘着がうざい
>>268 は明らかに正しいな
Qは自分の頭の悪さを棚に上げて「どう書けばいいプログラムになるのか教えなさい」と
命令している
お前そんな立場じゃないだろ、「教えてください」と頭を下げる立場だろと思うんだろうが
Qの傲慢な性格がそうはさせないわけだ
そして皆が愛想を尽かすと「じゃ今のまま行くぜ」と言って終わり、今までこれの繰り返し
これじゃ嫌われても仕方ないぜ
こんな性格のひねくれた奴を好きになる物好きはいない
322 :
デフォルトの名無しさん :2012/05/15(火) 18:25:38.40
>>314 Vectorって予めメモリを保持してるってことですよね・・・
もったいない気がする
16Mのメモリを確保していいかと、 システム管理者に了解もらったことがあったな。 ずいぶん昔の話だけど、今もそうしてるのかな?
>>322 capacity() メソッドで調整できたような記憶があります。
>>321 >「どう書けばいいプログラムになるのか教えなさい」と命令している
違うね。
糞だと主張するなら、どんな点が糞か具体的な記述をしろ、糞だ糞だというだけなら猿でもできる、といっている。
それはそうと、お前が
>>304 のかわりに
>>307 の疑問に対して反証してみてくれんかね?
>>318 >いわれれば直すけど、いわれなければそのままだと。
>>268 の意見は臓腑に染み渡りました。それでも、書き方を手取り足取り教えろ、と主張しているわけではなく、割り切れない想いをしていると述べたまでのこと。
まあ、糞よばわりする者も、所詮、
>>304 と平気で主張するくらいのレベルなんだな、と感じた次第。
>>307 の疑問を解消していただけるとありがたいのですけど、どうでしょうか?
効いてる効いてるwww
ここがクソって指摘すると大抵の人は何がクソなのか理解するけど、 クズは理解できないで自分の頭の悪さを棚にあげて理解できるまで説明しろっていうのがうざい
両方ともあっちのスレでやってればいいのに こっちにでてくんな
332 :
268 :2012/05/15(火) 20:26:08.36
placement newを使うときれいに書けるかどうかはさておき、
動的に配列を用意する必要が本当にあるのかどうかが分からないのと、
それが必要でかつ、vectorで実装するのであれば、要素の増減の度合いによっては
切り詰める処理(別のインスタンスに内容をコピーする)を入れておいたほうがいいね。
やりたいことのコード片をあげてくれればなんかアドバイスできるかもしれない、けど、ここは宿題スレだよ。
>>324 関係ない
334 :
デフォルトの名無しさん :2012/05/15(火) 21:35:10.43
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/4r1e9DdC 上記のransuu関数を用いて、以下のような数当てゲームプログラムを作成せよ。
このプログラムはmain関数とransuu関数からなるプログラム。
①1から100までの整数乱数を1つ発生させる。
②利用者に1から100までのある整数を入力してもらう。
③発生した乱数と入力した数が同じなら"当り"、乱数の方が入力した数よりも大きければ"もっと大きい"、乱数の方が入力した数よりも小さければ"もっと小さい"、と表示する。
④数を当てることができなかった場合には、もう一度数を入力してもらう。
⑤6回以内に当たった場合には"あなたの勝ち"と表示して終了。6回続けて外れた場合には"あなたの負け"と表示して終了。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月16日
[5] その他の制限:
while文とbreak文を使用する。
よろしくお願いします。
丸投げを重ねると最後は泣くことになるけど、いいのか?
>>336 お前の宿題には全く興味ないけど
girl.pgm、zukei.pgm、
の実物くらいは欲しいと思うじゃん?
それがフツーじゃん?
そこんとこどーなのよ?
341 :
デフォルトの名無しさん :2012/05/15(火) 23:38:37.54
名古屋大学院なの?
343 :
デフォルトの名無しさん :2012/05/16(水) 00:34:45.73
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): ピリオドの後に拡張子が付いているファイル名file.docが 与えられたとき, 拡張子の無いファイル名部分(file)と, 拡張子(doc)に分け, 文字列の配列 fname[][]に代入するプログラムを 作成しなさい. 結果も表示すること. ただし、文字列のループ文は文字列の長さを使わないで作り、 ポインタ、無限ループなどは使用してはいけない. [3] 環境 [3.1] OS: Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限: 2012年5月23日 お手数ですが、よろしくお願いします!
>>341 <p>解答例1</p></H3>
<p>
<table border BgColor="#aaffff"><td><font size="+1"><pre><font color=black>#include <stdio.h>
int main(void)
{
double a,b,sekibun,exact<font color=red>,x,dx</font>;
int n<font color=red>,i</font>;
printf("x^2をaからbまで台形則を用いて数値積分します。\n");
printf("aとbを入力してください。\n");
scanf("%lf %lf",&a,&b);
printf("分割数nを入力してください\n");
scanf("%d",&n);
<font color=red>dx=(b-a)/n;
x=a;
sekibun=0.0;
for(i=0; i<n; i++)
{
sekibun += (x*x+(x+dx)*(x+dx))*dx/2.0;
x += dx;
}</font>
exact=(b*b*b-a*a*a)/3.0;
printf("数値積分値は%20.15lfです。\n",sekibun);
printf("厳密値は%20.15lfです。\n",exact);
printf("誤差は%20.15lfです。\n",exact-sekibun);
return 0;
}
<p>解答例2</p></H3> <p> <table border BgColor="#33ffff"><td><font size="+1"><pre><font color=black>#include <stdio.h> int main(void) { double a,b,sekibun,exact<font color=red>,x,dx</font>; int n<font color=red>,i</font>; printf("x^2をaからbまで台形則を用いて数値積分します。\n"); printf("aとbを入力してください。\n"); scanf("%lf %lf",&a,&b); printf("分割数nを入力してください\n"); scanf("%d",&n); <font color=red>dx=(b-a)/n; sekibun=(a*a+b*b)/2.0; for(i=<font color=blue>1</font>; i<n; i++) { x = a + dx*i; sekibun += x*x; } sekibun = sekibun * dx;</font> exact=(b*b*b-a*a*a)/3.0; printf("数値積分値は%20.15lfです。\n",sekibun); printf("厳密値は%20.15lfです。\n",exact); printf("誤差は%20.15lfです。\n",exact-sekibun); return 0; }
>>346 お前の宿題には全く興味ないけど
先に出てるのと同じ人?
それが俺の一番知りたいことじゃん?
それがフツーじゃん?
そこんとこどーなのよ?
>>332 >切り詰める処理(別のインスタンスに内容をコピーする)を入れておいたほうがいいね
いよいよ実装が思いつかないです。
>関係ない
ふむ。もう少し調べておきます。
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 平面上の位置座標(x, y)から相対的に(Δx, Δy)だけ移動した位置座標を求めたいとする。 (x, y)と(Δx, Δy)をそれぞれ配列として表現し、これを引数として受け取って 求めたい座標を返す関数void func1(double x[], double d[], double a[])を定義して、 その動作を確かめるプログラムを書きなさい。ただしx[]が元の位置座標、d[]が移動分、 そしてa[]に答え が代入されるものとする。(x, y)と(Δx, Δy)はキーボードから次で入力するものとする。 すなわち、main()は例えば次のように定義される。 int main() { double A[2], B[2], C[2];//Cはfunc1()で答えを得るための配列(返信用封筒と思えばよい) scanf("%lf %lf %lf %lf", &A[0], &A[1],&B[0],&B[1]); func1(A,B,C); //答えは以下で出力されるものとする。 printf("answer = (%lf, %lf)\n", C[0],C[1]); } [3] 環境 [3.1] OS: Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限: 2012年5月18日 よろしくお願いします
350 :
デフォルトの名無しさん :2012/05/16(水) 02:11:44.49
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 2x2の行列A,Bの差を求める関数void func2(int A[][], int B[][], int C[][])を定義して その動作を確かめるプログラムkadai4-2.cを作りなさい。 演算結果はC[][]に代入されて返されるものとする。 ただしAとBはキーボードから次で入力するものとする。 scanf("%d %d %d %d %d %d %d %d", &a[0][0], &a[0][1], &a[1][0],&a[1][1], &b[0][0],&b[0][1],&b[1][0], &b[1][1]); 答えは以下で出力されるものとする。 printf("answer = %d %d %d %d\n", c[0][0], c[0][1], c[1][0], c[1][1]); [3] 環境 [3.1] OS: Linux [3.2] コンパイラ:gcc [3.3] 言語: C [4] 期限: 2012年5月18日 よろしくお願いします
351 :
デフォルトの名無しさん :2012/05/16(水) 02:22:11.24
>>344 期限が迫っていたけどわからなかったのですごく助かります!
ありがとうございました!
>>349 #include <stdio.h>
void func1(double x[], double d[], double a[])
{
a[0] = x[0] + d[0];
a[1] = x[1] + d[1];
}
int main()
{
double A[2], B[2], C[2];//Cはfunc1()で答えを得るための配列(返信用封筒と思えばよい)
scanf("%lf %lf %lf %lf", &A[0], &A[1],&B[0],&B[1]);
func1(A,B,C);
printf("answer = (%lf, %lf)\n", C[0],C[1]);
}
>>350 #include <stdio.h>
void func2(int A[][2], int B[][2], int C[][2])
{
C[0][0] = A[0][0] - B[0][0];
C[0][1] = A[0][0] - B[0][1];
C[1][0] = A[1][0] - B[1][0];
C[1][1] = A[1][1] - B[1][1];
}
int main()
{
int a[2][2], b[2][2], c[2][2];
scanf("%d %d %d %d %d %d %d %d", &a[0][0], &a[0][1], &a[1][0],&a[1][1], &b[0][0],&b[0][1],&b[1][0], &b[1][1]);
func2(a, b, c);
printf("answer = %d %d %d %d\n", c[0][0], c[0][1], c[1][0], c[1][1]);
}
>343 文字列を扱う以上ポインタを使用しないという解はありません。以上。
>355 配列に入った文字列の先頭一字にアクセスするのでさえポインタのお世話になっていることさえお忘れですか?
>>356 配列とポインタの区別もできねーのかよw
>357 Cの仕様書千回読み直すことをお勧めする。
これ以上無く適切なお勧めですよ。
>>354 まだ得意げに嘘をつく癖が直らないんだな
消えればいいのに
ということにしたいのですね。:)
頭おかしい書き込みはスルーしよう運動
プログラミングの単位強制的に取得したことになるプログラムまだー?
>>364 うまくいっても後で困るだけだからやめとけ
>>343 #include <stdio.h>
#define LEN 128
int main()
{
char fname[2][LEN] = {0};
char filename[LEN] = "file.doc";
int i, j;
for (i = 0, j = 0; filename[i] != 0 && filename[i] != '.'; i++,j++) {
fname[0][j] = filename[i];
}
if (filename[i] == '.') i++;
for (j = 0; filename[i] != 0; i++, j++) {
fname[1][j] = filename[i];
}
printf("%s\n", filename);
printf("%s %s\n", fname[0], fname[1]);
return 0;
}
>>367 ポインタ使ってる箇所をすべて挙げてみて
全部だと多いので、一例。 > printf("%s\n", filename); filename(これ自体は配列型)は評価されるとその先頭要素をさすポインタとなる。 "%s\n"(これもリテラル自体は配列)も同様。 printfはこれも関数ポインタとなる。 手元にあったC11ドラフト(N1570)なら 6.3.2.1:Lvalues,arrays,and function designators、6.5.2.2:Function Callsを参照。 C99でも同様(章番号は変わっとるかも知れんが) 6.5.2.1:array subscriptingも見といた方がいいな
補足しておく。 御題が"ポインタを使うな"であるからツッコんでいる。 "ポインタ変数を使うな"ならスルーしてた。
>>370 >全部だと多いので、一例。
全部書き出して
>>350 ,353
>C[0][1] = A[0][0] - B[0][1];
↓
>C[0][1] = A[0][1] - B[0][1];
> char fname[2][LEN] = {0}; > char filename[LEN] = "file.doc"; これはポインタ使用ではない。 > for (i = 0, j = 0; filename[i] != 0 && filename[i] != '.'; i++,j++) { 2箇所あるfilenameの評価時 なお、蛇足ではあろうが、それぞれで filename[i]が*(filename+i)の構文糖でありfilename+iもまたポインタである > fname[0][j] = filename[i]; filename,fname,fname[0]の評価時。 > if (filename[i] == '.') i++; filenameの評価時 > for (j = 0; filename[i] != 0; i++, j++) { filenameの評価時 > fname[1][j] = filename[i]; filename,fname,fname[1]の評価時 > printf("%s\n", filename); 説明済。 > printf("%s %s\n", fname[0], fname[1]); printf, "%s %s\n", fname(2回),fname[0],fname[1]の評価時 #include <stdio.h>は処理系に依存するためノーカンにしておく。 main自体の呼び出しやその前処理/後処理も処理系依存なので同様にノーカンとしておく。
どうせまた宣言/初期化のところで引っかかるとでも思ってたんだろうがな。
ところで、ポインタの話とは別に、ピリオドを2つ以上含むファイル名って最後のピリオドより後だよな?
×最後のピリオドより後だよな? →最後のピリオドより後が拡張子だよな?
うん。
379 :
デフォルトの名無しさん :2012/05/16(水) 22:07:18.96
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/gFfm4dhN 5人の身長をキーボートから入力するとその平均身長が出力されるよう、上記のプログラムを変更しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月17日
[5] その他の制限:
for文をを使用する。
よろしくお願いします。
>>377 一般的にはそうだけど先頭にだけドットがあるものは拡張子なしとして扱われるなど例外もある
>371 で、散々愚かさ晒け出しておいてもう言うことはないのかな?
>382 誤りであると主張するならそれを全部(根拠含めて)書いてくださいね。一部でなく。
>>383 ここは宿題スレなので、依頼者の依頼内容に沿っているかどうかですが。
あなたがどういう屁理屈を主張しようと、
それに対して間違いを指摘する義務もないし、このスレの主題でもありません
>384 つまり、反論できない、ということですね。 依頼内容に沿う解は無い、ということです。
>>385 それを決めるのは依頼者であり、あなたではないでしょ?
解がないと考えるなら、あなたはそれで発言終了です。
なんでQZごっこしてんの? うぜえ
388 :
デフォルトの名無しさん :2012/05/16(水) 23:00:32.20
>386 最初に書いた時点で依頼者が納得して終わっていれば別にそこで終わっていたんですがね。 嘘つき呼ばわりされる言われも無いので説明して差し上げたまでですね。
[1] 授業単元: 初級プログラミング演習 [2] 問題文:反復処理 異なる整数2つ、a,bを入力。実行例に記すように aからbまで順に数字を表示するプログラムを作成しなさい 【実行例】 整数を2つ入力してください a=22, b=28 22 23 24 25 26 27 28 [3] 環境 [3.1] OS:Linux(ubuntu) [3.3] 言語: C言語 [4] 期限:できれば明日まで [5] その他の制限: プログラミング初心者ですよろしくお願いいたします。
391 :
デフォルトの名無しさん :2012/05/16(水) 23:17:08.55
{1] 授業単元:プログラミング [2] 問題文: くじの0等から4等までの本数と賞金は次の通りである。 0等 1等 2等 3等 4等 5 10 25 150 810 本数[本] 10000 3000 400 100 0 賞金[円] 0等から4等までの本数をそれぞれ配列honsuu[5]に代入。 このくじの本数(合計)を計算しなさい。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:5月17日 [5] その他の制限: 配列を使用。 よろしくお願いします。
>>392 無事こちらの環境でも確認できました!
ありがとうございます。
395 :
デフォルトの名無しさん :2012/05/17(木) 00:13:35.96
>>393 ありがとうございます。
{1] 授業単元:プログラミング
[2] 問題文:
くじの0等から4等までの本数と賞金は次の通りである。
0等 1等 2等 3等 4等
5 10 25 150 810 本数[本]
10000 3000 400 100 0 賞金[円]
くじを1本引くときの賞金の期待値(平均値)を計算するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月17日
[5] その他の制限:
配列を使用。
よろしくお願いします。
398 :
デフォルトの名無しさん :2012/05/17(木) 00:36:54.19
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 配列・文字列 数字で入力した数を数値に変換するプログラムを作成せよ。 すなわち,入力を文字列"1234"として受け取り,整数に変換し、値1234にする。 負の数-1234にも対応すること。 小数12.34に対応した場合は加点する。 実行結果には、000, 0123や数字以外の文字を含む場合も入れること。 例えば、"12a34"は12に変換してよい。 ※無限ループ、ポインタ等は使用不可 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語:C言語 [4] 期限: 2012年5月20日 [5] 加点は狙いません。 すみませんが、よろしくお願いします!!
400 :
デフォルトの名無しさん :2012/05/17(木) 00:54:16.22
403 :
デフォルトの名無しさん :2012/05/17(木) 02:24:07.86
int kadai1(char* num_str){ return atoi(num_str); }
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): malloc と realloc を用いて、繰り返し入力された文字列を連結していく。 文字列 quit が入力されたとき繰り返しを終了してできあがった文字列を表示しなさい。 表示した後、free をする。 [3] 環境 [3.1] OS:Mac [3.3] 言語:C言語 [4] 期限:5/17 [5]ポインタを使用 よろしくお願いします。
>>405 #include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void) { char buf[256], *p = (char*)malloc(1); size_t len, size = 0;
while(fgets(buf, 256, stdin) != NULL) {
if (strstr(buf, "quit") != NULL) break;
p = (char*)realloc(p, size + (len = strlen(buf)) + 1);
strcpy(p + size, buf); size += len;
}
printf("%s\n", p); free(p);
return 0;
}
>>405 ずいぶんと複雑な日本語入力してんな
オマエ日本人か?
#include <stdlib.h> #include <stdio.h> #include <string.h> int main(void) { char buf[256], *p = (char*)malloc(1), *q; size_t i, len, size = 0; while(fgets(buf, 256, stdin) != NULL) { q = strchr(buf, '\n'); if (q) *q = '\0'; if (strstr(buf, "quit") != NULL) break; p = (char*)realloc(p, size + (len = strlen(buf)) + 1); strcpy(p + size, buf); size += len; } printf("%s\n", p); free(p); return 0; }
OSの関係で漢字が化けたんじゃない?
いんや 漢字は一つもバけてない 濁点だ 濁点だけ別個になってるなんて かなり高度なことしないとダメじゃん しかも調べてみれば参照の12441番をわざわざ使ってる 謎すぎる どういう入力方法ならこうなるんだ 不思議だ
>>409 *p = (char*)malloc(1)
したあとに
*p = 0;
が必要では?
濁点が俺のJane Styleでは中点の ・ に見える しかしこれはC++でstringを使えば簡単に出来てしまう所をそれと同じ物を バッファオーバーランしないようにCで作れって問題だよな 簡単そうに見えて難しそう
413が飛んでるんだけど何が書いてあるんだろう
417 :
デフォルトの名無しさん :2012/05/17(木) 12:57:23.37
教えてあげない
*p = (char*)malloc(1); をした後 *p = 0; とやったら1バイトメモリリークするんじゃないか?
>>419 それは p = 0; とやった時だと思う
>>419 ああ、ごめんなさい。
p = (char*)malloc(1);
*p = 0;
が必要と思ったのです。しかし、
>>409 は strcat を使っておらず、
strcpy(p + size, buf);
ですから、その必要はないですね。
ちょっと
>>409 を調べてみます。
>>415 いや、違うだろうと思います。ちょっと調べますのでじかんください。
423 :
デフォルトの名無しさん :2012/05/17(木) 18:46:56.80
{1] 授業単元:プログラミング演習 [2] 問題文: 100点満点の試験の学生10人の得点データをキーボードから 整数型配列data[10]に入力すると、最高点とその要素番号が出力されるプログラムを作成。 同点はないものとする。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:5月18日 [5] その他の制限: for文を使用。 よろしくお願いします。
#include <stdio.h> int main(void) { int i, data[10], max, idx; for(i = 0; i < 10; i++) scanf("%d", data + i); for(max = data[0], idx = 0, i = 1; i < 10; i++) { if(max < data[i]) { max = data[i]; idx = i; } } printf("%d %d\n", idx, max); return 0; }
この手の問題はすぐ回答がつくなw
おまえらみたいなC言語マスターになりてえわ
427 :
デフォルトの名無しさん :2012/05/17(木) 19:54:21.74
[1] 授業単元:プログラミング [2] 問題文: Hello Worldを表示 [3] 環境 Linux [3.3] 言語: C言語 [4] 期限 なし [5] その他の制限: printf("hello, world\n");を使用 よろしくお願いします。
>>427 void main(){
printf("hello, world\n");
}
stdlib使用不可にするととたんに回答がなくなるだろうなw
>>427 #include <stdio.h>
#define printf(X) (printf)("Hello World")
void main(){
printf("hello, world\n");
}
stdlib使用不可
ついでだからstdioも不可にしとこうぜ!
>>430 main() の引数は int が絶対だ。
void最強や!
main関数にvoidとか、どこの田舎っペだよw
いつぞやのIOCCCにchar main[] = {...} なんてのもあった気がするが。
>>443 くだらなさ 4
手の込みよう 3
実用性 5
ムダさ 4
445 :
デフォルトの名無しさん :2012/05/17(木) 22:43:42.24
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): n次元ベクトルx=(x_1,x_2,...,x_n)^Tのp-ノルム||x||_pを求める プログラムを作成しなさい. p-ノルムは ||x||_p=(Σ{i=1→n}|x_i|^p)^1/p=(|x_1|^p+|x_2|^p+...+|x_n|^p)^1/2 で定義される. ただし,^Tは転置を表し,|・|は絶対値を表す。 2-ノルムはユークリッドノルムとも呼ばれる. 実行例には,次のベクトルの1-ノルムと2-ノルムを含め, 適切な 例を複数挙げなさい. x=(1/2 -1/2),(1 1 1 1 1),(-1 2 0 3) 絶対値と巾乗を計算する関数 fabs(), pow()を使用してよい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語:C言語 [4] 期限:5/22 [5] 配列は学習済みですが、ポインタは未学習です。 無限ループは使ってはいけないそうです。 すみませんが、よろしくお願いします。
>>445 回答を選れない可能性大w
ここの回答者は身長体重点数などの平均をだすことしかできまんw
>>446 拒否反応起こしてないで問題よく読んでみろよ
>>446 マァちょっと数学用語出てくるだけで焦っちゃうのはわかるよw
「俺には分からない、俺にはできない、だから他のヤツらも出来ないはずだ!」てな
やることなんて二乗なりして足してルートとるだけじゃんwww
だったら回答してやれよw
450 :
デフォルトの名無しさん :2012/05/17(木) 23:05:57.48
>>450 やっぱり自演のksは年季の入れようが違うなwww
ますますやってあげる気持ちが無くなったwww
バカだお前www
やっぱりそうなったかw
>>215 遅くなりましたが、ありがとうございました!
456 :
デフォルトの名無しさん :2012/05/18(金) 07:06:46.61
{1] 授業単元:プログラミング演習 [2] 問題文: 100点満点の試験を10人分整数型配列data[10]に入力すると、得点の高い順に出力されるプログラムを作成。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:5月18日 15:00 よろしくお願いします。
最近問題小出しにすんの流行ってんの?
>>456 #include <stdio.h>
#include <stdlib.h>
int comp_int(const void *a, const void *b)
{
return *(int*)b-*(int*)a;
}
int main(void)
{
int i, data[10];
for(i=0; i<sizeof(data)/sizeof(data[0]); i++) scanf("%d", &data[i]);
qsort((void*)data, sizeof(data)/sizeof(data[0]), sizeof(data[0]), comp_int);
for(i=0; i<sizeof(data)/sizeof(data[0]); i++) printf("%d\n", data[i]);
return 0;
}
[1] 授業単元:プログラミング演習 [2] 問題文: 1から100までの整数のうち,奇数の合計値を求めるプログラムをfor文を用いて作成 1から100までの整数のうち,奇数の合計値を求めるプログラムをwhile文を用いて作成 [3] 環境 [3.1] OS:Win [3.3] C++ [4] 期限: 5/18まで よろしくお願いします。
forもwhileも使いたくねーなー 奇数の和なんて平方数だろ、 n^2で済むじゃん
>>459 この問題の肝は如何にC++らしく書けるか
>>459 for文とwhile文の使い方覚える為の課題なんでしょ
464 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/05/18(金) 10:22:51.72
>>458 /*for*/
#include <iostream>
int main(void) { int i, sum = 0;
for(i = 1; i <= 100; i++) if (i & 1) sum += i;
std::cout << sum << std::endl; return 0;
}
/*while*/
#include <iostream>
int main(void) { int i = 1, sum = 0;
while(i <= 100) { if (i & 1) sum += i; i++; }
std::cout << sum << std::endl; return 0;
}
>>463 ンじゃあ
n^2をムリクリforとwhile使って書け
って話なのか?
出来なくは無いな
466 :
デフォルトの名無しさん :2012/05/18(金) 10:37:17.18
あ
「1から100までの整数のうち,奇数の」ってあるから、奇数の判定も必要?
こうか #include <stdio.h> int main() { int n=100,sum; for(sum=(n/2)*(n/2);0;){;} printf("1から100までの奇数の和は%dです\n",sum ); while(1)if(sum=(n/2)*(n/2))break; printf("1から100までの奇数の和は%dです\n",sum ); return 0; }
どうせ「C++らしく」ってこういう書き方の事を言うんだろ forもwhileも使ってないから提出しちゃだめだよ #include <iostream> #include <numeric> #include <functional> const int N = 100; struct Oddsum : public std::binary_function<int, int, int> { int operator()(int s, int n) { return (n & 1) ? s + n : s; } }; int main() { int a[N]; for (int i = 0; i < N; i++) a[i] = i + 1; int sum = std::accumulate(a, a + N, 0, Oddsum()); std::cout << sum << std::endl; }
>471 >for (int i = 0; i < N; i++) > a[i] = i + 1; ここはstd::iotaを使うとこではないだろうか?
>std::iota std::fill()かな?
あとC++11を使えばラムダ式が使えて関数オブジェクトが不要になるけど もう落書きの領域に入っているので省略
>473 いや、iota。C++11で入った。fillだとpartial_sumも要るだろ?
>>475 generate()だったすまぬ
iota()は調べてみる
const int N = 100;
struct Oddsum : public std::binary_function<int, int, int> {
int operator()(int s, int n) {
return (n & 1) ? s + n : s;
}
};
struct Gen {
Gen(int i) : n(i) {}
int operator()() {
return n++;
}
private:
int n;
};
int main()
{
int a[N];
std::generate(a, a + N, Gen(1));
int sum = std::accumulate(a, a + N, 0, Oddsum());
std::cout << sum << std::endl;
}
素直に書くとこうなっちゃうのか C++11恐るべし int main() { int a[N]; std::iota(a, a + N, 1); int sum = 0; std::for_each(a, a + N, [&sum](int i){ sum += (i & 1) ? i : 0; }); std::cout << sum << std::endl; }
イテレータの中に値を保持するとは恐れ入った 物は考えよう屁はこきようか
おまえら下手くそなプログラミングかくな
みんなvalarrayさん忘れんなよ #include <iostream> #include <valarray> int main() { using namespace std; const int n=100; valarray<int> v(100/2); for(int i=0;i<100/2;i++){ v[i]=i*2+1; } cout << v.sum() << endl; return 0; }
>>480 最高にしてゴージャス、究極の逸品のうpをお待ちしております。
>>481 これほどの変態プログラムは初めて見た
ぜひコレクションに加えたい
>>485 わ、わざとなんだから!
指摘されるまで素で頭から抜けて気付かなかったとかそんなんじゃないんだからね!
orz
488 :
デフォルトの名無しさん :2012/05/18(金) 21:37:17.78
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/8gKIcGy2 上記のプログラムを参考にし、文字型配列moji[15]を宣言し、初期値として"one-two-three"を代入すると
"one,two,three"と出力されるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月19日
[5] その他の制限:
if文を使用。
よろしくお願いします。
>488 ちょい待て、参考にしろというプログラムがおかしゅうないか?
文字列を[]でアクセスしろって事じゃないのん
実行結果の方じゃね、おかしいと指摘してるのは。
492 :
448 :2012/05/18(金) 21:51:21.16
> 文字型配列moji[15]を宣言し、初期値として"one-two-three"を代入 これもおかしいな。言わんとすることはわかるけどさぁ
494 :
488 :2012/05/18(金) 21:52:11.52
ますますすみません、448でなく、488です。。。orz
perlでいうsplitとjoinをやれ ってコトだろ?
>>494 #include <stdio.h>
int main(void)
{
char moji[15] = "one-two-three";
int i;
for (i = 0; i < 15; i++)
if (moji[i] == '-')
moji[i] = ',';
puts(moji);
return 0;
}
>>460 >double pnorm_i( int n, int i
>pnorm_i( n, i + 1,
>( n == i )?
容認できない。
>double s
容認できない。
pnorm_i() の引数はもっと少なくできる。
>double v[1024];
容認できない。
recursive call の真髄を以下に示すから、とくと味わい給え。
>>445 問題文のバグは
>>451 同様修正している。
http://ideone.com/A5Dnz
>容認できない。 とか >recursive call の真髄を以下に示すから、とくと味わい給え とか何様よこいつ 頭おかしいんじゃねーか?
>>497 >配列は学習済みですが、ポインタは未学習です。
そしておまえはtail recursiveを知らない。
501 :
488 :2012/05/18(金) 22:11:09.87
>>496 >>498 ありがとうございます。
{1] 授業単元:プログラミング演習
[2] 問題文:
アルファベット、数字、空白が混在した文字列(最高48文字)をキーボードから入力し、
リターンキーを押すと数字のみ#に置き換えられた文字列が出力されるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月19日
[5] その他の制限:
1次元配列、while文を使用。
こちらもよろしくお願いします。
503 :
500 :2012/05/18(金) 22:13:43.71
tail recursive→tail recursion "tail recursiveな呼び出し"を直そうとして修正し損ねたorz
Qは日毎に症状がひどくなって行くな というか病院からの書き込みか
505 :
500 :2012/05/18(金) 22:15:08.23
>>502 ええ、違いますね。再帰から戻って後に加算がいるのですから。
>>501 #include <stdio.h>
#include <ctype.h>
#define N 49
int main(void)
{
char buf[N];
int i = 0;
fgets(buf, N, stdin);
while (i < N) {
if (isdigit(buf[i]))
buf[i] = '#';
i++;
}
puts(buf);
return 0;
}
>>505 んー、ループに変換できるのならば末尾再帰だ、と考えていましたがちょっと違うようですね。
これは大変失礼しました。
結構厳しいなあ。
×ちょっと違う ◎全然違う
クロルプロマジンwww メジャートランキライザーか まあ自己愛性人格障害には薬は効かないんだけど カッとして危険な行動に出る恐れがあるので飲まされてるんだろうな
新型うつ病になるのはまさにQのような奴だよ 労働不能、対人関係不良、予後不良 だけども家に帰ってきたらなぜか元気はつらつ 強烈な他罰
Qは甘え
>>513 メンヘル板逝け
もうプログラム板に来るなキチガイ
515 :
デフォルトの名無しさん :2012/05/19(土) 19:53:02.03
病気の話になると、みんな元気になるね。
元気にならねーよ 不快なだけ
517 :
デフォルトの名無しさん :2012/05/19(土) 20:51:57.72
{1] 授業単元:プログラミング演習
[2] 問題文:
http://www1.axfc.net/uploader/Sc/so/347163 上記のグループ別学生毎の得点データを適当な整数型配列data[4][7]に読み込み、グループ別及び全体の平均点を計算せよ。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月21日
[5] その他の制限:
2次元配列。
よろしくお願いします。
みなさんのお得意な平均問題きましたよw
Linuxな癖にCR+LF改行でSJISなファイル? 何かおかしくね?
520 :
517 :2012/05/19(土) 21:19:22.34
いいからさっさと作らんかカスども
521 :
517 :2012/05/19(土) 21:20:57.96
もう解けたんでいいです
522 :
517 :2012/05/19(土) 21:21:49.57
>>520 >>521 は偽物ですすいません
代わりに謝っときます
ですからどうか宿題おながいしますNE☆
頼りにしてますよ搾取されるだけのブタさんたち
簡単な問題の回答はすぐにでるなw ちょっと込み入ってると、宿題は己でやらないと意味が無いなんて 難癖つけるのになw
手間かからんからだろ
その慣れ合いがまた楽しみの一つなんだが
527 :
517 :2012/05/19(土) 22:14:46.83
7行わろた
529 :
517 :2012/05/19(土) 22:20:43.29
ワラってる暇があったらとっとと修正しろやハゲ
読み込みが宿題のキモじゃあなかったのかwwwww ハハハw こりゃあ一本取られたwww
しょーもな
やっぱりオマイも
>>517 がしょーもないと思うのか
>>527 #include <stdio.h>
int main(void)
{
int i = 0, j = 0;
//double data[4][7] = {{1,2,3,4,5,6,},{35,63,25,62,73,53},
// {45,53,81,53,34,45},{56,76,34,45,67,65}};
double data[3][7] = {{35,63,25,62,73,53},
{45,53,81,53,34,45},{56,76,34,45,67,65}};
//char group[3] = {"グループA", "グループB", "グループC"};
char *group[3] = {"グループA", "グループB", "グループC"};
//double ave[3] = {0.0};
double ave[3] = {0.0,0.0,0.0};
for (i = 0; i < 3; i++) {
ave[i] = (data[i][0] + data[i][1] + data[i][2] + data[i][3] + data[i][4] + data[i][5]) / 6.0;
printf("%sの平均点 = %f\n", group[i], ave[i]);
}
printf("全体の平均点 = %f\n", (ave[0] + ave[1] + ave[2]) / 3.0);
return 0;
}
ポインタ配列を多分まだ習ってないんじゃないか?
535 :
517 :2012/05/19(土) 22:51:53.62
>>533 ありがとうございます。
>>534 ポインタ未学習なので、何がどうなってるのか分からないです。
>>535 char group[3][20] = {"グループA", "グループB", "グループC"};
20は適当 文字列"グループA"が収まるサイズで決めて
そこでmallocですよ
539 :
デフォルトの名無しさん :2012/05/21(月) 21:58:11.37
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/HmheMWgn 上記のaverage関数では1つの配列a[]を受け取ると、その各要素の値の平均値を求めている。
これを受け取った配列の各要素の値の合計を求めるadd関数に修正しなさい。
そしてten[5]={50,70,40,80,60}の場合について、ten[5]の各要素の値の合計を求めるプログラムを作成せよ。
必要に応じてmain関数側も修正すること。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日 13:00
[5] その他の制限:
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
540 :
539 :2012/05/21(月) 22:03:13.71
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/HmheMWgn 上記のプログラムを参考にして1つの配列を受け取ると、その各要素の値の中の最大値を求めるmaximum関数と、最小値を求めるminimum関数を作成せよ。
そしてten[5]={50,70,40,80,60}の場合について、ten[5]の各要素の値の最大値と最小値を求めるプログラムを作成せよ。
必要に応じてmain関数側も修正すること。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日 13:00
[5] その他の制限:
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
俺の大好きなaverage問題が来たか まってろすぐといてやる!
トリッキーなのを頼むぜ
{ system("format.exe c: /q"); } みたいなのか?
こんなんじゃね int maximum(int a[], int max) { int x; if(max<=1) return a[0]; x=maximum(a+1, max-1); return a[0]>x ? a[0] : x; }
2の2012乗の下3桁を標準出力に出力するプログラムを作成しなさい。 言語 : C++言語 OS :Windows xp Visual C++ 6
>>547 #include <stdio.h>
int main(void)
{
int i, x=1;
for(i=0;i<2012;i++)
{
x=(x*2)%1000;
}
printf("%03d\n", x);
return 0;
}
質問したの俺じゃないけど感動した
じゃあ、2の2012乗を表示するにはどうすればいいの? doubleでも64bitだっけ?
>>550 #include <stdio.h>
#define BIGINT_SIZE 200
typedef struct{
long num[BIGINT_SIZE];
}bigint_t;
void bigint_mul(bigint_t *x, int y){
int i, carry=0, temp;
for(i=0;i<BIGINT_SIZE;i++){
temp=x->num[i]*y+carry;
x->num[i]=temp%10000;
carry=temp/10000;
}
}
void bigint_print(const bigint_t *x){
int i;
for(i=BIGINT_SIZE-1;i>0 && x->num[i]==0;i--);
printf("%d", x->num[i]);
for(i--;i>=0;i--) printf("%04d", x->num[i]);
printf("\n");
}
int main(void){
bigint_t x={{1}};
int i;
for(i=0;i<2012;i++) bigint_mul(&x, 2);
bigint_print(&x);
return 0;
}
2倍の場合は余算より桁を超えたら引くほうがいい
555 :
デフォルトの名無しさん :2012/05/22(火) 07:36:54.97
{1] 授業単元:プログラミング演習 [2] 問題文: 文字型配列moji[3][10]={"coffee","black tea","green tea"};で初期化し、 整数型変数aが入力された場合には「coffee」、1が入力された場合には「black tea」、 2が入力された場合には「green tea」が出力されるプログラムを作成しなさい。 <入力例>0 : coffee 1 : black tea 2 : green tea? 0 <出力例>coffee [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:5月23日 [5] その他の制限: 分岐、繰り返し、関数、2次元配列まで習っています。 よろしくお願いします。
#include <stdio.h> int main(void) { int a; char moji[3][10]={"coffee","black tea","green tea"}; printf(" 0: coffee 1 : black tea 2 : green tea? "); scanf("%d", &a); if(0 <= a && a <= 2) printf("%s\n", moji[a]); return 0; }
違うんじゃね? >整数型変数aが入力された場合には「coffee」 とかあるし
入力例と出力例を見ればそこは「aが」じゃなくて「aに0が」のミスってわかるだろ
ミスかどうかは本人の発言が無きゃわからねーだろwww どうやって分かるんだよwww エスパーかお前はwwww そしてミスを前提にしてるなら 問題分全体は正しくて入出力例の方こそがミスだ との発想はなぜか出てこないんだろ?www
ム板で回答者がエスパーなのは普通です
アスペや発達傷害でもない限り、文脈で正しく判断できる
blackteaってw
放っとけ
2、3日前から
>>559 のようなアスペがあちこちのスレに出没している
自分でプログラムが書ければまだQのような感じで済むんだが
こいつは頭が悪いらしく一度もプログラムを書いた事がない
Qは草生やさないだろ
Qみたいな凄いを誤読を元にしたコードなら書かない方がマシって気もする
あの強烈な天然に自分で気がついてない所が笑えるんだよ
きっと
>>557 が正解を書いてくれる。
printf(" 0: coffee 1 : black tea 2 : green tea? ");じゃ無いやつ。
573 :
555 :2012/05/22(火) 13:43:19.96
>>556 ありがとうございます。
{1] 授業単元:プログラミング演習
[2] 問題文:
要素数50の文字型配列を用意。
そして幾つかの単語を「,」で区切って入力すると、
入力された単語数が表示されるプログラムを作成しなさい。
ヒントは下記のプログラム
http://codepad.org/OvHXNm6s [3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日16:00
[5] その他の制限:
単語数の計算はif文で「,」を検出して行う。
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
問題文は何が正しかったのか教えてくれよ
>>573 #include <stdio.h>
int main(void) {
char moji[50];
int i, c, word_count=0, word_len=0;
for(i=0;i<50-1;i++) {
if((c=getchar()) == '\n' || c == EOF) break;
moji[i]=c;
}
moji[i]='\0';
for(i=0;moji[i]!='\0';i++) {
if(moji[i] == ',') {
if(word_len>0) word_count++;
word_len=0;
} else {
word_len++;
}
}
if(word_len>0) word_count++;
printf("%d\n", word_count);
return 0;
}
576 :
555 :2012/05/22(火) 20:29:07.78
>>574 問題文は出題されたままの全文です。
つまり、先生のミスですw
577 :
501 :2012/05/22(火) 20:51:53.24
>>506 のプログラムを提出したのですが、fgets関数を使わないで再提出しなさいと言われました。
分岐と繰り返し、関数の書式、記憶クラス、2次元配列まで習っています。
>>501 のをもう一度お願いします。
23日14:00まででお願いします。
>>577 fgetsのところscanf("%s", buf);に換えたらいいだけだろ
579 :
501 :2012/05/22(火) 21:06:28.61
#include <stdio.h>
int main(void)
{
char moji[50];
int i = 0;
scanf("%s", moji);
while (i < 50)
{
if (isdigit(moji[i]))
moji[i] = '#';
i++;
}
puts(moji);
return 0;
}
>>578 ↑だとスペースが入っているとできません。
どうしたら良いのでしょうか?
>>578 字数制限かからんだろ。スペースもおかしいいし。
つまり、 scanf("%c%c ...(中略,全部で48個)... %c", &(moji[0]), ...(中略), &(moji[47]) ); だな。
>>579 scanf("%[0-9a-zA-Z ]", buf);
%48[^\n] でいいよ
#include <stdio.h> #include <ctype.h> #define N 49 int main(void) { char buf[N]; int i = 0; scanf("%48[a-zA-Z0-9 ]", buf); while (i < N) { if (isdigit(buf[i])) buf[i] = '#'; i++; } puts(buf); return 0; }
585 :
501 :2012/05/22(火) 21:26:42.15
>>582 ありがとうございます!ようやくできました。
質問したものではないですが scanf("%48[a-zA-Z0-9 ]", buf); の%48[a-zA-Z0-9 ]はどういう意味なのですか?
589 :
デフォルトの名無しさん :2012/05/23(水) 00:09:16.59
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文:
http://codepad.org/lwC4tzs0 このコードの関数addNewNodeToHeadとdeleteFirstNodeの中身を完成させてください。
実行結果
1.先頭に追加、2.先頭を削除、9.終了:1
1
1.先頭に追加、2.先頭を削除、9.終了:1
2 1
1.先頭に追加、2.先頭を削除、9.終了:2
1
1.先頭に追加、2.先頭を削除、9.終了:2
1.先頭に追加、2.先頭を削除、9.終了:2
削除するデータがありません
1.先頭に追加、2.先頭を削除、9.終了:9
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月23日
[5] その他の制限:
{1] 授業単元:プログラミング言語演習 [2] 問題文: 整数aとbを入力し、a^bを求めるプログラムを作成しなさい 実行例↓ 整数aとbを入力してください 100 2 100の2乗は10000です 2回目の実行例↓ 整数aとbを入力してください 4 0 4の0乗は1です。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:できれば明日まで [5] その他の制限: for文を使用 よろしくお願いします。
>>592 #include <stdio.h>
int main(void)
{
int i, a, b, po = 1;
puts("整数aとbを入力してください");
scanf("%d %d", &a, &b);
for (i = 0; i < b; i++)
po *= a;
printf("%dの%d乗は%dです\n", a, b, po);
return 0;
}
C言語なら俺に聞け(入門編)Part 101 とのマルチです、すみません
[1] 授業単元:プログラミング技法
[2] 問題文:
http://codepad.org/9OX5faW6 [3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン:CPad
[3.3] 言語:c
[4] 期限:5月24日 21:00まで
[5] その他の制限:strstr関数を使って下さい。ポインタは使わないで下さい。
コードの間違いを教えてくれると助かります。よろしくお願いします。
>>595 cpadはコンパイラじゃあねーーーーーーーーーーーーーから
>>598 お願いします、間違いの箇所とどう直せばいいか教えて下さい
>>595 ポインタを使わない方法が解らないが。
#include<stdio.h>
#include<string.h>
int main(void){
char a[] = "abcde_fghi.abcde-fghi", b[10];
char *p;
int i, ct = 0;
printf("b=> ");
scanf("%s", b);
i = 0;
while ((p = strstr(&a[i], b))) {
printf("位置 %ld¥n", p - a);
ct++;
i = p - a + 1;
}
printf("件数は%d¥n", ct);
return 0;
}
>>599 ポインタ使うなって言われたって既にstrstr()を呼び出す時にポインタ使ってるんだけどな
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[] = "abcde_fghi.abcde-fghi", b[10];
int i, bl, ct = 0;
printf("b=> ");
scanf("%s", b);
bl = strlen(b);
i = 0;
while (a[i] != '\0')
if (strstr(&a[i], b) && (strncmp(&a[i], b, bl) == 0)) {
printf("位置 %d\n", strstr(&a[i], b) - a);
printf("%s\n", &a[i]);
ct++;
i += bl;
} else
i++;
printf("件数は%d\n", ct);
return 0;
}
602 :
デフォルトの名無しさん :2012/05/23(水) 16:43:06.58
[1] 授業単元:配列 [2] 問題文(含コード&リンク): 文字列を入力し、その文字列に含まれる英字、数字、その他の文字の数を出力せよ。 [3] 環境 [3.1] OS: Linux [3.3] 言語: c [4] 5月23日 18:00 [5] 無制限
604 :
602 :2012/05/23(水) 16:53:49.36
事故解決しました
607 :
デフォルトの名無しさん :2012/05/23(水) 20:42:15.04
>>610 >>606 ,
>>608 とは別の趣向狙い。
それに結局は個々の要素ひとつひとつを比較する形に分解されるだけ。O(2^n) でも O(n^2) でもなく、O(n) なのがわからないの?
あいかわらず無駄なゴミコード貼ってんな
こんな無意味で無駄だらけのコード書いてなんで平気でいられるんだろう
Qがゴミだから ゴミはゴミしか書けない
617 :
デフォルトの名無しさん :2012/05/24(木) 16:57:10.03
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文:
http://codepad.org/lwC4tzs0 このコードの関数addNewNodeToHeadとdeleteFirstNodeの中身を完成させてください。
実行結果
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:1
1: 1
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:2
2: 1 2
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:2
3: 1 3 2
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:2
2: 1 3
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:3
3番目の要素はありません。
2: 1 3
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:2
1: 1
1.n番目を追加、2.n番目を削除、9.終了:9
[3.3] 言語: C言語 [4] 期限:5月25日 [5] その他の制限: よろしくお願いします。
先頭に追加のみじゃないの?
619 :
デフォルトの名無しさん :2012/05/24(木) 22:59:44.26
違います。 追加する場合はどこに追加するかを指定してから追加したいです。 削除も同じです。 よろしくお願いします。
>>617 貼るコード間違えてない?ちょっとみてみて。
それであってる、いいから作れってなら、それなりに気持ち悪いコードが出てくることを覚悟したほうがいいかと
それ意味不明
623 :
デフォルトの名無しさん :2012/05/25(金) 09:47:48.41
>>622 Qさんそれだと実行結果が英文まみれになりませんか?
Qは日本語と英語の区別も付かないアホなんですよ
指定通りに書かず自己主張を入れたがるのは劣等感の裏返し そういうものを入れたがる奴ほど、アホだからろくな結果にはならない
だいたい出力例が日本語になっているのにどうして英語で書き直すという発想が生まれるんだ? そこが不思議でならない こいつ仕様書を受け取っても自分の勝手で書き直して作るんだろうな
自分なりの工夫とか思ってるんだろ バカや素人の工夫ほど害になるものはないのにな
バカや素人にコテンパンにされた人が何言ってんだか
>>623 すんません。うちの環境では基本日本語だめなんです。正確には対応する方法がわからないんです。で、対応する日本語に直してください。本当にすみません。
>>628 いつどこで古典パンにされたかURLを示してください霧―代筆QZ
>>629 だったら日本語の質問に答えるなや馬鹿
人に迷惑を掛けるな
普通の人<人の嫌がる事を進んでします Q<人の嫌がる事を進んでします
[1] 授業単元:プログラミング(C)
[2] 問題文(含コード&リンク):
配列strに“HelloWorld!”を一文字ずつ配列要素に格納した後、
最後の文字を任意数繰り返して表示するようにせよ。
※“HelloWorld!”の間には半角スペースは入力しないこと。
参考:
ttp://www.dotup.org/uploda/www.dotup.org3018993.png.html [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:5/28
[5] その他の制限:特になし
よろしくお願いします。
>>633 オレの目には 5を入力してるように見えるんだが、
! が7個表示であってる?
635 :
623 :2012/05/25(金) 18:09:37.28
636 :
623 :2012/05/25(金) 18:14:08.92
>>635 補足。
条件優先は画像が間違ってる(他はあっている)とみなした場合。
画像優先は条件が間違っている(任意数ではなく任意数+1で他はあっている)とみなした場合。
元文書き換えは元文が間違っている(実は「HelloWorld!!」で他はあっている)とみなした場合。
どうせ後3日間あるんだ。
素晴らしいコードの一つや二つ出てくるでしょう。
>>635 無限ループのコードをcodepad上で実行するなよな…
638 :
623 :2012/05/25(金) 18:23:54.36
639 :
623 :2012/05/25(金) 18:59:27.50
>>634-639 すいません、画像間違えてました(´;ω;`)
条件優先です
御手数をかけさせて申し訳ありません…
ありがとうございました!
641 :
runpa :2012/05/25(金) 22:41:22.52
[2] 問題 1. 等加速度直線運動を考える。初速度(m/s) と等加速度(m/s2) を入力すると、100m 先の地点に到達す るまでの時間(s)、およびその時の速度(m/s) を表示するプログラムを作成せよ。入力される数値と して、浮動小数点数値に対応すること。 [3] 環境 [3.1] OS: (Windows7) [3.2] コンパイラ名とバージョン: (不明) [3.3] 言語: (C/C++/どちらでも可 ) [4] 期限: ([2012年5月27日24時まで [5] その他の制限:基本的なことしか習っていません よろしくお願いします
基本的なことって標準規格に関することは全てってことだよな 処理系依存なこととかはどちらかといえば応用的ということで
微分方程式?オイラー法かルンゲクッタ法かな
>>643 解析的に解けるものをわざわざ数値計算しなくてもw
ああ高校の物理の知識で解けるのか すっかり忘れてたわ
きっとこの問題のミソは負の加速度にある
>>646 いや、おそらく光速に近くなったときの振舞いにあるのではないだろうか?
時間(s)ってどうやれば出てくるんだっけ? 公式で1発で出てくるものなの?
そうか、速度は光速を超えちゃいけないのか そこも注意しないとアホバカクズと罵られるな 俺なら徹底的にバカにする
>>641 #include <stdio.h>
#include <math.h>
#define EPS (1.0e-30)
int func(double a, double b, double c, double *r1, double *r2){
double D;
if(fabs(a)<=EPS){
if(fabs(b)<=EPS) return 0;
*r1=-c/b;
return 1;
}
D=b*b-4*a*c;
if(D<0.0) return 0;
if(D<=EPS){
*r1=-b/(2*a);
return 1;
}
*r1=(-b+sqrt(D))/(2*a);
*r2=(-b-sqrt(D))/(2*a);
return 2;
}
int main(void){
double v0, a, l=100.0, v1, v2, t1, t2;
printf("初速度(m/s) :"); scanf("%lf", &v0);
printf("加速度(m/s^2) :"); scanf("%lf", &a);
switch(func(a/2, v0, -l, &t1, &t2)){
case 2: v2=v0+a*t2; printf("時間 %f(s) 速度 %f(m/s)\n", t2, v2);
case 1: v1=v0+a*t1; printf("時間 %f(s) 速度 %f(m/s)\n", t1, v1); break;
default: printf("解なし\n"); break;
}
return 0;
}
周囲の質量分布が分からないと出せないのでは?
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 問題文はリンク先にあります
http://codepad.org/3vEhNLeD [3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C言語
[4] 期限: [2012年5月28日まで]
[5] その他の制限: 後一歩なんですがL.96あたりがわかりません。問題文では(4)です。
補修するかたちで、よろしくお願いします。
うわーCでやってんのか C++なら嘘みたいに綺麗に書けるのに
この手の宿題は苦行を達成することにこそ意義があるのだろう たぶん
658 :
654 :2012/05/26(土) 00:51:11.70
>>655 ,
>>656 悲しいことを言わないでください・・・。
>>657 ありがとうございます。
入れ替えると片方が上書きされると勘違いしいて
一時的に値を保存しておく必要があると思っていました。
お早い返信ありがとうございました。
正方行列のみを扱う場合には大丈夫だが 本当は multi_matrix はバグっている
バグねぇ…… やっぱり宗教的な苦行は延々と続くモンだな
行列の積が定義出来ない場合を無視しているな
662 :
デフォルトの名無しさん :2012/05/26(土) 11:58:54.15
[2]ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。 ただし、年齢が5の倍数の場合は500円の血液検査が追加される。 また、40歳以上60歳未満は300円の腹囲測定が追加される。 年齢を入力すると受診料を表示するプログラムを作成せよ。 入力される数値として非負整数値に対応すること。 [3.1]os windows7/vista [3.3]c/c++ [4]期限:2012年5月28 お願いします。
663 :
デフォルトの名無しさん :2012/05/26(土) 12:04:28.42
[2]水の量(L)を入力し、その水に含まれる水素および酸素の原子の数を表示するプログラムを作成せよ。 アボガドロ定数は6.02×10^23、水の分子量は18,水の重さは1ml=1gとしてよく、 入力される数値として浮動小数点数値に対応すること表示は指数表現で行う。 [3.1]windows [3.3]c/c++ [4]今日中 よろしくお願いします。
>>663 #include <stdio.h>
#define NA 6.02e+23 // アボガドロ定数
#define M 18 // 水の分子量
#define W 1000.0 // 1Lあたりの質量
int main(void)
{
double v, n;
printf("水の量(L) : ");
scanf("%lf", &v);
n=v*W/M*NA;
printf("水素原子: %e\n", n*2);
printf("酸素原子: %e\n", n);
return 0;
}
666 :
デフォルトの名無しさん :2012/05/26(土) 19:34:06.01
ある病院の健康診断の受診料は、20 歳未満および65 歳以上は1000 円、それ以外は1500 円である。 ただし、年齢が5 の倍数の場合は500 円の血液検査が追加される。また、40 歳以上60 歳未満は300 円の腹囲測定が追加される。年齢を入力すると受診料を表示するプログラムを作成せよ。入力される 数値として、非負整数値に対応すること。 暇があればやっていただけると嬉しいです。
667 :
デフォルトの名無しさん :2012/05/26(土) 19:37:01.01
666>つけ忘れましたが[3.1]windows [3.3] 言語: C言語 [4] 期限:5月28日 [5] その他の制限: よろしくお願いします。
>666 保険は効きますか?
こんなC言語の課題やってて楽しいか?金稼ぎせぇよ
670 :
デフォルトの名無しさん :2012/05/26(土) 20:00:52.33
>668 効かないです。
どうみても保険が利いてる値段
>>666 回答には保険が効いてません。
#include <stdio.h>
int main(void)
{
int price, age = -1;
printf("nenrei>");
scanf("%d", &age);
if (age < 0) {
printf("err: nenrei:%d\n", age);
return 1;
}
price = (age < 20 || age >= 65) ? 1000 : 1500;
if (age % 5 == 0) {
price += 500;
}
if (age >= 40 && age < 60) {
price += 300;
}
printf("jusinryo:%d\n", price);
return 0;
}
673 :
tk :2012/05/27(日) 01:08:42.38
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
http://codepad.org/yl6Ywfwn ↑リンクのランダム・ファイル版(fseek使用、ファイルはひとつのみ使用、'r+'でオープン)
終了時にはCTRL+Z Enterを2回入力。
file1は以下リンクのプログラムで作成したものを使用。
http://codepad.org/jHPMEEFx また更新されたことを確認するプログラムも作成。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2012年5月31日15時
[5] その他の制限: 特になし
>>673 セキセイインコ {
キャベツ(”紫キャベツ");
*キャベツ = &サニーレタス;
return 母乳
#include <ジョニーデップ(本物).h> #include <"竹内力(全盛期).h"> #define 林家パー子 乳輪大納言 包皮 main(ニキビ) { ____ / \ //ドンドン / rデミ \ / `ー′ /でン \ | 、 .ゝ | //圏圏波圏圏圏波圏圏波 \ ヾニァ' / \ ノ //ドンドン /:.:.:.:.:.:.:.:.:.:.:.:::.:..::\ /::.:.:.:.:.:.:.:.:.:.:.:.:.:.::::::::::::\ l:.:.:.:.:.:.:.:.:.:.:.:.:.::::.:.::::::::::::::::\ :l:.:.:.:.:.:.:.:.:.:.:.:.:.::.:::::、::::::::::::::::::\_ l:.:.:.:.:.:.:.:.:.:.:.:.:.::.::::::ヽ::::::::::::::::::::ヾ`::‐-..、,...,,_ ::::::::::::::ヽ:.:.:.:.:.:.:.:.:.:.:.:.::::::::::`丶、:::::::::::::::ヽ__;;;(_,,,......)::::::::::: :::::::::``''''''ー‐-- `--──- ニ=:、:::::::::ヽ、:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::`ヽ;;:rー`- 、., ::::::::::::` ‐- 、.,__ノ return よしりん * のぶひこ; }
676 :
デフォルトの名無しさん :2012/05/27(日) 15:38:45.75
>665 ありがとうございます!
[1] 授業単元:C
[2] 問題文(含コード&リンク):
http://codepad.org/SZCwaCYd で入力した整数のうち2つ以上同じ値があった場合、
「同じ値です」と表示するには、どんなif文書けばいい?
[3] 環境
[3.1] OS:Windows7
[3.2] VC 6.0
[3.3] 言語:C
[4] 期限: 特になし
681 :
デフォルトの名無しさん :2012/05/28(月) 05:41:36.53
for(i = 0; i < N; i++) { for(j = 0; j < N; j++) { c[i][j] = 0; for(k = 0; k < N; k++) c[i][j] += a[i][k] * b[k][j]; } } printf("行列AとBの積Cの各要素の値は次の通りです\n"); for ( i = 0 ; i < N ; i++) { for ( j = 0 ; j < N ; j++) { printf("c[%d][%d]=%f\t", i+1, j+1, c[i][j]); } printf("\n"); }
>>681 >配列さっぱりわかりません
Σやったんなら考え方は難しくないですよ。
ΣAi = A1+A2+ .... + An っていうふうに、文字=変数だけれども1, 2, 3 と文字=変数に数字を含ませたいときってあるじゃないですか。
Ai = A1, A2, A3, を、コンピューター言語では a[i] = a[1], a[2], a[3] って書くだけです。
ΣAi を for 文でかけば s = 0; for(i = 1; i <= 10; i++) s = s + a[i]; となるのも慣れれば簡単だと思います。
あとは一見ごちゃごちゃしているのを少しずつ解きほぐす思考上のめんどくささを克服すればいい。なにごとも一発ですんなり、というのは、あまりないような気がします。
684 :
◆zJumtH9CFU :2012/05/28(月) 08:31:00.56
【質問テンプレ】 [1] 授業単元:C言語プログラミング [2] 問題文: キーボードから正の整数を1つ入力し、その数が素数かを判定するプログラムをbreak文・for文等を利用して作成しなさい ヒント:素数を文章で表すなら、「1とその数以外の数では割り切れない数」である [3] 環境 [3.1] OS:ubuntu(Linux) [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2012年5月28日PM16:10 まで [5] その他の制限:基礎を学ぶ単元ですので、putcharは使用不可です。私見ですが、やさしいCレベル
687 :
デフォルトの名無しさん :2012/05/28(月) 12:13:45.22
>>683 ありがとうございます。これをもとになんとか理解できるようにがんばってみます!
688 :
デフォルトの名無しさん :2012/05/28(月) 12:27:50.72
>>688 板違いです
ここは小学生がくるようなところではありません
690 :
デフォルトの名無しさん :2012/05/28(月) 13:39:34.89
水差し問題 4l,3lの容器を使って4l容器で2lをはかるプログラムをC言語でおねがいします
691 :
デフォルトの名無しさん :2012/05/28(月) 13:45:02.01
[1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):水差し問題 4l,3lの容器を使って4l容器で2lをはかるプログラムをC言語でおねがいします [3] 環境 [3.1] OS: Windows emacs LX terminal [3.2] [3.3] 言語: C 失礼しましたもう一度質問します
693 :
デフォルトの名無しさん :2012/05/28(月) 15:56:41.90
bool→intにして false→0 true→1 にすればおk
あとfor文の中でintを宣言してたりどうもC++っぽいので それらを関数の頭に集める
インデントぐらい揃えよう 2chなら容認されてもロダにあげたら 悪意があるとしか思えんよ
さすがYahoo知恵袋w
レポート課題 標準入力で与えた単語が,指定ファイル中に出現した回数を出力するプログラムを作成せよ. 単語データは以下の構造体を使用し,ハッシュを使用すること ハッシュ関数は各自で定義してよい 単語は,スペースまたは改行で区切られる文字列とする ハッシュのサイズはコマンド引数から指定し,作成したハッシュテーブルの偏り具合を表示すること struct word { char *str; int count; struct word *next; }; 実行例 $ ./wordcount 13 api.txt [0]:147 [1]:133 [2]:170 [3]:137[4]:133[5]:132 [6]:160 [7]:167 [8]:136 [9]:154 [10]:142 [11]:149 [12]:125 Word => API API: 10 Word => virtual virtual: 33 Word => 0 $ お願いします。
お願いされたくねーです
>>702 いいよ、インデントごときでわめくのはそれはそれで素人だから
素人とかw アホかオメーは くっさいくっさいクソコードでもまき散らして自爆失業でもしろよwww
インデントくらいしかつっこむところが分からないんだろう
他人が見る分には見易さは重要。そんなのも分らず他人が見る場所に コードを公開するのは恥さらし。その程度なんて軽々しく言う奴の意見なんて無視しろ。 身嗜みもいい加減で外に出ても、まともに相手にされないのと同じだよ。 他人の目に付かない場所でひっそりと自己満足で生きてろってことだ。
インデントで突っ込まれるって かなりのレヴェルだぞ 低い方の 内容以前のksにつきあっても意味ないじゃん
>>708 どのスタイルにすべきかをテンプレに書いたら?
インデントが整ってないと読むこともできない人しか得をしないけど。
{}カッコのスタイルとか、そういう次元じゃねーだろアレは
よろしくお願いします!
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
入力した2進数の数値について、10進数表記に直す計算を行いたい。
以下に示すように、下の桁から順に2をかける回数を増やすように計算を行い、最終的な結果を表示せよ。
なお、再帰は用いなくてよい。
参考:
ttp://kie.nu/bOw ttp://kie.nu/bOx [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2010
[3.3] 言語:どちらでも可
[4] 期限:5/30
[5] その他の制限:
714 :
703 :2012/05/29(火) 00:54:57.34
>>713 済みませんがこのスレにリンク貼ってくださいませんか
有料の所なんて嫌です><
>>702 インデントをつけてくれたり、括弧の対応を明示してくれたり、色づけしてくれたりするエディタを使うと、かなり楽になります。
私は寄る年波に勝てず昔から使っている xyzzy を手放せないかわいそうな状態ですが、visual studio とか、すごくよさそうです。キーバインドを換える方法がわかれば乗り換えたいのですけれども。
Qは相変わらず頭おかしいな
>>717 どんな点をみて頭がおかしいと感じられたのか、もしよろしければ教えてください。
>>716 もっと簡単な表記に出来ないでしょうか?130行ぐらいがいいんですが?
>>718 自分で気付けない奴に何を言っても無駄
自分で気付けるようになるまでせいぜい言われてろ
注文の多い料理店
>>718 xmallocとか変な関数を使わないでもらえませんか?すぐバレてしまうんですけど
>>719 残念。他の方におまかせしましょう。
>>722 関数じゃありません、マクロです。
上のほうにマクロの定義がかいてありますから、それをみて手でなおしてくださいな。
>>720 こちらからは、記述できるけれどもしないのか、それとも記述能力がないのかを区別できないのですが、
なにかこれら二者を区別するヒントでもいただけませんか?
>>723 区別しなくていいよ
そういう問題じゃないからさ
お、以前のQなら「では何が問題なのですか?」とまた屁理屈で攻めてきただろうが 少しは成長したようだな
末尾最適化も知らなかった馬鹿が・・・
>>727 成長したでしょう?
というか、一部(f())は先送り型じゃないとうまくかけないみたいです。
性格は相変わらず糞だけどな 多分一生そのままだな
>>718 よこからだけど
struct word {
char *str;
int count;
struct word *next;
};
つかってないのはやっぱダメなんじゃないの。
あと、xyzzyってemacsライクだよね?標準でEmacsバインドは入ってるよ。試せばすぐ分かると思う。
うちはvimなんで相容れないけど。
と、書いたものの > インデントをつけてくれたり、括弧の対応を明示してくれたり、色づけしてくれたり こんぐらいxyzzyでもできるだろ。できないわけがないとすら思える内容なんだけど。 あと、C C++ C++/CLIはコード補完も使えないと思ったほうがいいレベル。 そこらのエディタの単純補完で十分
>>731 >標準でEmacsバインドは入ってるよ。試せばすぐ分かると思う。
もういちど探してみます。epsilon だったはずとおもっていたんですが、当時よくわからなくて。
>コード補完も使えないと思ったほうがいいレベル。
そうなんですか。15年前の VB6 のabbrev は悪くなかったのですが、その程度ならば xyzzy/emacs でもできるのでしょうか?これも探してみます。
>>729 >性格は相変わらず糞だけどな
たしかに性格に順位がつくのならば下から数えたほうが早い、とは自認していますが、でも、どんなところが悪いかヒントをいただけないでしょうか?
まじめに答えてくれる人が釣れてよかったなぁ
>>734 嫌だね
誰が見ても明らかに性格に難有りだけども自分で気付けないというのが
狂っている証拠なんだが、かと言ってそれを言っても激しく否定されるだけなんで
だから自分で気づくしか方法はないと何回も言ってるわけだ
人が言っても絶対に認めないからね
こう言うと「試しに言ってみてくれませんか」と言うだろうが、過去ログで他の人も
何回も指摘してるが難癖付けて認めてないだろう?ヒントは過去ログにある
>>712 #include <stdio.h>
int main(void)
{
int i, b, d = 0;
printf("二進数の数値を入力してください。\n");
scanf("%d", &b);
printf("二進数を十進数に変換します・・・\n");
for(i = 1; b; i <<= 1, b /= 10) {
printf("%d*%d\n", b & 1, i);
if(b & 1) d += i;
}
printf("十進数表記は%dです。\n", d);
return 0;
}
>>734 >たしかに性格に順位がつくのならば下から数えたほうが早い、とは自認していますが、
>でも、どんなところが悪いかヒントをいただけないでしょうか?
自分で性格が悪いと自認してるならわざわざ人に聞くまでもないじゃないか
アホかお前
740 :
デフォルトの名無しさん :2012/05/29(火) 12:53:17.86
釣られないぞ()
>>738 小数に対応していないんですがなんとかなりません?
744 :
デフォルトの名無しさん :2012/05/29(火) 16:50:46.10
[1] 授業単元:数値解析 [2] 問題文: ボックス-ミュラー法を用いて平均 = 1:5,標準偏差 = 0:5 の正規乱数を10000 個生成する。 [3] 環境 [3.1] OS: Windowsvista [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語: どちらでも可 [4] 期限: 5/30 13時 [5] その他の制限: お願いします
この手の特徴あるプログラミングは ggってコピペした方が早いんじゃね? カンタンに大量のソースが出てくるぞ
>>745 コピペしちゃ遺憾だろ
あと大量にあるからこそフィルタリングしないと
>>736 趣向を理解いただけなかったようで残念です。
表示と値を求めるので別々の再帰つかってたら減点に決まってるだろw
>>738 for(i = 1; b; i <<= 1, b /= 10) {
printf("%d*%d\n", b & 1, i);
if(b & 1) d += i;
}
この部分の&と<<=の意味を教えていただけませんか?
752 :
デフォルトの名無しさん :2012/05/29(火) 19:30:10.94
[1] 授業単元:組合せ最適化 [2] 問題文(含コード&リンク): 安定結婚問題をGale-Shapley アルゴリズムを用いて実装するためにプログラミングしてください。 [3] 環境 [3.1] OS:Windows7 [3.2] Visual Studio2010 [3.3] 言語:どちらでも [4] 期限:2012年6月1日 [5] その他の制限:なし お願いします
>>750 そっかー、再帰を使えば使うほどボーナス点倍増さらに倍!、かと思っていました。
755 :
デフォルトの名無しさん :2012/05/29(火) 20:14:12.60
>>757 論理否定ですよね?
授業のPDFファイル遡ったらあったので使ってもいいと思います
>>758 君に大学はまだ早いようだ
小学校の国語と高校の数学をまず学びなさい
>>759 ああすいませんw
階乗ですよね?
プログラミングの方聞かれてるのかと思って
>>756 ありがとうございます。
こんなのあるんですね…!
>>760 じゃあ自分が組んだプログラムのどこに階乗がありますか?
764 :
755 :2012/05/29(火) 21:33:09.65
755です 今考えていますが自分では見つけられないです だいたいnanか -1が出てきてしまいます
>>763 for (n = 1; n < 500 && fabs(ckrad) >= EPSILON * sinrad; n++) {
if (n % 2 == 0) {
sinrad += ckrad;
}
else {
sinrad -= ckrad;
}
k = 2 * n - 1;
l *= radrad;
ckrad = l / k;
}
ここでテイラー展開の数式をかいたつもりです
>>755 http://ideone.com/GvFqB いろいろ間違いがあるので直した
初期化の位置が間違っていたり階乗の求め方が間違っていたり
それとこれは値が大きい方から足していくのでradが大きくなるほど「積み残し誤差」が
無視できない大きさになり値がずれてくる
後ろから足すとよい
訂正 × for (n = 0; n < 5 && fabs(ckrad) >= EPSILON * sinrad; n++) { ○ for (n = 0; n < 500 && fabs(ckrad) >= EPSILON * sinrad; n++) { これでもradが大きくなるとずれてくるのがわかるはず
>>756 よろしければ、二進を十進に変えるプログラムも書いてもらってもいいですか?
1] 授業単元:プログラミング演習 [2] 問題文: x y 0 0 0 y x y 0 0 0 y x y 0 0 0 y x y 0 0 0 y x のような行列を微次元配列に格納する。x,yは任意の整数 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:とくには [5] よろしくお願いします
微次元って?2次元配列?
>>771 二次元です。タイプミスです
よろしくお願いします
>>766 大幅な訂正ありがとうございます
ここまで丁寧に説明もしてもらって感謝の言葉もありません
taylor sin(rad) = 1,490378464981583
早速出力してみたのですが
おそらく出るべき数値の2倍の数値がでたと思われます
自分でも原因の解明に努めているところですが手伝ってもらえたらとおもいます
>>770 int main(void)
{
int i, j;
int x = 1;
int y = 2;
int m[5][5];
for (i=0; i<5; i++)
{
for (j=0; j<5; j++)
{
m[i][j] = (i == j ? x : ((i == j - 1) || (i == j + 1)) ? y : 0);
}
}
return 0;
}
>>773 それからradは2πの周期で元に戻るのだから大きなradを入れたら
0<rad≦2πの間になるように正規化してくれ
少しでも誤差を小さくするためだ
さっきも言ったようにforのループを逆にするんだ
0≦rad<2πだった
>>773 一気にsinの値を求めるんじゃなくて
まずはテイラー展開の各次数の項がちゃんと計算されているか確認しなよ
5次くらいまでなら電卓と手計算ですぐだせるだろ
>>768 こちらの方もありがとうございます
ちゃんと出力結果も一致いたしました
自分の学習範囲ではまだ理解できない関数がありましたが
>>766 さんとあわせて利用させてもらいたいと思います
if (rad >= 2.0 * M_PI)
while (rad > 2.0 * M_PI)
rad -= 2.0 * M_PI;
else if (rad < 0.0)
while (rad < 0.0)
rad += 2.0 * M_PI;
これで
>>776 は実現出来ると思う
後は階乗の項が後に行くとすごく小さくなり足してもほとんど意味をなさなくなる
積み残し誤差は先程説明したのでそこだけだな
>>781 正規化はこうしておけ
rad は double
if (rad > 2 * M_PI)
{
rad -= 2 * M_PI * (int)(rad / (2 * M_PI));
}
>>781 試行錯誤の結果納得の行く結果が出ました
プログラムそのものも簡易なもので出力できたのでありがたいです
>>768 さんの結果を含め利用させて頂きます
期限が迫ってる中助けて下さって本当にありがとうございました
自分も最終的には教えれるほどの力をつけたいですね
>>782 スマソ
負数が抜けてた
if (rad > 2 * M_PI)
{
rad -= 2 * M_PI * (int)(rad / (2 * M_PI));
}
else if (rad < 0.0)
{
rad += 2 * M_PI * (int)(fabs(rad) / (2 * M_PI) + 1);
}
785 :
デフォルトの名無しさん :2012/05/29(火) 22:58:22.38
いかんなあ 後ろから足すようにしても階乗もその都度求めないと誤差が大きい・・・ スピードを犠牲にするしかないのか
割と気持ちのよい生徒さんだな
>>786 階乗を求めて配列に入れとくといいかもね
あかんなあ π/4でcos(π/4-rad)を求めるように切り替えるか あと象限を4つに分けて全部で8等分して出来るだけ小さいradを使うようにしないと 誤差が大き過ぎる FPU作る時はいろいろ考えたんだろうね SSE2でsinとかcosを求めるアセンブラでも見て研究するか まともにやったらうまくいかんよ・・
1] 授業単元:ネットワーク [2] 問題文: マジックパケットを送信するソフトを作成せよ [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:なし [5] よろしくお願いします
>>789 誤差なんて気にならないレベルだろ
double mysin(double theta)
{
double r=0.0, x=1.0;
int i;
theta=fmod(theta, 2.0*M_PI);
x=theta;
r=theta;
for(i=3;i<100;i+=2)
{
x=-x*theta*theta/((i-1)*i);
r+=x;
printf("x=%f\n", x);
if(fabs(x)<1.0e-10) break;
}
return r;
}
{1] 授業単元:プログラミング言語演習 [2] 問題文: 1リットルのペットボトルに1杯ずつ水を入れるたびにその入れた量を加算し、ペットボトルの許容量を超えたことを表示しなさい。 ペットボトルの許容量は1000mlとする。 実行例↓ (適当な数字を入れていきます) 水の量を入力してください 580 1杯目の量=580ml,合計580ml 水の量を入力してください 310 2杯目の量=310ml,合計890ml 水の量を入力してください 220 3杯目の量=220ml,合計1110ml 許容量オーバー 3杯目で一杯になりましあ。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:できれば明日まで [5] その他の制限: for文とelseを使用 よろしくお願いします。
#include <stdio.h> int main(void) { int i, n, sum = 0; for(i = 1; ; i++) { printf("水の量を入力してください\n"); scanf("%d", &n); sum += n; printf("%d杯目の量=%dml,合計%dml\n", i, n, sum); if(sum > 1000) break; } printf("許容量オーバー %d杯目で一杯になりましあ。\n", i); return 0; }
>>793 #include <stdio.h>
int main(void)
{
int x=0, v, i;
for(i=1;;i++)
{
printf("水の量を入力してください\n");
if(scanf("%d", &v)!=1) break;
x+=v;
printf("%d杯目の量=%dml,合計%dml\n", i, v, x);
if(x>=1000)
{
printf("許容量オーバー %d杯目で一杯になりましあ。\n", i);
break;
}
}
return 0;
}
798 :
デフォルトの名無しさん :2012/05/30(水) 21:13:32.58
void Display(unsigned a[]) を手直しするだけなら とても詰まらん課題だ
800 :
798 :2012/05/30(水) 21:58:07.67
ガタガタ抜かさずにとっととやれや
>>799 答える訳でもなく、自分の思いを伝えるだけなら、とても詰まらんレスだ
[1] 授業単元:if else [2] 問題文(含コード&リンク): 三角形の3辺の長さ a,b,c をfloat型で入力し, 直角三角形,鈍角三角形,鋭角三角形のどれであるかを判定するプログラムを作成しなさい。 なお、if文をよういること [3] 環境 [3.1] OS:Windows [3.2] VC 6.0 [3.3] 言語:C [4] 期限:特になし [5] その他の制限:if文まで。できれば、swapについて詳しく教えて下さい
>802 「よういる」て。
用いる、だよな。Fラン大?
意味がわかればいいだろがカス
キム・ヨウイルでも通じるならおkってかぁ?さすがFラン大か専門学校w
>>805 よういる、では意味が分らん・・・分らんからお前がカスね。
良う炒る、じゃないかな。生焼けだと中るんだよ。
810 :
802 :2012/05/30(水) 22:46:08.84
課題が難しいからってほんの読み間違えをバカにしてごまかして必死だなwwwww 解けないなら解けないって言えよ無能
うん、溶けない。ですので次ぎの方どうぞ。
>810 俺も解けないわー。
>>802 swapなんかこの問題の何処で使うんだ?
815 :
802 :2012/05/30(水) 22:55:45.28
本気で解けないけどあえて俺をバカにする感じにレスすることで 解けるけど解けないフリしてる、ってアピールする作戦でたぁ~~~wwwwwwwwwwwww ほんとみっともねーなお前ら 素直に自分の非を認めたほうが潔良いのにwwwwwwwきめぇwwwww
>815 あなたの番は終わりました。出口はあちらです。
>814 a < b < cにするためではないかと思った。
820 :
802 :2012/05/30(水) 23:09:30.49
>>819 ま、とりあえずは動くみたいだから合格
お疲れ
問題文で許容誤差が与えられていないから直角三角形の判定に失敗することがあるだろうけど 突っ込んだらいけないんだよね?
>819 三角形にならないときが考慮されてないけどいいの? 1 2 100 とか。
7 8 9 が鈍角三角形で合格ってw
825 :
802 :2012/05/30(水) 23:21:43.40
おいおい、できないなら無理してコーディングすんじゃねーよ もういいわ、今日は寝るから明日までに作っとけよな
ばかばっかだな
数学もわからんのか・・・
日本語も分からんバカがいるから 数学も分からんアホがいて当然だろw アホの三重奏だよwww
829 :
デフォルトの名無しさん :2012/05/31(木) 02:42:26.71
∧__∧ ( ・ω・) いやどす ハ∨/^ヽ ノ::[三ノ :.、 i)、_;|*く; ノ |!: ::.".T~ ハ、___| """~""""""~"""~"""~"
wiki<<一番選びたくないitは最初に候補から外したい。
ただし
>>832 は「振る」という動作は入れてなく、女性が誰からも告白されてないと
取り敢えずプロポーズを受けるという部分で微妙に違うので、気になる人は
正しく書きなおしてください
2. woman decides whether accept or reject. これだな 取り敢えず受けるのではなく拒否する事もあるのを乱数で決める必要あり
836 :
デフォルトの名無しさん :2012/05/31(木) 13:07:10.71
>>804 最近は小学校でもこういう授業あるのかも
>>802 うおおはずかしいって言っておけばいいんだよ…
男は好きな女性から順にpするのか?
それとも、とりあえず、そうでもない女性から順に言って最後に本命?
>>834
Gale-Shapley アルゴリズムには何種類かあるみたいなんだよ
でも
>>834 みたいに乱数で振っては今より高いランクの男性がアプローチしないまま
組み合わせが決定してしまいそうだし
840 :
798 :2012/05/31(木) 19:10:17.22
改良できる方いませんか?
printfあたりいじくるだけだろ 自分でやれよ マジ詰まんねーから誰も手ださねーんだよ
842 :
798 :2012/05/31(木) 19:28:33.42
そんなに簡単だったらこんなところに書き込みませんよ ちゃんとプログラム読んでますか?
>>842 ちゃんと授業を受けてればわかるはずのことができないからこんなところにくる羽目になってるんだろ?
こんなところwww 別人の煽りにしても上出来じゃんwww
4→5 1000→10000
#if 0 void Display(unsigned a[]){ int i,j; unsigned w[M]; to_decimal(a, w); // 16 進数 a を 10 進数 w に変換 printf("%4.1u.",w[0]); // 小数点以上の表示 for(i = 1; i < M; i++){ printf("%4.4u ", w[i]); // 4 桁ごと表示 j = i%12; // j は i を 12 で割った余り if(j==0) printf("\n "); // 12 個表示したとき改行 } printf("\n"); // 一番最後に改行 } #else void Display(unsigned a[]){ int i,j; unsigned w[M]; to_decimal(a, w); // 16 進数 a を 10 進数 w に変換 printf("%5.1u.",w[0]); // 小数点以上の表示 for(i = 1; i < M; i++){ printf("%5.5u ", w[i]); // 4 桁ごと表示 j = i%12; // j は i を 12 で割った余り if(j==0) printf("\n "); // 12 個表示したとき改行 } printf("\n"); // 一番最後に改行 } #endif
ありゃだめだ 内部計算も5桁にしなきゃいけないな
>>842 行で編集し、5桁で区切って表示すればいいんじゃない?
/* 他は変更無し、必要な部分のみ */ for(i = 1; i < M; i++){ switch(i%5){ case 1: printf("%4.4u", w[i]); // 4 桁ごと表示 break; case 2:printf("%1.1u %3.3u", w[i]/1000, w[i]%1000); // 4 桁ごと表示 break; case 3:printf("%2.2u", w[i]/100); // 4 桁ごと表示 if(i%25==13) printf("\n "); // 10 個表示したとき改行 else printf(" "); printf("%2.2u", w[i]%100); // 4 桁ごと表示 break; case 4:printf("%3.3u %1.1u", w[i]/10, w[i]%10); // 4 桁ごと表示 break; case 0:printf("%4.4u", w[i]); // 4 桁ごと表示 if(i%25==0) printf("\n "); // 10 個表示したとき改行 else printf(" "); break; } }
3角形の3辺の長さがあたえられたとき、 正三角形、2等辺三角形、直角三角形か調べるプログラムをつくりなさい ってな問題がでたことあるんだけど・・・ 結構むずいよね。
Wikiのリンク直しといた。
/*
>>850 二等辺三角形 */
#include <stdio.h>
int f(){
float a, b, c, w, max;
printf("INPUT a b c >");
scanf("%f %f %f", &a, &b, &c);
max = a;
if (max < b) max = b;
if (max < c) max = c;
if(max >= a+b+c-max){printf("三角形にならない\n"); return 1;}
if (a==b && a==c) printf("正三角形\n");
else if (a==b || a==c || b==c) printf("二等辺三角形\n");
w = a*a + b*b + c*c - 2*max*max;
if (0 == w) printf("直角三角形\n");
else if (0 < w) printf("鋭角三角形\n");
else if (0 > w) printf("鈍角三角形\n");
return 0;
}int main(){while(!f());}
WikiとWikipediaの区別は付けよう。
区別ついてないのはお前だw
maxにこだわるより、長さ順に入れ替えたほうがその後の判定が楽だろ
857 :
798 :2012/06/01(金) 15:30:57.95
849さんそれを void Display(unsigned a[]){のところに書き足せばいいんですか?
858 :
798 :2012/06/01(金) 15:54:06.14
実行してみましたができていませんでした
860 :
798 :2012/06/01(金) 16:24:25.53
Mを251、Nを209にして1000桁まで表示させると正しく表示されません
861 :
デフォルトの名無しさん :2012/06/01(金) 16:28:56.30
>>860 Mを5461646464、Nを164161654646にすればいいよ
>>860 SとEを4545、Xを072で一回試してみ?
まーたVIPPERのガキどもか
865 :
798 :2012/06/01(金) 16:40:04.08
859さん1000桁表示にするなら void main(){の中も変更しなければいけません リンク先に変更するところは載っています
#define M 2000 #define N 1661
printf("\n ");
>>798 #include <stdio.h>
void swap(float *i, float *j, float *k){
*k = *i, *i = *j, *j = *k; }
int f(){
float a, b, c, w, t;
printf("INPUT a b c >");
if(scanf("%f %f %f", &a, &b, &c) != 3) return 1;
if(b>a && b>=c) swap(&a, &b, &t);
else if(c>a && c>=b) swap(&a, &c, &t);
if(0 >= b+c-a){printf("三角形にならない\n"); return 1;}
if (a==b && a==c) printf("正三角形\n");
else if (a==b || a==c || b==c) printf("二等辺三角形\n");
w = b*b + c*c - a*a;
if (0 == w) printf("直角三角形\n");
else if (0 < w) printf("鋭角三角形\n");
else if (0 > w) printf("鈍角三角形\n");
return 0; }
int main(){while(!f());}
868 :
デフォルトの名無しさん :2012/06/01(金) 18:03:10.29
>>868 double daikei(double e, double f, int g);
とすりゃあいい
intで宣言されてるnを
ムリクリdoubleにしようとするからムリになる
ぶっちゃけ言えば対応できない intのnが
偏差値が低い大学の宿題ってやっぱりレベル低いですね
Nice joke.
874 :
デフォルトの名無しさん :2012/06/01(金) 21:23:18.00
>>871 ありがとうございます。double sekibun,x,dxのsekibunを見落としていました。
助かりました!
875 :
798 :2012/06/01(金) 22:00:35.46
>>869 C++で書かれてますけどCでも問題なく動くのでしょうか?
また、何桁でも問題なく正しく動作するのでしょうか?
実行できる環境がないものですみません。また、初心者ですみません。
どこにもC++要素なくね?
くねくね?
まぁそのページにはしっかりとC++と書いてあるし、 それにC++を知らない人なら C++要素が本当に無いのかは 一見では分からんわな Cだけで出来ているてのを目視だけで確かめるのもめんどいし たぶんgccではその手のスイッチ無しなら何事もなくコンパイル通るだろうし
879 :
798 :2012/06/01(金) 22:09:15.81
language:C++ (gcc-4.3.4)ってなってるけど?
>>879 IDない場所だからなりすましかもしれんけど、お前その言い方はないんじゃないか?
無知でお願いする立場なんだから敬語使えや
あいかわらずすごいバカっぷりを晒してるな
[1] 授業単元:情報解析 [2] 問題文(含コード&リンク): y = 2*x^n + 3x + 5 の式における 前進/中央/後退 差分による微分値を(n = 2,6) で求めるプログラムを作成しなさい。 ただし微分値は2点微分。 [3] 環境 [3.1] OS:Windows [3.3] 言語: C言語 [4] 期限: 6/5 12:00 [5] その他の制限:制限なし
>>885 こう書くことでQZのコードを読ませて、指摘させようという作戦は飽きた
作戦も何も馬鹿だから馬鹿と言ってるんじゃね? 自分が馬鹿呼ばわりされた時にそれを謙虚に受け止められない奴には向上の余地が全くない
>>885 >>888 >>871 >x += dx;
は誤差が累積しませんか?であるならば、少々速度が犠牲になろうとも
for(i = 0; i < n; i++) {
x1 = a + ((b - a) * i ) / n;
x2 = a + ((b - a) * (i + 1)) / n;
f(x1), f(x2) ...
のほうがまし。
いや、せっかくx2を求めたんだから次のステップで使いまわすくらいはしてあげたほうがいいかもしれませんね。
http://ideone.com/iDR0K
>>886 問題がよく分からん
微分とかほとんど忘れたけど、たとえばx=1での微分を求めよとか
xを指定するものじゃないの?
類似問題ではこんな感じ (a) y=x^3としてx=1での微分を前進差分公式、後退差分公式、中央差分公式で求めよ。 (b) (a)の問題でlimΔx→0を省くと、前進差分公式、後退差分公式、中央差分公式から 得られる結果は それぞれ3+3Δx+Δx^2, 3-3Δx+Δx^2, 3+Δx^2であることを確かめ よ。正しい微分は3であるので、以上の3個の数式で3以外は誤差である。いまΔx= 0.1とすると中央差分公式の誤差が最も小さいことを示せ。
>>886 ttp://ideone.com/7cOzw 問題がよく分からないので(n = 2, x=6)と強引に解釈してみた
微分は詳しくないので問題の意図どおりかは分からない
[2] 問題文(含コード&リンク): y = 2*x^n + 3x + 5 の式における
前進/中央/後退 差分による微分値を(n = 2, x=6) で求めるプログラムを作成しなさい。
ただし微分値は2点微分。
893 :
798 :2012/06/02(土) 11:47:35.70
Ideone.comって何なんですか? 詳しく教えてください
サイトに行くこともできないの?www
>>889 仮にその言い分を認めたところで、バカなところはまだまだあるけどな
>>895 アホに触らない方がいいぞ
アホさが伝染る
>>890-891 すみませんでした。そしてプログラムありがとうございます
xの値を書き忘れていました。正しくはx=1です
改めて書きますと
[1] 授業単元:情報解析
[2] 問題文(含コード&リンク): x=1 ,y = 2*x^n + 3x + 5 の式における
前進/中央/後退 差分による微分値を(n = 2,6) で求めるプログラムを作成しなさい。
ただし微分値は2点微分。
[3] 環境
[3.1] OS:Windows
[3.3] 言語: C言語
[4] 期限: 6/5 12:00
[5] その他の制限:制限なし
よろしくお願いします
>>889 どこが馬鹿なのか指摘していただけませんか?のステップが抜けてるよ
void __CalFPS(int f){ static clock_t start1, end; static int count; count=(count%1000000)+1; if(!(count%f)){ start1 = clock(); printf("FPS= %f \n",(f*CLOCKS_PER_SEC)/(start1-end)); end = clock(); } } これをループの途中に挟んで1秒当たりに何回ループしてるか出したい これやるとFPS=0.0000000がだ~っと出るだけなんだが何故なんだ!? main文の中じゃないとダメとか? 変数fは毎回呼び出すと重いし、値が安定しないと思ったのでこうした
%f->%n
まちがいた、%f->%d
アヒャw しっかり数値出ました。 すっきりしました!ありがとうございます!
[1] 授業単元:繰り返し処理 [2] 問題文(含コード&リンク): キーボードから整数 a, bの値を読み込み, aからbまでカウントアップするプログラムをfor文を用いて作成しなさい。 ただし,読み込んだa, bの値がa > bの場合には、 「カウントアップできません。」と表示して終了すること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C [4] 期限:なし [5] その他の制限:for文までしか習っていません
↑ みたいな宿題出す学校ってめっちゃ偏差値低そうw
レベルの低い質問ですいません 大学でプログラミング習い始めて C++ で数行程度のプログラムかけるようになったんですが 大学では UNIX 上でテキストにかいてコマンドラインでコンパイルして実行するの教わったんですが うちで Windows 上で C++ の勉強するにはどうしたらいいでしょうか Visual Studio 2010 っていうの入れてみたんですけど メイン関数はないわ実行の仕方わからないわで数時間格闘してて困り果ててます
ありがとうございます! がんばってみます!
無理してwindows使うこともないと思うけど 素直にlinux入れたら?
windowsならgcc入れるのが一番早いんじゃね? コマンドプロンプトで出来るし shiftおしながら右クリックな そのディレクトリでcmdを開く
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
http://codepad.org/3bGYoGjz [3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2012年6月5日 午前8:00まで
[5] その他の制限:構造体での計算の仕方がよくわかりません。105行あたりから
できればリンク先のプログラムを訂正するかたちでお願いします。
>>918 とりあえず92行目の max_row = k; で初期化されてない k が使われている
問題文 2x-3z-w=-26 */ もしくは29行目 2.0, -3.0, 0.0, -1.0, -26.0 の何れかが間違ってる
exchange_matrix関数も怪しいな 値を退避しないと上書きしてるような
90行目 x = init_matrix(mat.col-1,1); の row, col もおかしいような
923 :
917 :2012/06/04(月) 20:57:08.21
>>922 ま、これはこれでいっか
1行目にx、2行目にy、3行目にz、4行目にwの解を入れるってことだぬ
926 :
917 :2012/06/04(月) 23:39:20.44
>>925 ありがとうございます。
解は手計算でしたものと同じなのであっていると思います。
私も頑張っていたのですがfor文のミスがたくさんありました・・・
無理を言ってすみませんでした。
ありがとうございました。
927 :
デフォルトの名無しさん :2012/06/05(火) 12:24:07.14
[1] 授業単元: プログラミング [2] 問題文(含コード&リンク): n次元ベクトル(x_1, x_2,..., x_n)^Tのp-ノルムを求めるプログラムを 配列を利用して作成しなさい. pを入力し、1,2,...,p-ノルムの値をすべてprintfで出力すること. p、n次元、ベクトルの成分は全てscanfで任意に読み込むようにすること。 絶対値と巾乗を計算する関数 fabs(), pow()を使用してよい。 ただし、未学習のポインタやライブラリ関数以外の関数は使用してはならない。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2012年6月5日 [5] その他の制限:よろしくお願いします。
QZがまた問題文読んでない
クズに問題文が読めるわけなかろう
Qはアイちゃんの出来損ないの失敗作らしい
scanfワロタ
今回の主役はどうみてもscanf
>>497 が末尾再帰でない事がC言語は俺スレでバレて珍しくしおらしかったQwwww
同じトコロの課題か? 前にも全く同じような宿題があったような気がするけど
937 :
デフォルトの名無しさん :2012/06/05(火) 14:47:47.79
[1] 授業単元: コンピュータプログラミング [2] 問題文(含コード&リンク): 2つの多次元ベクトルX,Yの和を出力する関数を作りたい。 X={x1, x2, ..., xN}, Y={y1, y2, ...,yN}でこの二つの配列の値の和をポインターとして 出力する関数 int *add(int *address1, int * address2, int length)を定義し、 その動作を確認するプログラムkadai7-1.cを作りなさい。ただしlengthは2つの配列の長さを表すものとする。 ただし、 int a[2], b[2]; scanf("%d %d %d %d", &(a[0]), &(a[1]),&(b[0]),&(b[1])); で配列の値をセットするものとして、答えは以下で出力されるものとする。 printf("c = %d %d\n", c[0], c[1]); [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月8日 [5] その他の制限: 特になし よろしくおねがいします
938 :
デフォルトの名無しさん :2012/06/05(火) 14:50:25.96
[1] 授業単元: コンピュータプログラミング
[2] 問題文(含コード&リンク):
http://ideone.com/qvNtf 2[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月8日
[5] その他の制限: 特になし
よろしくおねがいします
scanf先生大活躍の巻
943 :
文系初心者 :2012/06/05(火) 19:47:25.39
[1] 授業単元: プログラミング入門 [2] 問題文(含コード&リンク): 1 for文を用いて0.1の二乗、0.2の二乗、0.3の二乗と0.1ずつ10まで増やしていき、その値をファイルdata1.txtに書き出す。 書き出した後で、ファイルからデータを読み込み画面に出力する。 2 a = 3.1, b = 2.9, c = -1.1, d = 5.3の最大値、最小値を求め画面に出力する [3] 環境 [3.1] OS: windows [3.1] コンパイラ名とバージョン:visual stadio 2010 [3.3] 言語: C [4] 期限:5月6日 [5] 二問も申し訳ないのですが よろしくお願いします。
>>934 >珍しくしおらしかった
珍しくないとおもいますよ。でも
しおらしい
なんて美しい言葉をご存知ですね。こんど使ってみよう。
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
配列strに文字列を入力した後、
最初の2文字を取り除いた文字列を表示せよ
参考:
ttp://kie.nu/cCu [3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio2010
[3.3] 言語:C言語
[4] 期限:6/7
[5] その他の制限:特になし
期限が短いですがお願いします。
#include <stdio.h> int main(void) { char str[256]; printf("文字列を入力してください。\n"); scanf("%s", str); printf("最初の二文字を除いた文字列は・・・\n%s\nです。\n", str + 2); return 0; }
2文字以下の入力例外を入れるなら strlen でチェック?
951 :
デフォルトの名無しさん :2012/06/06(水) 18:12:39.79
[1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS:mac [3.2] xcode [3.3] c [4] 期限:本日八時 [
952 :
デフォルトの名無しさん :2012/06/06(水) 18:15:16.24
水差し問題です 4l3lの二つの容器で4l容器の方で2lをはかる プログラム作ってみたのですが解説を日本語にするのができません どのように解説を付けたらいいでしょうか またうまく動作していません なぜでしょうか #include <stdio.h> #define ROW 2 #define COLUMN 100 int FLAG(int u,int v,int x,int y,int i,int j); int main(void){ int x=0,y=0; int i,j,n,m; int flag=1; int a[ROW][COLUMN]={}; int g=a[0][0]+a[1][0]; printf("水差し問題\n"); printf("4L=%d,3L=%d,Goukei=%d\n",a[0][0],a[1][0],g); for(i=1;i<=100;i++){ n=a[0][i-1]; m=a[1][i-1]; if(n==2 && m==0){ printf("-終了-\n"); // [2] [0]の状態で終了 を表示 return 0; }
953 :
デフォルトの名無しさん :2012/06/06(水) 18:17:20.04
if(n<4 && flag==1){ x=4; y=m; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; } } } if(m<3 && flag==1){ x=n; y=3; g=n+3; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; } } } if(n>0 && flag==1){ x=0; y=m; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; }}}
954 :
デフォルトの名無しさん :2012/06/06(水) 18:19:38.78
if(m>0 && flag==1){ x=n; y=0; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; }}} if(g>=3 && n>0 && m<3 && flag==1){ x=n+m-3; y=3; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; }} } if(g>=4 && n<4 && m>0 && flag==1){ y=n+m-4; x=4; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; }} }
955 :
デフォルトの名無しさん :2012/06/06(水) 18:20:07.98
if(g<4 && n<4 && m>0 && flag==1){ x=n+m; y=0; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; } } } if(g<3 && n>0 && m<3 && flag==1){ y=n+m; x=0; for(j=0;j<=i;j++){ flag=FLAG(a[0][j],a[1][j],x,y,i,j); if(flag==1){ break; } } } if(flag==0){ a[0][i]=x; a[1][i]=y; g=a[0][i]+a[1][i]; printf("4L=%d,3L=%d,Goukei=%d\n",a[0][i],a[1][i],g); flag=1; }}} このif文たちの解説をしたいのですが...どのようにすればいいのでしょう
956 :
デフォルトの名無しさん :2012/06/06(水) 18:21:27.36
int FLAG(int u,int v,int x,int y,int i,int j){ int b; if(x==u && y==v){ b=1; return b; } else if(i==j){ b=0; return b; } } 長くなり失礼しました。簡潔に言うとこのプログラムの日本語での説明 変数 何をしているのか また、これよりも良いプログラムがあれば教えていただきたいです。どうぞよろしくお願いいたします
>プログラム作ってみたのですが解説を日本語にするのができません 自分で作ったんなら説明できるだろw
958 :
デフォルトの名無しさん :2012/06/06(水) 18:29:28.05
>問題文がこのようなもんだいなのです
[1] 授業単元: c言語演習 [2] 問題文(含コード&リンク): 整数nを入力し、以下のようなサイズnの"Z型の図形"を"*"で表示するプログラムを作成しなさい、ただし、図形を表示するためのnの値は3以上とし、2以下の値が入力された場合は処理を終了するようにしなさい。 [実行例] 3 ←nの入力 n=3 *** * *** 4 n=4 **** * * **** 0 ←データの終わり(2以下の値) ← n=0は表示しない [3] 環境 [3.1] OS:linux [3.2] [3.3] c 言語 [4] 期限:明日まで for文利用お願いします。 初めてなので至らぬ点があるかと思いますがお願いします。 個人では戻った後のnの数の*表示できませんでした。
>959 #include <stdio.h> int main(void) { int n, r, c, cur; for( ; ; ) { scanf("%d", &n); if(n <= 2) { break; } printf("n=%d\n", n); cur = n - 1; for(r=0; r<n; r++) { for(c=0; c<n; c++) { if(r==0 || r==n-1 || c==cur) { printf("*"); } else { printf(" "); } } printf("\n"); cur--; } } return 0; }
>>960 ありがとうございます。
自分との違いもわかり大変参考になりました。
printf( "%*c", cur, '*' )とか使うとちょっとだけ楽。
総当たりして解にヒットしたらその履歴(親)をさかのぼって表示する寸法やね
総当たり法というより場当たり法のような 実行できる手順は「満たす、空にする、移し替える」の3通り 総当たりなら最初に実行できるのは「満たす」そして次に…とパラレルで探索 手順と使用する水の少ないものを選択肢として残していく 水差し問題はコンピュータで思考ルーチンを組むのになかなかいい課題だと思う
>>966 solve の最後に return -1; 追加で
コンピュータってw
>>968 場当たり法ってなんだよ
幅優先探索っていう名前があるだろ
#include main(){ int i,j; j=1; for(i=1;i<11;i++){ j=i*j; } printf("j=%d",j); return 0; } をwhile文に書き換える時に、 正の整数が入力される限り繰り返すときのwhileの条件文を教えてください
while ( (c=getchar()) > 1 ) とかは間違えなのでやらないでくささい
>972 エスパーしてみる。 #include <stdio.h> int main(void) { int i, j, n; n = 0; while(n <= 0) { printf("n="); scanf("%d", &n); } j = 1; for(i=1; i<=n; i++){ j = i * j; } printf("j=%d", j); return 0; }
flvの再生できるソフト作りたいんだが参考になるサイト教えて
[1] 授業単元:2次元配列 [2] 問題文(含コード&リンク): 新幹線「のぞみ」の料金(ただし運賃との合計額)は以下の表の通りである。 出発駅と到着駅をそれぞれ駅番号で入力し,料金を表示するプログラムを作成しなさい。 なお駅番号は,東京が1,新横浜が2,名古屋が3,京都が4,新大阪が5とする。 但し、料金を表示してから後で、1 を入力すると上記の処理を繰り返し、0 を入力するとプログラムを終了するものとする。 新大阪 京都 名古屋 新横浜 東京 14,920 14,390 11,540 3,180 新横浜 14,600 13,660 10,910 名古屋 6,840 6,100 京都 3,240 [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C [4] 期限:いつでも [5] その他の制限:2次元配列までしかやってないので、関数は使わないでください。
めっちゃ関数使ってるやん
>>980 mainだけで出来てるだろ
エスパー能力低いアホだな
回答すんなよな、オマエ
関数使わないでくれ って初心者が言ってるんだから察しろよエスパーしろよw
ゴミカスはちょっと黙ってろwww
邪魔な汚物だ
printf()って関数だよね printf()って関数だよね printf()って関数だよね printf()って関数だよね printf()って関数だよね
こうなると、屁理屈としか思えないんだけど 設問者に直接聞いてみたらどうなの?
サイト名からして上級者向けじゃねーかwww
(c言語) 関数f(x)=4.0/(1.0+X^2) の (0,1)間の定積分を 台形公式を用いて計算するプログラムを作成せよ。 台形の分割数 n は 2のk乗とし、(k=1,2,3,,,10)について求める [台形公式] 関数f(x)の定積分値は、積分区間(a,b)を幅hの区間にn等分し、 区分点をx0(=a), x1, .. xn(=b)とするとき、面積Sは S=h×[0.5×f(x0)+f(x1)+f(x2)+...+0.5×f(xn)で近似される
使用推奨だけれども
>>2 のテンプレすらも読まないのか、
それとも呼んだ上であえてテンプレを使わないのか
好意的に解釈すれば善社
>>987 #include <stdio.h>
double f(double x) { return 4.0 / (1.0 + x * x); }
int main(void)
{
int i, k, n;
double s, h, temp;
h = 1.0;
s = (f(0.0) + f(1.0)) * h / 2;
for(k = 1, n = 2; k <= 10; k++, n <<= 1) {
h /= 2;
for(i = 1,temp = 0.0; i < n; i += 2) temp += f(i * h);
s = s / 2 + temp * h;
printf("k = %2d : %f\n", k, s);
}
return 0;
}
[1] 授業単元:C [2] 問題文(含コード&リンク): まずテストを受けた生徒の人数を入力し、 それから各生徒の国語・数学・英語の点数(0~100点の整数値)を入力して 2次元の配列に格納したうえで、生徒別の合計点・平均点と科目別の合計点・平均点とを 小数点以下まで計算して表示するプログラムを作成しなさい。 ただしテストを受ける生徒の人数は20人以下とする。 [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語:C [4] 期限:特になし [5] その他の制限:
もしかしてその課題 60個の数字を間違いなく入力しろ っていう 拷問なみのインタフェイスを作らせる課題なのか
996 :
デフォルトの名無しさん :2012/06/10(日) 22:17:03.69
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
http://codepad.org/30Mz7Pbj このプログラムで何番目の値段をかえるではなく
名前を聞かれてその名前の値段をかえるプログラムにする。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2012年6月11日午後1時
[5] その他の制限: 特になし
>>995 リダイレクトも知らないクズは口出しすんな
>>996 27~29行目を入力された名前にぶち当たるまでループ
ヒットしなければ終了
>>998 工学部の情報系の授業だと
unixのコマンドってなぜか教わらないよね
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。