C/C++の宿題を片付けます 76代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/11/06(月) 09:04:35【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
C/C++の宿題を片付けます 75代目
http://pc8.2ch.net/test/read.cgi/tech/1161257941/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0951デフォルトの名無しさん
2006/11/21(火) 00:24:42[2] 配列 (の先頭アドレス) a とそのサイズ n を受け取り, 要素を逆順に並び換える
(a[0]=1, a[1]=9, a[2]=2, a[3]=6 を a[0]=6, a[1]=2, a[2]=9, a[3]=1 にする) 関数 array_reverse(int *a, int n) を作成せよ
[3]
[3.1] winXP sp2
[3.2] cygwin
[3.3] C
[4] 2006年11月30日
[5] forを使ってできるだけ簡単なのがほしいです。関数だけでいいです。
自分で考えた時間は3時間ですが作れません。
0952デフォルトの名無しさん
2006/11/21(火) 00:28:05ちっとは推敲しておくれ。
0953927
2006/11/21(火) 00:30:53参考書を確認していたら載ってました。ありがとうございます。
>>950さんので実行してみたらきれいに整列しました
ありがとうございます!
0954デフォルトの名無しさん
2006/11/21(火) 00:33:30void reverse_array(int *a, int n)
{
int i, temp;
for(i=0; i<n/2; i++) {
temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = a[i];
}
}
0955デフォルトの名無しさん
2006/11/21(火) 00:34:08粗悪な方がコピーしたと疑われなくてちょうどいいと思うがどうだろうかw
0956ミスった
2006/11/21(火) 00:34:410957デフォルトの名無しさん
2006/11/21(火) 00:36:15こんな夜遅くまで何をやってるんだろうか私は・・・
0958デフォルトの名無しさん
2006/11/21(火) 00:38:11{
int i = 0;
int temp = 0;
for(i = 0; i < (n-1)/2; i++)
{
temp = a[i];
a[i] = a[n-i-1];
a[n-i-1] = temp;
}
}
0959デフォルトの名無しさん
2006/11/21(火) 00:43:20それだとnが偶数のときおかしくない?
例えばn=4のとき(n-1)/2は1になりa[1]とa[2]が交換されない。
0960951
2006/11/21(火) 00:47:49全角のスペースが含まれていたので除去したら
なんかへんなエラーでました。
家のコンパイラではなぜかコピーできないんですけど
underfined reference to '_array_reverse'とかなんとか
>>958さん
>>959さんの言うように、
{2,3,4,5,}の逆が{5,3,4,2}になったりします
0961951
2006/11/21(火) 00:49:33そこらへんのサイトで調べてきたやつも入れてみたり
いろいろ試してみるんですがどれも上手くいかないです。
まさか関数以外の部分が間違ってたりするんでしょうか。
この関数無しだと正常にそのままの数値で返ってくるプログラムになるのですが
0962958
2006/11/21(火) 00:50:530963デフォルトの名無しさん
2006/11/21(火) 00:50:55958がコピペで通ってるなら(n-1)/2のとこだけn/2にすればいいだろ
0964958
2006/11/21(火) 00:53:250965デフォルトの名無しさん
2006/11/21(火) 00:55:52for文の終了条件に入れときゃいいよ。
それだけのこと
0966デフォルトの名無しさん
2006/11/21(火) 00:57:090967デフォルトの名無しさん
2006/11/21(火) 00:57:350969デフォルトの名無しさん
2006/11/21(火) 01:02:21小学生の算数レベルの簡単な話ですよ。
もう少し勉強したってください。
0971デフォルトの名無しさん
2006/11/21(火) 01:09:32いきなりうまくやろうとするよりまずは動くプログラム作って
それから改良しとき、うちはもう寝るわぁ。
0972デフォルトの名無しさん
2006/11/21(火) 01:10:580973デフォルトの名無しさん
2006/11/21(火) 09:45:37[2]
以下のような3つのペアの実数をファイルに書き、
それらのペアを配列を使って読んで、
それぞれの四則演算を別のファイルに書き出しなさい。
5.0 3.0
2.5 1.0
4.0 1.5
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: emacs
[3.3] 言語: C
[4] 期限: 2006年11月21日14時まで
0974デフォルトの名無しさん
2006/11/21(火) 10:22:050975デフォルトの名無しさん
2006/11/21(火) 10:24:540976デフォルトの名無しさん
2006/11/21(火) 11:17:120977デフォルトの名無しさん
2006/11/21(火) 11:46:15[2] 問題文(含コード&リンク):
キーボードからa,b,c,の値を入力し、二次方程式 ax2+bx+c=0
平方根を求め、下記のように表示するプログラムを作りなさい。
但し、while文を用いて繰り返し計算ができるようにすること。
終了はaに0が入力されたときとする。
例:2実根の時 : 2実根 :x=1,2,3,4x2=-2,3,4
重根の時 : 重根 :x=3,2,1
複素根の時: 複素根:x1,x2=1,2±j3.4
※ルートは数学処理の#include <math.h> とsqrt(値)を使用する。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: Microsoft Visual Studio 2005
[3.3] 言語:C++
[4] 期限: 2006年11月23日19:00まで
[5] その他の制限:
for構文、if構文、while構文のみ習っています。
申し訳ありませんが、インデント付でお願いします。
0978デフォルトの名無しさん
2006/11/21(火) 12:03:55>申し訳ありませんが、インデント付でお願いします。
まず自分でやってみよう!
0979デフォルトの名無しさん
2006/11/21(火) 12:07:41あぁ?おめーらいい加減にしとけやコラァ!
図書館で算数の教科書見て自分で解けやバカが。
それとも高校レベルの数学も出来ないバカなんですか?
なら退学しろクズが
0980デフォルトの名無しさん
2006/11/21(火) 12:15:42http://pc8.2ch.net/test/read.cgi/tech/1164079451/
次スレ立てました
0982デフォルトの名無しさん
2006/11/21(火) 12:55:320983デフォルトの名無しさん
2006/11/21(火) 13:00:290984デフォルトの名無しさん
2006/11/21(火) 13:09:41[2] 課題:整数nが与えられたとき、n×nのサイズで螺旋状に0から(n二乗ー1)までの数が並ぶ行列を作成し、
画面に表示させるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語:C
[4] 期限:11月24日(金)12:00厳守
[5] その他の制限: ポインタ、データ構造までは習っています。
宜しくお願い致します。
0985デフォルトの名無しさん
2006/11/21(火) 13:10:01多分、二次方程式作って、その解を求めるだけくね?
0986デフォルトの名無しさん
2006/11/21(火) 13:12:30螺旋状がよく判らない。
計算結果の例を載せるがよろし。
0987977
2006/11/21(火) 13:12:52皆さんにご迷惑をおかけし、申し訳ありません。
言われるようにまだ、自分で考えてみたいと思います。
0988デフォルトの名無しさん
2006/11/21(火) 13:13:41#include<math.h>
int main(){float a,b,c,d;while(1){printf("a b c:");scanf("%f %f %f",&a,&b,&c);if(a==0)return 0;d=b*b-4*a*c;
if(d>0)printf("2実根:%f,%f\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else if(d==0)printf("重根:%f\n",-b/(2*a));
else printf("複素根:%f±%fi\n",-b/(2*a),sqrt(-d)/(2*a));}}
申し訳ありませんが、検算とインデントは自分でお願いします。
正直、よく判らんかった
0989デフォルトの名無しさん
2006/11/21(火) 13:16:500990デフォルトの名無しさん
2006/11/21(火) 13:17:580991デフォルトの名無しさん
2006/11/21(火) 13:18:26ネットにいくらでもあるし、解説してるサイトが。
それでもわからないなら高校ヤメレ
螺旋?
*
*
*
*
*
*
*
*
*
*
こういうのか。
こんな出力だけの問題じぶんでやれよ
0992デフォルトの名無しさん
2006/11/21(火) 13:21:200993984
2006/11/21(火) 13:23:09例えばキーボードから5を読み込ませると(n=5にすると)
0 1 2 3 4
15 16 17 18 5
14 23 24 19 6
13 22 21 20 7
12 11 10 9 8
という感じになります。
0994デフォルトの名無しさん
2006/11/21(火) 13:26:220995デフォルトの名無しさん
2006/11/21(火) 13:29:07このスレくらい検索しろハゲ
0996デフォルトの名無しさん
2006/11/21(火) 13:29:18さっぱりわかんね
おれ
もう
だめ?
0997デフォルトの名無しさん
2006/11/21(火) 13:35:550998デフォルトの名無しさん
2006/11/21(火) 13:38:52んだは
しうも
0999デフォルトの名無しさん
2006/11/21(火) 13:39:27>>977
なんで2実根の時のxとx2の数が違うのかとか
2実根の時はxとx2なのに複素根の時はx1とx2なのかとか
1000デフォルトの名無しさん
2006/11/21(火) 13:41:43みんな自力で頑張ろうな
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。