C/C++の宿題を片付けます 66代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/06/04(日) 01:02:05【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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++の宿題を片付けます 65代目
http://pc8.2ch.net/test/read.cgi/tech/1147908265/
【過去スレ一覧】
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
0002デフォルトの名無しさん
2006/06/04(日) 01:03:01・同じ講義を受けている人が既に同じ宿題を依頼してるかもしれなせん。
まずはスレを少しさかのぼって探してみてください。
それさえ出来ないシメジ野郎はバター焼きにして食っちまうぞ
・解答者は答える義務もないし、答えてもそれが正しいかどうかは保証しません。
もちろん、出題者先生の意図なんぞ知ったことではありません。
At your own riskで。
・態度が余りに悪いとすーぱーはかーがあなたの先生にチクるかもしれません。
・お礼ぐらいは言いましょう。
0003デフォルトの名無しさん
2006/06/04(日) 01:03:59** このスレはまだ未稼働です。
** 前スレが埋まってから使いましょう。
********************************************/
0004デフォルトの名無しさん
2006/06/04(日) 04:20:23そのうち「もう未稼動」になったり「まだ稼動」になったりするんでしょうか。
0005デフォルトの名無しさん
2006/06/04(日) 04:40:44[2] 問題文(含コード&リンク):
1.Local variables
a. are visible only in the scope in which they have been defined.
b. are destroyed in the reverse order in which they are created.
c. have their destructors invoked by the C++ subsystem when they leave scope.
d. all of the above.
2.Which file open mode would be used to write data only to the end of an existing file?
a. ios::app
b. ios::in
c. ios::out
d. ios::trunc
よろしくお願いします。
0006デフォルトの名無しさん
2006/06/04(日) 11:57:491 a
2 a
0007デフォルトの名無しさん
2006/06/04(日) 12:06:261ってdじゃない?
0008デフォルトの名無しさん
2006/06/04(日) 12:44:18b,cってこんなのまで規定されていたっけ?
#include <iostream>
using namespace std;
class A {
private:
const char* s;
public:
A(char const* s):s(s) {cout << "A(" << s << ")" << endl;}
~A() {cout << "~A(" << s << ")" << endl;}
};
int main()
{
static A a("foo");
{
static A a("bar");
}
{
static A a("hoge");
}
}
0009デフォルトの名無しさん
2006/06/04(日) 16:34:55ありがとうございます。
3.Which of the following is the best definition or example of the "principle of least privilege?"
a. Always separate classes into .h definition files and .cpp implementation files.
b. Use global variables to avoid access problems.
c. Grant access to only those clients who have a legitimate need for access.
d. Whenever possible, prefer composition over inheritance.
4.A StatusLabel
a. inherits from class StatusStrip
b. is a control with a StatusStrip control.
c. is a type of flair.
d. none of the above
5.When the code in a try block does not throw an exception, which of the following is false?
a. all the catch handlers immediately following the try block are skipped
b. execution resumes with the first line of code after the catch handlers
c. a default exception is thrown
d. none of the function calls within the try block threw an exception
お願いします。
0010デフォルトの名無しさん
2006/06/04(日) 16:49:36あと何問あるんだ?
追加で張るのはなるべく止めて欲しい。
張るなら、全部まとめて張ってくれ。
0011デフォルトの名無しさん
2006/06/04(日) 16:52:08○貼る
×張る
0012デフォルトの名無しさん
2006/06/04(日) 17:07:560013デフォルトの名無しさん
2006/06/04(日) 17:08:36[2] 問題文:
1方向線状リストを使って、スタックを実現せよ。
ただし、各記憶要素xは整数値をとるものとする。
関数として、push(x)、pop()、empty()、ならびに現在のスタック内容を
表示するためのshow()を用意する。
ヒント:1方向線状リストの先頭(左端)がスタックのトップを表すようにすると、
リスト末尾へのポインタが不要になる。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ(バージョン):gcc
[3.3] 言語:C
[4] 期限:6/7まで
[5] その他の制限:無し
どなたかご教授お願いします。
0014デフォルトの名無しさん
2006/06/04(日) 17:23:19わかりました。残りいきます!
6. Int16, Int32, Double, and String
a. are executable C++ statements.
b. are examples of data types.
c. are compile error categories.
d. none of the above
7. To disable a menu item,
a. just delete the item.
b. set the Enabled property to false.
c. set the Enabled property to disabled.
d. remove the Enabled property.
8. With Visual C++ Forms Programming, the easiest way to present a dialog window to the user is to use
a. a MessageBox.
b. the cout object.
c. a data file.
d. inheritance.
9. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above
0015デフォルトの名無しさん
2006/06/04(日) 17:24:399. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above
10. String::SubString
a. extracts a portion of a string.
b. specifies an inheritance relationship.
c. is not supported by Visual C++.
d. is an iostream operation.
よろしくお願いします。
0016デフォルトの名無しさん
2006/06/04(日) 17:52:20駄目
0017デフォルトの名無しさん
NGNGstruct stack{int x; struct struct* next;};
struct stack* STACK=NULL;
void push(int x){struct stack* sp=STACK;while(!sp)sp=sp->next;
sp=(struct stack*)malloc(sizeof(struct stack));sp->x=x;sp->nextNULL;}
int pop(){int ret;struct stack* sp=STACK;struct stack* prev=NULL;
while(sp){prev=sp;sp=sp->next;}if(sp){ret=sp->x;prev->next=NULL;free(sp);return ret;}
return 0;}
void empty(){struct stack* sp=STACK;struct stack* next=NULL;
while(sp){next=sp->next;free(sp);sp=next;}}
void show(){struct stack* sp=STACK;while(sp){printf("%i\n",sp->x);sp=sp->next;}}
0018デフォルトの名無しさん
2006/06/04(日) 18:32:12http://pc8.2ch.net/test/read.cgi/tech/1149349035/
ここは削除依頼を出します。
0019デフォルトの名無しさん
2006/06/04(日) 19:02:56>>2も書いてないし
0020デフォルトの名無しさん
2006/06/04(日) 20:04:120021デフォルトの名無しさん
2006/06/04(日) 21:11:540022デフォルトの名無しさん
2006/06/04(日) 23:52:570023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
2006/06/05(月) 01:09:082つの数値を入力し、次に+,-,*,/を入力して、計算方法を決めて結果を出すというものなのですが、
yの値が途中で強制的に0になります。
#include <stdio.h>
void main()
{
int x,y,z;
char a;
printf("2つの数値を入力せよ。\nx=");
scanf("%d",&x);
printf("y=");
scanf("%d",&y);
printf("+(和),-(差),*(積),/(商)のいずれかの記号を入力し、\n2つの値を演算方法を入力して決定せよ。\n演算方法は ");
scanf("%s",&a);
switch(a){
case 43:
z=x+y;
printf("%d + %d = %d \n",x,y,z);
break;
default:
printf("該当する記号ではありません。\n");
break;
}
}
具体的に言うと、11行目の
scanf("%s",&a);
があるとyが0になりました。(これをはずすと正常にyの数値が継続される)
どういうワケなんでしょうかこれって?
0025デフォルトの名無しさん
2006/06/05(月) 01:10:55scanf()の使い方が間違っている。
あと、スレ違い。
0026デフォルトの名無しさん
2006/06/05(月) 01:13:05すまんかった、次から無いように気をつける
0027デフォルトの名無しさん
NGNGだからscanfなんか使うなと(ry
0028デフォルトの名無しさん
2006/06/05(月) 04:01:50a. Always separate classes into .h definition files and .cpp implementation files.
b. Use global variables to avoid access problems.
c. Grant access to only those clients who have a legitimate need for access.
d. Whenever possible, prefer composition over inheritance.
4.A StatusLabel
a. inherits from class StatusStrip
b. is a control with a StatusStrip control.
c. is a type of flair.
d. none of the above
5.When the code in a try block does not throw an exception, which of the following is false?
a. all the catch handlers immediately following the try block are skipped
b. execution resumes with the first line of code after the catch handlers
c. a default exception is thrown
d. none of the function calls within the try block threw an exception
誰かお願いします。
0029デフォルトの名無しさん
2006/06/05(月) 04:03:096. Int16, Int32, Double, and String
a. are executable C++ statements.
b. are examples of data types.
c. are compile error categories.
d. none of the above
7. To disable a menu item,
a. just delete the item.
b. set the Enabled property to false.
c. set the Enabled property to disabled.
d. remove the Enabled property.
8. With Visual C++ Forms Programming, the easiest way to present a dialog window to the user is to use
a. a MessageBox.
b. the cout object.
c. a data file.
d. inheritance.
9. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above
0030デフォルトの名無しさん
2006/06/05(月) 04:03:576. Int16, Int32, Double, and String
a. are executable C++ statements.
b. are examples of data types.
c. are compile error categories.
d. none of the above
7. To disable a menu item,
a. just delete the item.
b. set the Enabled property to false.
c. set the Enabled property to disabled.
d. remove the Enabled property.
8. With Visual C++ Forms Programming, the easiest way to present a dialog window to the user is to use
a. a MessageBox.
b. the cout object.
c. a data file.
d. inheritance.
9. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above
0031デフォルトの名無しさん
2006/06/05(月) 04:05:219. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above
10. String::SubString
a. extracts a portion of a string.
b. specifies an inheritance relationship.
c. is not supported by Visual C++.
d. is an iostream operation.
よろしくお願いします。
0032デフォルトの名無しさん
2006/06/05(月) 04:06:580033デフォルトの名無しさん
NGNG./ ;ヽ
l _,,,,,,,,_,;;;;i <いいぞ ベイべー!
l l''|~___;;、_y__ lミ;l テンプレで依頼しない奴はクズだ!
゙l;| | `'",;_,i`'"|;i | テンプレで依頼する奴はよく訓練されたクズだ!
,r''i ヽ, '~rーj`c=/
,/ ヽ ヽ`ー"/:: `ヽ
/ ゙ヽ  ̄、::::: ゙l, ホント このスレは地獄だぜ! フゥハハハーハァー
|;/"⌒ヽ, \ ヽ: _l_ ri ri
l l ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| | / |
゙l゙l, l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l
| ヽ ヽ _|_ _ "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ
/"ヽ 'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄ [i゙''''''''''''''''"゙゙゙ ̄`"
/ ヽ ー──''''''""(;;) `゙,j" | | |
0034デフォルトの名無しさん
2006/06/05(月) 05:32:14削除依頼済みの重複スレで質問するな。
本スレに移動しろ。
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0035デフォルトの名無しさん
2006/06/05(月) 08:54:26[2]バブルソートのプログラムを作成し、実行結果とともに提出せよ(配列を使う)
[3] 環境
[3.1] windowsXP
[3.2] Microsoft Visual C++ 6.0
[3.3] C言語
[4] 期限: 2006年6月5日17:30までです。
[5] あまり高等ではない方法でお願いします!
0036デフォルトの名無しさん
NGNGバブルソートに高等もクソもあるか。
#include<stdio.h>
#include<string.h>
void bubblesort(char** a,size_t n){size_t i,j;char* tmp;
for(i=0;i<n-1;i++)for(j=n-1;j>i;j--)
if(strcmp(a[j],a[j-1])<0){tmp=a[j];a[j]=a[j-1];a[j-1]=tmp;}}
あとは自分で。
0037デフォルトの名無しさん
2006/06/05(月) 12:16:27高等なバブルって計算量減らした改良版のことじゃね?wwww
0039前スレ973
2006/06/05(月) 15:45:09ありがとうございます。
コンパイルして実行したのですが、何を入力すればよいのでしょうか?
ファイルの読み込みは手動でしょうか?
1000いっちゃったので、すみません・・・
0040デフォルトの名無しさん
2006/06/05(月) 16:02:130041デフォルトの名無しさん
2006/06/05(月) 22:20:16[2]【リスト,削除】
キーボードから整数を入力し, 0 以外の値の場合はリストの先頭に挿入し,
0 の場合は終了するプログラムを作成せよ.
ただし,リスト中に同じ値が存在する場合は remove_node を用いて削除する.
整数入力毎にリストの中身を表示せよ.
[3] 環境
[3.1] windowsXP
[3.2] Microsoft Visual C++ 6.0
[3.3] C言語
[4] 期限:明日中
[5]できれば意味のわかりやすいプログラムをよろしくです。
0042デフォルトの名無しさん
NGNGリストの定義はどうするんだ。
0043デフォルトの名無しさん
2006/06/05(月) 22:53:09ご自由に。
というかリストの定義はときかれて何を答えればいいのかすらもわからないぐらいこの課題の意味わかってないです。
申し訳ないです。
0044デフォルトの名無しさん
2006/06/05(月) 22:58:34ご自由にでは解答できる人が居ないぞ。
授業では、「リスト」というものが、どのような形で紹介されていたのか、具体的に説明してよ。
0045デフォルトの名無しさん
2006/06/05(月) 23:00:16自己参照型のやつじゃないの
0046デフォルトの名無しさん
2006/06/05(月) 23:04:26struct node_tag
{
int value;
struct node_tag *next;
};
typedef struct node_tag node_t;
これかな・・・
0047デフォルトの名無しさん
NGNGつーか、他に定義されているリスト操作関数はないのか?
0048デフォルトの名無しさん
2006/06/05(月) 23:19:510049デフォルトの名無しさん
2006/06/05(月) 23:21:540050デフォルトの名無しさん
2006/06/05(月) 23:54:54#include <stdio.h>
#include <stdlib.h>
struct node_tag
{ int value;
struct node_tag *next; };
typedef struct node_tag node_t;
node_t* pFirstNode = NULL;
void insert_node(node_t* pNode) {pNode->next = pFirstNode; pFirstNode = pNode;}
node_t* remove_node(node_t* pNode) { if(pFirstNode == pNode) {
pFirstNode = pNode->next; pNode->next = NULL; return pNode;
} else { node_t* pNode2 = pFirstNode;
while(pNode2 != NULL) { if(pNode2->next == pNode) {
pNode2->next = pNode->next; pNode->next = NULL; return pNode;
} pNode2 = pNode2->next; } return NULL;} }
node_t* find_node(int nValue) { node_t* pNode = pFirstNode;
while(pNode != NULL) { if(pNode->value == nValue) return pNode;
pNode = pNode->next; }return NULL; }
int main() { char sValue[1024]; int nValue; node_t* pNode;
while(fgets(sValue, 1024, stdin) != NULL) { nValue = atoi(sValue);
if(nValue == 0) break; pNode = find_node(nValue);
if(pNode == NULL) { node_t* pNode = malloc(sizeof(node_t));
if(pNode != NULL) { pNode->value = nValue; pNode->next = NULL;
insert_node(pNode); } } else {
remove_node(pNode); free(pNode); } pNode = pFirstNode;
while(pNode != NULL) { printf("%d,", pNode->value); pNode = pNode->next;
} printf("\n"); } pNode = pFirstNode;
while(pNode != NULL) { node_t* pNode2 = pNode->next; free(pNode);
pNode = pNode2; } return 0; }
0051デフォルトの名無しさん
2006/06/06(火) 00:03:32[2] 問題文(含コード&リンク):
後述のプログラムを、以下のように変更する。
・円柱の体積計算部分をカプセル化する(double clc_cylinder();の部分をプライベートにする?)。
・円柱の体積計算プログラムを利用して、円錐、半球、球の体積を求める。
(円錐の体積;1/3πr*3、球の面積:4/3πr*3)
・各図形の体積を表示する(円柱の体積計算はカプセル化しているので、注意)。
・4つの体積の比を以下の要領で表示する。
円錐:半球:円柱:球
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:VC
[3.3] 言語: C++
[4] 期限: 2006年6月8日まで
カプセル化が上手くできなくて…。よろしくお願いします。
005251
2006/06/06(火) 00:04:03#include<iostream>
#include<cmath>
#define PI 3.141592
using namespace std;
class volume{
double r;
public:
void print(double a);
double clc_cylinder();
volume():r(0){};
volume(double a):r(a){};
};
void volume::print(double a){
cout<<"半径=高さとなる円柱の体積は,"<<a<<"です."<<endl;
}
double volume::clc_cylinder(){
return PI*pow(r,3);
}
int main(){
volume cyl(10);
double y=cyl.clc_cylinder();
cyl.print(y);
return 0;
}
0053デフォルトの名無しさん
2006/06/06(火) 00:51:24clcはcalculationの意味?
clc_cylinderをprivateにしたらダメです。カプセル化の意味を取り違えてます。
円柱の体積から円錐を求めるのはわかるけど、球の体積をわざわざ円柱から求める意味がわかりません。
体積の公式が全部違う気がするのは気のせい?
体積の表示はmain関数内で勝手にどうぞ。
高さを保持したくないようなので、引数で渡すようにしました。
比の表示はやや投げやりです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1983.txt
この問題と元のコードってまさか原文のままじゃないよね?
0054デフォルトの名無しさん
NGNGこれが出題ソースだとしたら、出題者はOOPを最初から勉強し直すべきだ。
005551
2006/06/06(火) 01:22:46>clcはcalculationの意味?
わかりません。問題そのまま書いただけなので…。
>clc_cylinderをprivateにしたらダメです。
先生がそう言ってたような気がしたんですが。
ひょっとしたら僕が意味を取り違えてるのかも知れません。
>球の体積をわざわざ円柱から求める意味がわかりません。
半径と高さが同じ設定のようなので、πr^3の部分が共通してるため…だと思います。
>体積の公式が全部違う気がするのは気のせい?
書き方間違えました。πr*3の部分がπr^3です。
>この問題と元のコードってまさか原文のままじゃないよね?
基本的には原文のままですが…。
「“円柱の体積計算プログラムを利用して”、円錐、半球、球の体積を求める」
というのが問題ですので、元の体積計算部分を利用したプログラムにしたいのですが…。
(そのために高さと半径が同じという設定にされてるんだと思います)
0056デフォルトの名無しさん
2006/06/06(火) 01:30:48いや、ちょっと待てw
>基本的には原文のままですが…。
わかった。その教官のメールアドレスを晒すんだ。
メールタイトル:あんたの無能さについて
0057デフォルトの名無しさん
NGNGclass circleobject{
protected:
double radius;
double height;
double volume;
virtual void calcVolume()=0;
public:
double getVolume(){return volume;};
void setRadius(double r){radius=r;calcVolume()}
void setHeight(double h){height=h;calcVolume()}};
class cylinder : public circleobject{
virtual void calcVolume(){volume=PI*pow(radius,2)*height;};};
class sphere : public circleobject{
virtual void calcVolume(){volume=4*PI*pow(radius,2)*height/3.0;};};
class corn : public circleobject{
virtual void calcVolume(){volume=PI*pow(radius,2)*height/3.0;};};
0058デフォルトの名無しさん
2006/06/06(火) 02:59:04どうしても作るのならinterfaceぽくするしかないような。
class volume{
public:
virtual double calcVolume() = 0;
};
class surface{
public:
virtual double calcSurface() = 0;
};
こうするぐらいならベースクラス作るよなー。
class solid{
public:
virtual double calcVolume() = 0;
virtual double calcSurface() = 0;
};
0059デフォルトの名無しさん
NGNGやべ。
virtual void sphere::calcVolume(){volume=4*PI*pow(radius,3)/3.0;};
>>58
だよなー。
出題者は根本的にOOPを理解していない。
0060デフォルトの名無しさん
2006/06/06(火) 03:36:11[2] 問題文(含コード&リンク):
1個以上10個以内の整数を大きさ10の整数配列に入力するプログラムで、入力する整数の個数は最初に宣言する。
例えば3と4からなる2個の整数を入力するには”2 3 4”
次にvoid recorder(int*data,int num);を作成し*dataから始まるアドレスに、順におかれたnum個の整数を小さい順に並び替える機能を与える。
recoder()の中ではswapsmall()を有効に活用する。配列宣言以外はポインタを用いなさい。
recoder()を適用した後,配列の内容をスペース1つで区切って出力し、入力された数字を大きい順に表示するプログラムを作成しなさい。最後の数字の後ろに空白はおかない
swapsmallについて
void swapsmall(int*data,int num);と言う関数で、*dataから始まるアドレスに順におかれたnum個の整数のうち最小のものを先頭のもの
と入れ換える機能を与える。ただし同一の値をもつ最小の整数が複数ある場合には、一番後方にあるデータと入れ換える。
この関数を使わなくても良い。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 今日の朝6時過ぎまで
よろしくお願いします。
0061デフォルトの名無しさん
2006/06/06(火) 04:21:04[2]問題文
(1)1〜10の二乗値を配列に代入して表示しよう
1〜10の2乗値を配列a[1]〜a[10]に入れ、その値を表示するプログラムを
作成せよ。つまりa[1]は1、a[2]は4……、a[10]は100である。
(2)
キーボードから20個の整数(正と負の両方)を入力し、負でない整数の総個数と
総和を求めるプログラムを作成せよ。
(3)
学生10人の某授業科目の成績を入力し、最高、最低と平均数を求めるプログラムを
作成せよ。
[3]環境
[3.1]OS:windowsXP
[3.2]cygwin
[3.3]言語:C言語
[4]期限:明日まで。
よろしくお願いします。
0062デフォルトの名無しさん
2006/06/06(火) 04:30:10もう一つの宿題スレで見た内容だな。
0063デフォルトの名無しさん
2006/06/06(火) 04:37:5561-1)
int main(void){
int a[11]={0},i;
for(i=1;i<11;i++){a[i]=i*i;printf("%d ",a[i]);}
return 0;
}
61-2)
int main(void){
int i,j,k=0,l=0;
for(i=0;i<20;i++){
scanf("%d",&j);
if(j>-1){k++;l+=j;/* 非負数の総和ならここ */}
/* l+=j; 20個の総和ならここ*/
}
printf("numbers more than 0: %d sum: %d",k,l);
return 0;
}
0064>>61
2006/06/06(火) 05:04:42void prac1()
{
int i, a[11];
printf("�@\n");for(i=1;i<=10;i++)a[i]=i*i;
for(i=1;i<=10;i++)printf("%d ",a[i]); printf("\n");
}
void prac2()
{
int i,a[20],sum=0,cnt=0;
printf("�A 整数を20個入力して下さい\n");
for(i=0;i<20;i++){
scanf("%d",&a[i]);
if(a[i] >= 0 ){ cnt++; sum+=a[i]; }
}
printf("正数の総個数: %d 正数の総和: %d\n",cnt,sum);
}
void prac3()
{
int i,a[10],sum=0,cnt=0,max=0,min=100;
printf("�B 10人の点数を入力して下さい\n");
for(i=0;i<10;i++){
scanf("%d",&a[i]); cnt++; sum+=a[i];
if(a[i] > max) max = a[i];
if(a[i] < min) min = a[i];
}
printf("最高:%d点 最低: %d点 平均: %3.1f点\n",max,min,((float)sum/(float)cnt));
}
0065デフォルトの名無しさん
2006/06/06(火) 14:46:16アドレスと内容を教えてくれれば送ってあげる(はぁと
0066デフォルトの名無しさん
NGNGこの教官マジで有害。このスレに来ないような他の優秀な学生が気の毒だ。
0067デフォルトの名無しさん
2006/06/06(火) 16:49:51遅レスなんだが、表面積の公式が体積公式になってる気がするんだが・・・
それと俺も間違ってるかも知れんが体積だのを計算する関数はstaticにしたほうがいいんじゃね?
例えば球に関してなら、球そのものが計算する訳じゃなく、球に対して計算する訳だから
後、上でも書かれてるように基底クラス(shapeとか)を作って
それに計算するメソッド持たせてオーバーロードした方がいいだろうな
てかそれほんとに教官が書いた文章か?
0068デフォルトの名無しさん
NGNGその教官がクビにならないならそこの学生は取らないようにしないと。
ウソを覚えてる奴は何も知らない奴よりたちが悪い。
0069デフォルトの名無しさん
2006/06/06(火) 17:18:560070デフォルトの名無しさん
2006/06/06(火) 18:52:29>表面積の公式が体積公式になってる
「円錐、半球、球の体積を求める」って問題文から察するに、
球も体積を求めたかったのでは。つまり、「体積」を「面積」と書き間違えた。
0071デフォルトの名無しさん
2006/06/06(火) 19:00:10やっぱそうだよなぁ。まぁ意図は分かるしいいんだが
根本的にOOPの意味が無いな
0072デフォルトの名無しさん
2006/06/06(火) 19:43:30ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1989.txt
円柱のメンバ関数をプライベートにするとのことなのでFacadeパターンを使ってみた(´・ω・`)
0073デフォルトの名無しさん
2006/06/06(火) 22:05:41[2]問題文(含コード&リンク):
西暦の年(year)を読み込み、その年がうるう年
であれば"閏年"、うるう年でないときは"平年"と
表示して下さい。うるう年とは、2月が29日の
年。基本は4年に一回(4で割り切れる年はうる
う年)、それだと多すぎるので100年に1回は
平年とする(100で割り切れる年は平年)、そ
れだと少なすぎるので400年に一回をうるう年
に戻す(400で割り切れる数はうるう年)。
この課題はif文一つで。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0074デフォルトの名無しさん
2006/06/06(火) 22:06:35[2]問題文(含コード&リンク):
西暦の年(year)を読み込み、その年がうるう年
であれば"閏年"、うるう年でないときは"平年"と
表示して下さい。うるう年とは、2月が29日の
年。基本は4年に一回(4で割り切れる年はうる
う年)、それだと多すぎるので100年に1回は
平年とする(100で割り切れる年は平年)、そ
れだと少なすぎるので400年に一回をうるう年
に戻す(400で割り切れる数はうるう年)。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:この課題はif文のネス
トで。(論理和、論理
積は使わないで下さい
。)
0075デフォルトの名無しさん
2006/06/06(火) 22:08:45[2]問題文(含コード&リンク):
整数値(n)を読み込み、絶対値を表示して下さい。
−20の絶対値は、20。20の絶対値は、20。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0076デフォルトの名無しさん
2006/06/06(火) 22:13:05全く同じ問題を前スレでみたぞ。
0077多すぎるので二分割その一
2006/06/06(火) 22:20:31[2]問題文(含コード&リンク):
#include <stdio.h>
int main(void)
{
int mark;
char grade;
printf("得点入力:");
scanf("%d", &mark);
if(mark >= 85){
grade = 'A';
}else{
if(mark >= 70){ /* 70 <= mark && mark < 85 とする必要の無いことに注意*/
0078多すぎるので二分割その二
2006/06/06(火) 22:21:02}else{
if(mark >= 60){
grade = 'C';
}else{
grade = 'D';
}
}
}
printf("評価:%c\n", grade);
return 0;
}
上の例では評価Aから順に決めている。同じ処理を評価Dから
順に決めていくよう作成してください。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0079デフォルトの名無しさん
2006/06/06(火) 22:25:51[2] 問題文(含コード&リンク):
0〜99の間の整数乱数を15個発生させ、それらの数値から二分探索木を作成し、
トラバーサル(行きがけ順、通りがけ順、帰りがけ順)を求めるプログラムを作成せよ
[3] 環境
[3.1] OS:Unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6/8
よろしくお願いします。
0080デフォルトの名無しさん
2006/06/06(火) 22:30:07[2]問題文(含コード&リンク):
月(month)を読み込み、その月の日数を表示して下さい。
2月は28日とする。
if文で作ってください。
小の月(31日でない月)は、西向く士(ニシムクサムライ、2 4 6 9 11)。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0081デフォルトの名無しさん
2006/06/06(火) 22:32:19#include <stdio.h>
int main(void)
{
int a;
while (1){
printf("year > ");
scanf("%d",&a);
if ((a%4)==0&&((a%4)%100)==0&&((a%4)%(100)%400)==0){
puts("閏年");
}else{
puts("ちげーよ馬鹿");
}
}
}
0082デフォルトの名無しさん
2006/06/06(火) 22:32:33[2]問題文(含コード&リンク):
1から99までの奇数を表示してください。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0083デフォルトの名無しさん
2006/06/06(火) 22:34:48おkかな?コンパイルはできた。
if文のネストで作る奴もお願いします。
0084デフォルトの名無しさん
2006/06/06(火) 22:38:07100で割り切れる年が平年になってないかも
0085デフォルトの名無しさん
2006/06/06(火) 22:41:40#include <stdio.h>
int main(void){
int mark;
char grade;
printf("得点入力:");
scanf("%d", &mark);
if(mark < 60){grade = 'D';
}else{
if(mark < 70){ grade = 'C';
}else{
if(mark < 85){grade = 'B';
}else{grade = 'A';}}}
printf("評価:%c\n", grade);
return 0;}
0086デフォルトの名無しさん
2006/06/06(火) 22:43:58ほんとだ
0087デフォルトの名無しさん
2006/06/07(水) 00:04:37[2] 問題文(含コード&リンク):
与えられた文字列 s から、その各文字を項目とするリストを作成せよ。
( struct node *initlist_with_string(char *s) の関数を定義して下さいませ。)
#include <stdio.h>
typedef char elementtype;
struct node {
elementtype element;
struct node *next;
};
/* 空リストの作成 */
stuct node *initlist() {
struct node *n;
n = (struct node*)malloc(sizeof(struct node));
n->next = 0;
return n;
}
/* リストに節点を挿入 */
void insert(struct node *p, elementtype x) {
struct node *n;
n = (struct node*)malloc(sizeof(struct node));
n->element = x;
n->next = p->next;
p->next = n;
}
008887
2006/06/07(水) 00:05:50/* この3つは使う感じで・・・ */
struct node *head;
head = initlist();
insert(head, *s);
}
void print_list(struct node *p) {
while (p->next) {
printf("%c", p->next->elment);
p = p->next;
}
printf("\n");
}
char *chomp(char *s) {
int n = strlen(s) - 1;
if (s[n] == '\n') s[n] = '\0';
return s;
}
int main(void) {
char buffer[80];
struct node *list;
fgets(buffer, 80, stdin);
list = initlist_with_string(chomp(buffer));
print_list(list);
}
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
0089デフォルトの名無しさん
NGNGstruct node* initlist_with_string(char *s){struct node* head=initlist();
struct node* p=head;while(*s!='\0'){insert(p, *s);p=p->next;s++;}
return head;}
0090デフォルトの名無しさん
2006/06/07(水) 00:16:52[2]
1!〜53!を計算して右揃えで出力するプログラムを作れ。
プログラムはいくつかの関数に分割せよ。
[3.1]OS:unix
[3.3]言語:C
[4]期限:金曜
[5]その他の制限:
0091デフォルトの名無しさん
2006/06/07(水) 00:20:24意味が分からん
0092デフォルトの名無しさん
2006/06/07(水) 00:23:04int factorial(int n)
{
if (n > 0)
return (n * factorial(n - 1));
else
return (1);
}
これあれば、簡単だろ。
0093デフォルトの名無しさん
2006/06/07(水) 00:24:262! = 2
3! = 6
4! = 24
5! = 120
こんな感じ
0095デフォルトの名無しさん
NGNG#include<stdio.h>
double fact(int n){return (n>0)?fact(n-1)*n:1;}
int main(void){int i;for(i=1;i<54;i++)printf("%2u = %70.0f\n",i,fact(i));return 0;}
0096デフォルトの名無しさん
NGNGintじゃ53!はむりぽ。
0097デフォルトの名無しさん
2006/06/07(水) 00:47:520098デフォルトの名無しさん
2006/06/07(水) 00:47:53#include <stdio.h>
int main(void)
{
int year;
printf("year > ");
scanf("%d",&year);
if (year % 4 == 0){
if (year % 100 != 0){
printf("\n閏年\n");
} else {
if (year % 400 == 0){
printf("\n閏年\n");
} else {
printf("\n平年\n");
}
}
} else {
printf("\n平年\n");
}
return (0);
}
009990
2006/06/07(水) 00:52:560100デフォルトの名無しさん
2006/06/07(水) 00:55:550101デフォルトの名無しさん
2006/06/07(水) 00:58:32[2] 問題文 このリンク先の課題7です。mhtml:http://www.s.kyushu-u.ac.jp/~z6ty02in/TEXT/7.mht!7.files/frame.htm
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月9日金曜日の朝8:40まで
[5] その他の制限: 特にありません。
よろしくお願いしますm(__)m
0103101
2006/06/07(水) 01:00:480104デフォルトの名無しさん
2006/06/07(水) 01:01:08ttp://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/morita/node41.html
ここのCプログラムをC++に書き換えたいです。
コンパイラはVC++を使っています。
よろしければ、どなたかお願いします。
0105デフォルトの名無しさん
2006/06/07(水) 01:04:41#include されてるファイルを<cstdio>のようにc付けてinclude。
拡張子を.cppに。
0106101
2006/06/07(水) 01:05:52http://www.s.kyushu-u.ac.jp/~z6ty02in/TEXT/mokuji.htmlの「配列(2)」を見てください。ここの課題7です。
何度もスマソ
0107デフォルトの名無しさん
2006/06/07(水) 01:11:260108デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
#define N 10
void bubblesort(int* a,size_t n){size_t i,j;int tmp;
for(i=0;i<n-1;i++)for(j=n-1;j>i;j--)
if(a[j]<a[j-1]){tmp=a[j];a[j]=a[j-1];a[j-1]=tmp;}}
int main(void){int i,n[N];char tmp[100];
for(i=0;i<N;i++){fgets(tmp,sizeof(tmp),stdin);n[i]=atoi(tmp);}bubblesort(n,N);
for(i=0;i<N;i++)printf("%i\n",n[i]);return 0;}
0109101
2006/06/07(水) 01:29:40stdlib.hは習っていないのと、void bubblesortも使ってはいけないことになってると思います…
if文、while文、for文あたりしか習ってないので、それでお願いします。お願いします。
0110デフォルトの名無しさん
NGNG>void bubblesortも使ってはいけないことになってると思います
アホか。bubblesortこそが目的の関数だろが。
0111101
2006/06/07(水) 01:47:05リンク先資料の「バブルソート(1/7)」から「バブルソート(7/7)」までの概念を利用して
プログラムせいということなんです。また明日考えてみますが、もうだめぽです
0112デフォルトの名無しさん
NGNG言ってる意味がわからん。
>「バブルソート(1/7)」から「バブルソート(7/7)」までの概念を利用してプログラム
したものがvoid bubblesortなんだが。
0113101
2006/06/07(水) 01:59:49voidっていう命令文は習っていないです。
ただ>>108をよーく( ゚д゚)みるとなんだかわかるような気はしてくるんですが…
0114デフォルトの名無しさん
NGNG0115101
2006/06/07(水) 02:07:550116デフォルトの名無しさん
2006/06/07(水) 02:17:27#include<stdio.h>
#define N 10
int main(void){
int i,j,tmp,n[N];
char buf[100];
for(i=0;i<N;i++){
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&n[i]);
}
for(i=0;i<=N-2;i++){
for(j=N-1;i<j;j--){
if(n[j]<n[j-1]){
tmp=n[j];
n[j]=n[j-1];
n[j-1]=tmp;
}
}
}
for(i=0;i<N;i++)printf("%d\n",n[i]);
return 0;
}
0117デフォルトの名無しさん
NGNG習ってないと何か問題でもあるんだろうか。
0118デフォルトの名無しさん
2006/06/07(水) 02:34:340119デフォルトの名無しさん
2006/06/07(水) 03:51:14[2] 問題文
1、あなたの夢をstrcpy関数で文字配列に代入し、表示しよう
文字列を入れる変数my_dreamを300文字まで代入できるように宣言し、変数my_dreamに
あなたの夢を代入し表示せよ。つまりあなたの「夢」を、scanf関数でキーボードから読み込む必要はない。
例、野球選手になりたい
サッカー選手になりたい など
2、英字文字列を入力し、中に文字'a'が入っていたら、そのすべてを削除した文字列を出力するプログラムを作成せよ。
3、出力にあるように文字列S2を文字列S1のn番目に挿入するプログラムを作成せよ。
出力例
S1:abcdefg
S2:hijkl
n:3
the output string is: abchijkldefg
[3] 環境
[3.1] OS: WindowsXP
[3.2] cygwin
[3.3] 言語:C言語
[4]明日正午まで
ではよろしくお願いいたします。
0120デフォルトの名無しさん
2006/06/07(水) 04:00:08(2)問題文:問14-5
プログラム(A)http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1991.txt
は、文字列を斜めに表示するプログラムである。
このプログラムの文字列操作部分を関数に置き換え、
同一の動作をするプログラムを作った。http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1992.txt
書き換え後の下記プログラムの中の、
-1-:関数宣言部
-2-:関数呼び出し部
-3-:関数部
がそれぞれどのようになるかを示せ。
尚、関数で用いる引数は二つまでとする。
(3)環境:Linux
コンパイラ:gcc
言語:C
(4)期限:6/8
0121デフォルトの名無しさん
2006/06/07(水) 05:36:20http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1993.txt
0122デフォルトの名無しさん
2006/06/07(水) 08:29:030123デフォルトの名無しさん
2006/06/07(水) 08:43:390124デフォルトの名無しさん
2006/06/07(水) 09:04:46#include <stdio.h>
#include <string.h>
void print(char a[],char b[][8]);
int main(void){
char a[8]="aichi";
char b[10][8]={0};
int i,j,k;
k=strlen(a);
print(a,b);
for(i=0;i<k;i++){
printf("%s\n",b[i]);
}
return 0;
}
void print(char a[],char b[][8]){
int i,j,k;
k = strlen(a);
for(i=0;i<k;i++){
for(j=0;j<i;j++)b[i][j]=' ';
b[i][i]=a[i];
}
}
0125デフォルトの名無しさん
2006/06/07(水) 09:43:02[2] 標準入力から文字を読み込んで特定の文字の連続たとえばowari
を入力した場合終了するようなプログラムを作成
[3] 環境
[3.1] xp
[3.2] gcc 3.4
[3.2]どちらでも可
[4] 今週中
よろしくお願いします!
0126デフォルトの名無しさん
2006/06/07(水) 09:54:29http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1994.c
0127デフォルトの名無しさん
2006/06/07(水) 09:59:59#include <stdio.h>
#include <string.h>
void main(){
char str[250];
while(1){
scanf("%s", str);
if (strcmp(str, "owari") == 0) break;
}
}
0128デフォルトの名無しさん
2006/06/07(水) 12:43:46#include <stdio.h>
#include <string.h>
void naname(char*, int);//宣言
int main(void){
char a[8]="aichi";
int i,j,k;
naname(a, strlen(a));//呼び出し
return 0;
}
void naname(char *s, int n){//関数
for(int i = 1; i <= n; i++, s++)printf("%*c\n", i, *s);
}
0129デフォルトの名無しさん
2006/06/07(水) 16:40:44[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2000.txt
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: Cのみ
[4] 期限: 2006/06/10
[5] その他の制限: ファイル操作を用いてコマンドラインに入力されたファ
イル名から中身を読み取る。
お願いします。。
0130デフォルトの名無しさん
2006/06/07(水) 17:05:01これが原文?
0131デフォルトの名無しさん
2006/06/07(水) 17:08:31原文は長いので、かなりまとめています。
0132デフォルトの名無しさん
2006/06/07(水) 17:10:44(2)問題文:
次のアルファベットのキーワードを入力して計算する関数電卓プログラムを作成しなさい。
sin, cos, tan, arcsin, arccos, arctan, ln, log, exp, sqr, rad(入力データをラジアン単位にする),
deg(入力データを度を単位とする), end(プログラムの終了)
(3)環境:Win
コンパイラ:Visual Studio 2003.net
言語:C
(4)期限:6/9
0133デフォルトの名無しさん
2006/06/07(水) 17:11:55[2] 問題文(含コード&リンク):
10個の整数を入力し、最大値、最小値を表示し、
さらに、入力された10個の数字を小さい順に並び替えするプログラムを作成せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: visual c++ 2005
[3.3] 言語: C++
[4] 期限:6月8日まで
[5] その他の制限:習ったもの if for do while
0134デフォルトの名無しさん
2006/06/07(水) 17:15:14アップロードできる大きさなら原文貼ってちょ。
0135デフォルトの名無しさん
2006/06/07(水) 17:18:17要するに選択法?
0136デフォルトの名無しさん
2006/06/07(水) 17:24:01しました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2001.txt
0138デフォルトの名無しさん
2006/06/07(水) 17:33:43ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2002.cpp
0139デフォルトの名無しさん
2006/06/07(水) 17:34:32入力例は?
0140デフォルトの名無しさん
2006/06/07(水) 17:37:04ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2003.cpp
すまぬ、ちょい訂正。
0141デフォルトの名無しさん
2006/06/07(水) 17:48:22どうもありがとうございました
0142デフォルトの名無しさん
2006/06/07(水) 17:55:49[2] 問題文(含コード&リンク):
前スレ152の貯金プログラムを拡張して、額の表示の際に3桁ごとにコンマを入れる形式をとるようにせよ.下記例のようにどのような桁数でも桁数に応じてきちんと表示できるようにすること.
12円⇒12円
789012円⇒789,012円
1000001円⇒1,000,001円
1234567890円⇒1,234,567,890円
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョン: Visual Studio.NET2003
[3.3] 言語: C++
[4] 期限: 6月9日まで
[5] その他の制限: まだ初期で、if,for,whileまで習いました。
どうか、よろしくお願いします。
0143デフォルトの名無しさん
2006/06/07(水) 17:57:39例とか書いてないんです。
自分でやって#include <math.h>をヘッダに持ってきて
double acos( double x );とかを使うんだと思うのだが、
先生の説明が意味不明でわからんのです。
0144デフォルトの名無しさん
2006/06/07(水) 18:07:15sin rad 10
みたいな入力もあるのかなと思ってね
0145デフォルトの名無しさん
2006/06/07(水) 18:09:19前スレというか、参考にするソースが分かるように参照した方が・・・
0146デフォルトの名無しさん
2006/06/07(水) 18:20:03ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2004.txt
入力はlog 10のようにスペースが入る
後、>>144みたいなのは無理
0147デフォルトの名無しさん
2006/06/07(水) 18:24:17ありがとう!本当に助かりました。
0148142
2006/06/07(水) 18:32:19すいません、ソースは
ttp://pc8.2ch.net/test/read.cgi/tech/1147908265/152
です。
0149104
2006/06/07(水) 19:16:51お答えありがとうございます!
おっしゃる通りに直してみたのですが、
neu.obj : error LNK2001: 外部シンボル ""double __cdecl drand48(void)" (?drand48@@YANXZ)" は未解決です
Debug/neu.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
というエラーが出てしまい、ビルド出来ませんでした。
コンパイルは問題ないのですが・・・。
何度もすみません、よろしければどなたかお願いします。
0150デフォルトの名無しさん
2006/06/07(水) 19:48:29ながなってしもた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2005.txt
0151デフォルトの名無しさん
2006/06/07(水) 21:09:19[2] 問題文(含コード&リンク): 以下のc1、c2の中にあるプログラムを実行し、どのような働きをしているかを
解釈せよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2006.zip
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[4] 期限: 2006/6/09
[5] その他の制限:特にありません
少し多いですがよろしくお願いいたします
0152デフォルトの名無しさん
2006/06/07(水) 21:29:06[2] 問題文(含コード&リンク):
好きな文字列を入力する、その後に#を含むチェック文字列を入力し
#に該当する部分が何かを出力させるプログラムの作成
(例)
abcdeと入力、a#cと入力すると、結果は#=b
aabccと入力、a#ccと入力すると、結果は#=b
abcbadと入力、ab#baと入力すると、結果は#=c
aabbccddと入力、b#aと入力すると、結果は該当なし
[3.1] WindowsXP
[3.2] gcc
[3.3] C言語
[4] 期限:6月8日
お願いします
0153デフォルトの名無しさん
2006/06/07(水) 22:28:04#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char sLine1[1024];
char sLine2[1024];
char* p2;
char* p1;
gets(sLine1);
gets(sLine2);
p2 = strchr(sLine2, '#');
if(p2 != NULL) { *p2 = '\0'; p2++; }
else *p2 = (int)"ぬるぽ";
for(p1=sLine1 ; (p1=strstr(p1, sLine2)) != NULL && p1[p2-1-sLine2] != '\0' ;p1++) {
if(strstr(p1+(p2-sLine2), p2) == p1+(p2-sLine2)) {
printf("#=%c\n", p1[p2-1-sLine2]);
return 0;
}
}
printf("該当なし\n");
return 0;
}
0154デフォルトの名無しさん
2006/06/07(水) 22:29:170155デフォルトの名無しさん
2006/06/07(水) 22:35:47ランダムに並び替えるプログラムを教えてください。
お願いします。
0156デフォルトの名無しさん
2006/06/07(水) 22:37:06階乗のこと?再帰を使えば楽じゃ〜ん。
0157デフォルトの名無しさん
2006/06/07(水) 22:57:58[2]
#include<iostream>
using namespace std;
class Person{
int no;
char name[20];
public:
void Print();
};
void Person::Print(){
cout<<"学籍番号:"<<no<<endl;
cout<<"氏 名:"<<name<<endl;
}
int main(void){
Person man;
man.Print();
return 0;
}
上記のプロフラムを以下のように変更せよ。
1:ディフォルトコンストラクタを記述する。
2:各メンバ変数の初期値を1つずつ引数として与えるコンストラクタを記述する。
3:メンバ変数両方の初期値を引数として与えるオブジェクト生成の記述を追加して実行する。
・学籍番号の初期値を引数で与える場合:99999を与える。
・名前の初期値を引数で与える場合:初期値1を与える。
・学籍番号と名前の初期値を引数で与える場合:学籍番号に10000、名前に初期値2。
・引数で与えない場合:学籍番号は0、名前はブランクとする。
[3.1] WindowsXP
[3.2] VC
[3.3] C++
[4] 期限:2006年3月6日まで
よろしくお願いします。
0158デフォルトの名無しさん
2006/06/07(水) 23:01:51[1] 授業単元:フーリエ解析
[2] 問題文(含コード&リンク):
次の関数に対し、高速フーリエ変換を行え。
ただしビットリバーサル操作は以下に示すものを用いるものとする。
f(t) =
0 (-T/2 <= t < -1)
1 (-1 <= t <= 1)
0 (1 < t <= T/2)
周期:任意 (勝手に決めていいようです。)
・ビットリバーサル操作 (N:サンプリング数)
pw2=log((float)N)/log(2.0);
rv[0]=0;
pr=1;
for (i=0;i<=pw2-1;++i) {
for (j=0;j<=pr-1;++j) {
rv[pr+j]=rv[j]+N/(2*pr);
}
pr=2*pr;
}
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年06月12日
[5] その他の制限:
データの出力は、サンプリングした値と(多分)離散フーリエ係数を見やすいように出力してくださいとのこと
#自分で調べたところ、参考になりそうな気がするモノ(Java)
#http://www.gulf.or.jp/~damayan/algo/FFT.html
0159デフォルトの名無しさん
2006/06/07(水) 23:02:33[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2007.txt
[3] 環境
[3.1] OS: Windows (cygwin)
[3.2] gcc
[3.3] 言語: C
[4] 期限: ([2006年6月8日12:00amまで]
[5] その他の制限: 特になし
前スレで頼んだ者ですが、上記のプログラムで課題の内容はクリアして
いますでしょうか?よろしくお願いいたします。
0160デフォルトの名無しさん
2006/06/07(水) 23:20:51配列を使って右揃えに出力するのがよく分からなくて。
0161デフォルトの名無しさん
2006/06/07(水) 23:25:15#define n (10000000)
void b(int *,int );
void q(int *,int);
int main(int argc,char **argv){
int p,d[10]={1,0};
/*d[0]=1;*/
for(p=1;p<54;p++){b(d,p);q(d,p);}
return 0;
}
void b(int *d,int p){/*積*/
int l,m=0;
for(l=0;l<10;l++){
d[l]=d[l]*p+m;m=d[l]/n;d[l]%=n;
}
}
void q(int *d,int p){/*表示*/
int b;
printf("%2d! = ",p);
for(b=9;b>=0;b--)printf("%07d",d[b]);
printf("\n");
}
0162デフォルトの名無しさん
NGNGほんとにこの問題文で正しいとしたら、ポイントは再帰でも配列でもなく多倍長整数。
0163161
2006/06/08(木) 00:41:11void q(int *d,int p){/*表示*/
int b=10;
printf("%2d! = ",p);
while(!d[--b])printf(" ");/*半角スペース7つ分*/
printf("%7d",d[b--]);
while(~b)printf("%07d",d[b--]);
printf("\n");
}
0164101
2006/06/08(木) 00:42:480165デフォルトの名無しさん
2006/06/08(木) 00:51:350166デフォルトの名無しさん
2006/06/08(木) 01:37:06#include <stdio.h>
int mul(int dac[],int len,int arg){
int i;
for(i=0;i<len;++i) dac[i] *= arg;
for(i=0;i<len-1;++i){
dac[i+1] += dac[i]/10;
dac[i] %= 10;
}
return (dac[len-1] < 10);
}
void view(int buff[],int len){
int i;
for(i=len-1;0<=i;--i) putchar('0'+buff[i]);
putchar('\n');
}
int main(){
int i,buf[70] = {1};
for(i=1;i<=53;++i){
if(!mul(buf,sizeof(buf)/sizeof(buf[0]),i)){
puts("error!");
return 1;
}
printf("%02d!=",i);
view(buf,sizeof(buf)/sizeof(buf[0]));
}
return 0;
}
0167デフォルトの名無しさん
2006/06/08(木) 01:43:52[2] 問題文(含コード&リンク): C言語を用いて、子プロセスを生成して何らかの処理を行い、
�@親プロセスがビジーウェイトを用いて子プロセスの終了を待つプログラム
�Aビジーウェイトをしないプログラム
を書け。
[3] 環境
[3.1] OS: VineLinux3.2
[3.2] コンパイラ名とバージョン: gcc 3.3.2
[3.3] 言語: C
[4] 期限: 2006年6月8日17時
[5] その他の制限: forkを少し習いましたが、それ以外は習っておりません。
よろしくお願いします。
0168152
2006/06/08(木) 02:05:11>else *p2 = (int)"ぬるぽ";
これはどういう意味ですか?
0169デフォルトの名無しさん
2006/06/08(木) 02:51:02[1] 授業単元: 基本プログラミング
[2] 問題文(含コード&リンク):入力された複数の0以上の整数値の平均値、最大値、最小値を求めるプログラムを2種類作成せよ。
1、入力する数値の個数がわかってない場合(入力が終わると負の値を入れて対応)
実行例
Input date:5
Input date:6
Input date:7
Input date:5
Input date:-1
ave=5.75 max=7 min=5
2、入力する数値の個数がわかっている場合(初めに、その個数をnに入力してから、その後にその個数分だけ数値を入力)
実行例
n=5
Input date:4
Input date:6
Input date:9
Input date:3
Input date:8
ave=6 max=9 min=3
[3] 環境
[3.1] OS:UNIX
[3.3] 言語:C++
[4] 期限:明日
[5] while,do-whileまで習いました
0170デフォルトの名無しさん
2006/06/08(木) 03:18:30/* (1 */
int main(void){
int s,x,i,n=0,d;
printf("Input date:");scanf("%d",&d);
if(d<0)return printf("no input\n");
x=i=s=d;n++;
do{
printf("Input date:");scanf("%d",&d);
if(d>=0){s+=d;if(x<d)x=d;if(i>d)i=d;n++;}
}while(d>=0);
return printf("ave=%f max=%d min=%d\n",(double)s/n,x,i);
}
/* (2 */
int main(void){
int s,x,i,d,n,j;
printf("n=");scanf("%d",&n);
if(n<=0)return printf("illegal number\n");
printf("Input date:");scanf("%d",&d);
x=i=s=d;
for(j=1;j<n;j++){
printf("Input date:");scanf("%d",&d);
s+=d;if(x<d)x=d;if(i>d)i=d;
}
return printf("ave=%f max=%d min=%d\n",(double)s/n,x,i);
}
0171デフォルトの名無しさん
2006/06/08(木) 03:42:09このスレ初参戦でコード書いてみたけど、170さんに先を越されたw
そっか、コードを短くせんとあかんのやね。↓一応投稿。オーバーせんかな?
#include <stdio.h>
#include <stdlib.h>
// 引数は個数入力場合trueにする
void func( bool flag ){
int i, sum, max_num, value, max, min;
char buf[ 32 ];
if( flag ){
printf("n="); max_num = atoi( gets( buf ) );
}else{ max_num = 0; }
i = sum = 0;
while( true ){
if( max_num >= 1 && i >= max_num ) break;
printf("Input data:"); value = atoi( gets( buf ) );
if( max_num == 0 && value < 0 ) break;
if( i == 0 ){ max = value; min = value; }
sum += value;
if( max < value ) max = value;
if( min > value ) min = value;
i++;
}
if( i >= 1 ){ printf("ave=%3.2f max=%d min=%d\n", (float)sum/i, max, min ); }
}
int main( void ){
func( false );
func( true );
}
0172デフォルトの名無しさん
2006/06/08(木) 04:27:12入力文字列に#が入っていない時にこのコードに来るので、ここは
else return;
で構わないと思われ。
0173デフォルトの名無しさん
2006/06/08(木) 04:38:023の意味が分からない。
2は引数がnoとnameの2つあるということ?
あと期限が分からない。
0174デフォルトの名無しさん
2006/06/08(木) 05:26:08static変数とポインタ使ってしまったけど大丈夫かな。制限よく読んでなくてごめん。
#include <stdio.h>
#include <string.h>
char name[256] = {0}; int amount = 0;
char *money2str(int money){
int i,j;
static char str[64],str2[64];//整形用文字列バッファとカンマ付加後のバッファ
sprintf(str,"%d",amount);
for(i=strlen(str)-1,j=0;i>=0;i--){
str2[j] = str[i]; j++;
if(i>=1 && (j+1)%4==0){str2[j]=',';j++;}
}
str2[j]='\0';
//配列リバース
for(i=0;i<strlen(str2);i++){ str[strlen(str2)-i-1] = str2[i]; }
str[i]='\0';
return str;
}
void input(void){
float f;
printf("%sさん\n現在の貯金額は,%s円です. \n今回はいくら貯金しますか?(単位:千円):",name,money2str(amount));
scanf("%f",&f); amount += (int)(f*1000);
}
int main(){
printf("名前を入力してください:"); scanf("%s",name); input(); input(); input();
printf("%sさん.\n全部で%s円貯まりました.\nよくがんばりました.\n",name,money2str(amount));
return 0;
}
0175デフォルトの名無しさん
2006/06/08(木) 05:32:382)任意の整数を配列に読み込み、
関数を使って足し算を行うプログラムを作成せよ。
3)リナックス gcc C言語
4)正午
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2008.txt
こんな感じで組み立ててみたんですが、
どうも上手い具合にいきません・・・、
よろしくお願いします。
0176デフォルトの名無しさん
2006/06/08(木) 05:49:57# define MAX 8;
int sub(int b, int n){
int i;
for(i=1;i<n; i++){
b[0]+=b[i];
}
}
int main(void){
int n,i;
int a[MAX];
printf("n=");
scanf("%d",n);
for(i=0;i<n;i++){
printf("a[%d]=",i);
scanf("%d",a);
}
sub(a,n);
printf("total=%d \n",a[0]);
return 0;
}
0177デフォルトの名無しさん
2006/06/08(木) 05:51:12#define MAX 8
int sub(int *b, int n){
int i;
for(i=1;i<n; i++){
b[0]+=b[i];
}
}
int main(void){
int n,i,a[MAX];
printf("n=");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
sub(a,n);
printf("total=%d \n",a[0]);
return 0;
}
0178デフォルトの名無しさん
2006/06/08(木) 06:43:560179デフォルトの名無しさん
2006/06/08(木) 06:49:42標準関数が使えるかどうかの差と思う。
printfが使えなかったらcout、
scanfが使えなかったらcinで試してみ。
0180デフォルトの名無しさん
2006/06/08(木) 07:03:09CをC++に変換といっても、全く同じコードで問題ないよ。
リンクエラーの原因はdrand48()が定義されていないため。
これは検索したところUNIX専用のランダム関数のようなので、VCでビルドするには
double drand48();
を消して
#define urand() ( drand48() * (Rhigh - Rlow) + Rlow )
を
#define urand() ( rand() * (Rhigh - Rlow) + Rlow )
に置き換えればいい。
0181デフォルトの名無しさん
2006/06/08(木) 07:21:510182デフォルトの名無しさん
2006/06/08(木) 07:24:25[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2009.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々)linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 4.0
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 無期限
[5] その他の制限: 配列宣言を除きポインタで処理せよ、とのことです。
よろしくお願いします
0183デフォルトの名無しさん
2006/06/08(木) 07:32:070184デフォルトの名無しさん
2006/06/08(木) 08:09:46「T2の先頭部分がT1の先頭部分に含まれるときは1を」
だとしたら表示例のABC BC yesは違うことになるけどいいの?
とりあえず「T2の文字列がT1の文字列に含まれてるかどうか」ということで作ってみた。
#include <stdio.h>
int chkmatch(char *t1, char *t2){
int i; bool find = false;
char *save1,*save2;
while( *t1 ){
if( *t1 == *t2 ){
save1 = t1;save2 = t2;find = true;
while( *t2 ){
if( *t1 != *t2 ){ find = false;break; }
t1++; t2++;
}
t1 = save1;t2 = save2;
if( find ) break;
}
t1++;
}
return find?1:0;
}
int main( void ){
char buf1[256],buf2[256];
gets(buf1);gets(buf2);
printf("%s",chkmatch(buf1,buf2) ? "yes":"no" );
return 0;
}
0185184
2006/06/08(木) 08:17:580186171
2006/06/08(木) 08:27:25なければ別にこれで問題ないと思う。
VCではiostreamだけでもprintfやscanfは使えたよ。
0188デフォルトの名無しさん
2006/06/08(木) 09:19:21ガッ ガッ
0189デフォルトの名無しさん
2006/06/08(木) 10:22:220190デフォルトの名無しさん
2006/06/08(木) 10:43:190191デフォルトの名無しさん
2006/06/08(木) 11:01:47#define urand() ( rand()/(double)RAND_MAX * (Rhigh - Rlow) + Rlow )
では?
0194デフォルトの名無しさん
2006/06/08(木) 14:50:26子プロセスはabcdeを表示。waitしない場合はコメントにある行を消す。
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
void func(){
int i;pid_t pid;
pid = getpid();
for(i=0;i<5;i++){ sleep(1); printf("[%d]%c\n",pid,'a'+i); }
}
int main(){
pid_t p_pid,pid;
p_pid=getpid();
printf("[%d]start\n",p_pid);
switch(pid=fork()){
case 0:func();return 0;/* child */
case -1:perror("fork");break;
default:printf("[%d]child pid = %d\n",p_pid,pid);break;/* parent */
}
/* ↓waitしない場合はこれを消す */
pid=wait(0);
printf("[%d]pid = %d end\n",p_pid,pid);
printf("[%d]end\n",p_pid);
return 0;
}
0195デフォルトの名無しさん
2006/06/08(木) 15:48:17もっと俺でもサクッと回答できる宿題を出してくれYO!
0196デフォルトの名無しさん
2006/06/08(木) 16:47:41[2] 問題文(含コード&リンク):
標準入力から7個の数値を入力し、その後削除する数値を1つ入力して二分探索木のノードを削除するプログラム。
[3] 環境
[3.1] OS:Unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日
[5]その他の制限: 削除前と後の行きがけ順を表示させる。
0197デフォルトの名無しさん
2006/06/08(木) 17:00:11難しいというか手間が掛かる割りに面白くない問題だろ?
枯れたアルゴリズムを書くだけとか。
0198デフォルトの名無しさん
2006/06/08(木) 17:18:47[2] 問題文
次式の積分を台形公式、シンプソンの1/3公式を用いて計算し、 精度につい
て考察せよ。
f(x)=3x^2+3x+6 a=0 b=10
また、次式のx=1.0における微分値を、n=2、6、10の場合について求
め 精度について検討せよ。
y=3x^n+4x+5
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gccです。バージョンは分かりません。
[3.3] 言語:C言語
[4] 期限: 11日までです。
[5] その他の制限:CとC++を少し学習しました。
宜しくお願いします。
0199デフォルトの名無しさん
2006/06/08(木) 17:20:54明日はワールドカップ開催だなぁ。ここの面倒はしばらく見てやれんけど
みんながんばってくれ!どうせ学校で習っているアルゴリズムなんざ
既に過去の人たちが発見して教科書に記して伝授しているわかりきったものに過ぎないから。
それをC言語で記述できない人は、C言語の扱い方そのものを理解してないってことだから
やり直しー!
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
2006/06/08(木) 18:48:04とりあえずプログラムを作ってやれば良いのかと。
考察とかは本人がやるでしょ
0202デフォルトの名無しさん
2006/06/08(木) 19:39:52#include <stdlib.h>
#include <math.h>
double func_y(double x){ return (3 * x * x + 3 * x + 6); }
int main(void){
int i, j, n = 50;
double *y; double xa = 0.0, xb = 10.0; double z = 0.0, h = 0.0, x, s, q;
y = (double*)malloc(sizeof(double) * (n + 1));//配列確保
if(y == NULL){puts("Error"); return 1;}
h = (xb - xa) / (double)n;//刻み計算
for(i = 0; i <= n; i++){
x = xa + h * (double)i;//関数値計算
y[i] = func_y(x);
}
for(i = 1; i < n; i++)z += 2.0 * y[i];//数値積分
s = h / 2.0 * (y[0] + z + y[n]);
printf("Ans = %8.4lf\n", s);//表示
free(y);
return 0;
}
とりあえず、台形公式おいておきますね
0203デフォルトの名無しさん
2006/06/08(木) 21:30:23>>159 をよろしくお願いいたします。
0204デフォルトの名無しさん
2006/06/08(木) 21:39:29[2] 問題文:次のプログラムを、サーバがクライアントからのデータを受信したら
そのデータをそのままクライアントに返し、クライアントが返された
データを画面に表示するEchoサーバを作りなさい
[3] 環境
[3.1] OS: Solaris
[3.2] gcc
[3.3] 言語: どちらでも可
[4] 期限:2006/06/09の午後4時まで
↓がそのプログラムです。よろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2016.zip
0205デフォルトの名無しさん
2006/06/08(木) 22:02:36してない
データの削除はできてるけど、任意のデータを選んで削除する機能は実装されてない
見た感じはね
0206デフォルトの名無しさん
2006/06/08(木) 22:38:01そうですか、
もし差し支えなければ、そこの入力をお願いできませんでしょうか?
よろしくお願いします。
0207デフォルトの名無しさん
2006/06/08(木) 23:16:01int x,i,n,max,min,sum=0;
cout<<"Input date:";
cin>>x;
max=x;
min=x;
while(x>=0)
{
for(i=0;i<n;i++)
sum=sum+i
if(x>max)
max=x;
else if(x<min)
min=x;
cout<<"Input date:";
cin>>x;
}
cout<<"max="<<max<<"min="<<min<<"ave="<<static_cast<double>(sum)/n<<endl;
return 0;
}
となって最大、最小値は出力できるんですけど、平均値だけ数値がおかしくなってしまいます。どなたか手直しお願いします。
0208デフォルトの名無しさん
NGNGdouble sum
0209デフォルトの名無しさん
2006/06/08(木) 23:32:50int cancel(char *id1){
int x, item, info1, count = 0;
struct item *previous, *key;
x = hash(id1);
key=table[x], previous=table[x];
item = search(id1);
if(item>1){
printf("%d item found. Input INFO to be canceld\n",item);
scanf("%d", &info1);
while((strcmp(id1, key->id) != 0 || info1 != key->info) && key->next != NULL)
{ previous = key; key = key->next; count++;}
if(count == 0) table[x] = key->next;
else previous->next = key->next;
printf("[%s,%d] canceld.\n",key->id,key->info);
free(key);
}
else if(item==1){
table[x] = NULL;
printf("[%s,%d] canceld.\n",key->id,key->info);
free(key);
}
return item;
}
指定されてお願いしますとかいわれたら
やるしかねーじゃねーかYO
多分、動作的には同じになったと思うけど
0210デフォルトの名無しさん
2006/06/08(木) 23:37:57アホ。
>>207
落ち着こうぜ、あんたはsumに何を足しているんだ?
それが判ったら今度からは宿題スレで聞くんじゃないぞ。
0211デフォルトの名無しさん
2006/06/09(金) 00:03:490212デフォルトの名無しさん
2006/06/09(金) 00:08:20sumにxを足すんだろ。
0213デフォルトの名無しさん
2006/06/09(金) 00:23:280214デフォルトの名無しさん
2006/06/09(金) 00:24:440215デフォルトの名無しさん
2006/06/09(金) 07:01:20[1]単元名:ソフトウェア実験�T
[2]問題文:
文字型配列に文字列を読み込み、
その文字列を文字型配列を指すポインタを使用し、
文字列中の大文字は小文字に、
小文字は大文字に変換するプログラムを作成せよ。
入力:TakeyaBu YakeTa
出力:tAKEYAbU yAKEtA
このように結果が出力されるようにしなさい。
[3]環境
[3.1]OS:Linux
[3.2]コンパイラ:gcc
[3.3]言語:C
[4]6・12まで
0216デフォルトの名無しさん
2006/06/09(金) 08:32:44#include <ctype.h>
int main(){
char str[100], *p = str;
printf("入力:");
gets(str);
while(*p){
if (isupper(*p)){
*p = tolower(*p);
} else if (islower(*p)){
*p = toupper(*p);
}
p++;
}
printf("出力:%s\n", str);
return 0;
}
0217デフォルトの名無しさん
2006/06/09(金) 15:06:38[2] 問題文:20 個の自然数を要素とする1次元配列ar[20]={ 57, 563, 381, 239, 345, 821,
881, 979, 447, 461, 221, 683, 743, 379, 597, 149, 223, 127, 231, 159}に関し,�@要素の順
番を変えずに表示させる.�A降順(大から小)に表示させる.�B素数のみを昇順(小
から大)に表示させる.�C素数の和を表示させるプログラムを作成し,実行しなさ
い.ただし,int 型のポインタ配列(例:int *par[20])を定義し,ar[20]内の数の順序
を変更するときは,ar[20]自体を全く変更させず,par[20]の要素を操作すること.ま
た,par[20],ar[20]以外の配列を定義・使用することは認めない.
[3] 環境
[3.1] OS: linux
[3.2] gcc
[3.3] 言語: C
[4] 期限:2006/06/13
[5] よろしくおねがいします
0218デフォルトの名無しさん
2006/06/09(金) 15:49:061〜4のプログラムは別々に、それとも1つのプログラムにして
1〜4の入力で選択するとか?
0219デフォルトの名無しさん
2006/06/09(金) 16:34:350220198
2006/06/09(金) 17:16:19ありがとうございます。
シンプソンの1/3公式と微分もお願いできないでしょうか。
お願いします。
0221デフォルトの名無しさん
2006/06/09(金) 17:24:00#include <stdlib.h>
double func_y(double x){ return (3 * x * x + 3 * x + 6); }
int main(void){
double *y;
double xa=0.0, xb=10.0;//積分範囲
double z1=0.0, z2=0.0, h=0.0, x, s;
int i, j, n=50;
y=(double*)malloc(sizeof(double)*(n+1));
if(y==NULL) puts("Error"), exit(1);
h=(xb-xa)/(double)n;//刻み計算
for(i=0;i<=n;i++){
x=xa+h*(double)i;//関数値計算
y[i]=func_y(x);
}
for(i=1;i<=n-1;i+=2) z1+=4.0*y[i];//数値積分
for(i=2;i<=n-2;i+=2) z2+=2.0*y[i];
s=(h/3.0)*(y[0]+z1+z2+y[n]);
printf("Ans = %8.4lf\n", s);//表示
free(y);
return 0;
}
じゃあ、シンプソンおいておきますね
0222デフォルトの名無しさん
2006/06/09(金) 17:37:27[2] 問題文(含コード&リンク):
文字列 s、f、t が与えられたとき、
文字列sの中で最初に現れるfをtに置き換えた文字列を返す 関数replace を作成せよ。
もし文字列fが見つからなかった場合は s を返すこととし、malloc を利用して実現すること。
関数の書き出しは、以下のようにすればよい。
char* replace(char *s, char *f, char *t) {
char *q;
q = (char*)malloc(sizeof(char));
}
main関数において、p = replace("tractor", "act", "imot"); とすると、p は"trimotor"になる。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月12日
0223デフォルトの名無しさん
2006/06/09(金) 18:05:22// 確保したメモリを返したり返さなかったりという仕様ってのが気に入らんが
char * replace(char * s, char * f, char * t)
{
char * q = (char *) malloc(strlen(s) - strlen(f) + strlen(t) + 1);
char * p = strstr(s, f);
if (p) {
sprintf(q, "%.*s%s%s", p - s, s, t, p + strlen(f));
return q;
}
return s;
}
0224222
2006/06/09(金) 18:39:13う〜ん、結果が出力されないのですが・・・
int main(void) {
char *p;
p = replace("tractor", "act", "imot");
printf("%s\n", p);
return 0;
}
main関数をこのようにしたとき、実行結果として「trimotor」が出力されるような関数replaceを作成せよ。という意味だと思います
0225デフォルトの名無しさん
2006/06/09(金) 18:47:21ちゃんとコピペした?
特にフォーマット文字列に注意。
" % . * s % s % s "
だぞ。
0226デフォルトの名無しさん
2006/06/09(金) 18:48:18何が出力されたのか書けよ。
0227デフォルトの名無しさん
2006/06/09(金) 18:54:15こうすれば?
0228デフォルトの名無しさん
2006/06/09(金) 19:07:30指定しているつもりではなかったのですが、
本当にありがとうございます、助かりました
0229デフォルトの名無しさん
2006/06/09(金) 19:08:220230デフォルトの名無しさん
2006/06/09(金) 21:49:06[2] 問題文(含コード&リンク):
6個の整数値をキーボードから読み込んで,読み込んだ順と逆に表示するプログラムを作成せよ.
[実行結果]
Data No.1: 29
Data No.2: 4
Data NO.3: 91
Data NO.4: 0
Data No.5: 21
Data No.6: 34
逆から並べ替えるよ!
Data No.6: 34
Data No.5: 21
Data No.4: 0
Data No.3: 91
Data No.2: 4
Data No.1: 29
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Stdio.net2003
[3.3] 言語: ++
[4] 期限: 6月12日
[5] その他の制限: どんな整数を入力しても逆から表示されるようにしてほしいです。
お願いします。
0231デフォルトの名無しさん
2006/06/09(金) 21:57:38[2] 問題文:
1年分の各月の平均気温を配列に格納し(プログラム内で初期値として与えてよい),各データとそれらの平均値,最大値,最小値を
表示するプログラムを作成せよ.なお,データは摂氏と華氏の双方で表示すること.ただし,格納するデータはどちらか一方のみ.(この問題では,平均値は整数でよい(切り捨て,切り上げ,四捨五入いずれも可).月平均気温は適当でよい.)
[実行結果]
=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
2005年の月平均気温(摂氏,括弧内は華氏)
=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
1月:5(41)
2月:0(32)
<省略>
12月:10(50)
-----------
平均:15(59)
最高:25(77)
最低:0(32)
以上
<参考1>摂氏→華氏変換式: F=(9/5)×C+32 ,ただしCは摂氏温度,Fは華氏温度
<参考2>最大値の求め方(概要)
// maxが最大値を格納するための変数,MINはとりうる最小値
for(max=MIN,i=0;i<データの個数;i++)
{
i番目のデータがmaxより大きいならば,i番目のデータをmaxとする
そうでなければ今のmaxの値を保つ
}
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VisualStdio2003
[3.3] 言語: C++[4] 期限: 6月15日5] その他の制限:配列のところ習っています。
よろしくお願いいたします
0232デフォルトの名無しさん
2006/06/09(金) 22:00:19要素数が6個で固定されてるなら、入力と出力でforループのカウントをサカサマにすればいいんだけど、
やっぱりスタックを使うのが一番スマートかな。
0233デフォルトの名無しさん
2006/06/09(金) 22:05:25#include<iostream>
using namespace std;
int main(){
int data[6];
for(int i=0;i<6;++i){
cout << "Data N"<<(i-2&~1?'o':'O')<<'.'<<i+1<<": ";
cin >> data[i];
}
cout << endl << "逆から並べ替えるよ!" << endl << endl;
for(int i=6;i-->0;)
cout << "Data No."<<i+1<<": "<<data[i]<<endl;
}
0234デフォルトの名無しさん
2006/06/09(金) 22:05:37すいません。書き忘れました。forを使っていただきたいです。
0235デフォルトの名無しさん
2006/06/09(金) 22:13:010236デフォルトの名無しさん
2006/06/09(金) 22:19:59難しすぎるんじゃないかwwこの質問者の頭じゃww
もっと簡単にいてあげないとwwww
0237デフォルトの名無しさん
2006/06/09(金) 22:21:50iのスコープを外に出してwhileループにしてみるのはどう?
あと、'o'と'O'は、単に2とAND取ればいいんじゃないか?
#include<iostream>
using namespace std;
int main(){
const int SIZE=6;
int data[SIZE];
int i = 0;
while(i < SIZE){
cout << "Data N"<<(i&2?'O':'o')<<'.'<<i+1<<": ";
cin >> data[i++];
}
cout << endl << "逆から並べ替えるよ!" << endl << endl;
while(i--)
cout << "Data No."<<i+1<<": "<<data[i]<<endl;
}
0238デフォルトの名無しさん
2006/06/09(金) 22:28:54#include<iostream>
using namespace std;
int main(){
const int SIZE=6;
int data[SIZE];
int i = 0;
while(i < SIZE){
cout << "Data N"<<(i&2?'O':'o')<<'.'<<i+1<<": ";
cin >> data[i++];
}
cout <<"\n逆から並べ替えるよ!\n\n";
while(i--)
cout << "Data No."<<i+1<<": "<<data[i]<<endl;
}
0239デフォルトの名無しさん
2006/06/09(金) 22:32:46#include <iostream>
#define MAX 100
#define MIN -100
using namespace std;
int main()
{
double data[12] = {-1, -5, 7, 10, 14, 18, 22, 23, 21, 17, 11, -3};//摂氏
double average, max, min;
int i;
average = 0;
for (i = 0; i < 12; i++) average += data[i];
average /= 12; //平均(整数)
for (max = MIN, i = 0; i < 12; i++) {
if (max < data[i]) max = data[i];
}
for (min = MAX, i = 0; i < 12; i++) {
if (min > data[i]) min = data[i];
}
for (i = 0; i < 12; i++) cout << i + 1 << "月:" << data[i] << " F:" << data[i] * 9 / 5 + 32 << endl;
cout << "平均:" << average << " F:" << average * 9 / 5 + 32 << endl;
cout << "最高:" << max << " F:" << max * 9 / 5 + 32 << endl;
cout << "最低:" << min << " F:" << min * 9 / 5 + 32 << endl;
return 0;
}
0240デフォルトの名無しさん
2006/06/09(金) 22:34:37endleとか#include<iostream> using namespace std; は習ってないです。
forとかscanfとかは習っています。
あとint xyz[6];みたいに置くみたいです
0241デフォルトの名無しさん
2006/06/09(金) 22:37:180242デフォルトの名無しさん
2006/06/09(金) 22:37:35それじゃぜんぜんC++じゃないじゃん。Cそのものじゃん。
言語 ++ なんて書いてあるから、てっきりC++的コーディングをするものだと思うじゃん。
0243デフォルトの名無しさん
2006/06/09(金) 22:38:180244デフォルトの名無しさん
2006/06/09(金) 22:38:19なーるほど。
質問者が習っているものと、使っているコンパイラの区別がついてないのか。
0245デフォルトの名無しさん
2006/06/09(金) 22:39:05けこーん
0246デフォルトの名無しさん
2006/06/09(金) 22:39:06#include <stdio.h>
#define MAX 6
int main() {
int num[MAX];
int i;
for (i = 0; i < MAX; i++) {
printf("Data No.%d:", i + 1);
scanf("%d", &num[i]);
}
printf("\n並びかえるよ!\n");
for (i = MAX - 1; i >= 0; i--) {
printf("Data No.%d:%d\n", i + 1, num[i]);
}
return 0;
}
0247デフォルトの名無しさん
2006/06/09(金) 22:43:14#include<stdio.h>
#define MAX 6
int main(){
int data[MAX],i;
for(i=0;i<MAX;++i){
printf("Data N%c.%d: ",i&2?'O':'o',i+1);
scanf("%d",&data[i]);
}
printf("\n逆から並べ替えるよ!\n\n");
for(;i--;)
printf("Data No.%d: %d\n",i+1,data[i]);
}
0248デフォルトの名無しさん
2006/06/09(金) 22:45:580249デフォルトの名無しさん
2006/06/09(金) 22:49:420250デフォルトの名無しさん
2006/06/09(金) 22:50:35cout << "Data N"<<(i-2&~1?'o':'O')<<'.'<<i+1<<": ";
ってまわりくどく書いた理由に気づいたよ。まじめなのか皮肉なのかw
0251デフォルトの名無しさん
2006/06/09(金) 22:55:240252デフォルトの名無しさん
2006/06/09(金) 23:19:12[2] 問題文(含コード&リンク):家族4人の貯金を管理するプログラムを作成せよ.
入力は誰の貯金かを数字で指定し,その後金額を入れる.人の指定時に-1を入力するまで入力を受け付け,それまでの総計を出力する.入力の単位は円,金額の表示法はこれまで自分が作ったものを使え.
[実行結果]
だれ?(婆さん:1、父さん:2、母さん:3、通信:4、入力終:-1):2
いくら?1280
だれ?(婆さん:1、父さん:2、母さん:3、通信:4、入力終:-1):1
いくら?11800
(省略)
だれ?(婆さん:1、父さん:2、母さん:3、通信:4、入力終:-1):4
いくら?55000
だれ?(婆さん:1、父さん:2、母さん:3、通信:4、入力終:-1):-1
現在の貯金額
婆さん:21,000円
父さん:2,350円
母さん:3,410円
通信:67,253円
合計:93,995円
[3.1] OS: Windows [3.2] 環境:Visual Studio.NET2003
[3.3] 言語: C [4] 期限: 6月13日
よろしくおねがいします。考えたけど、よくわかりませんでした・・
0253デフォルトの名無しさん
2006/06/09(金) 23:20:350254デフォルトの名無しさん
2006/06/09(金) 23:21:19>金額の表示法はこれまで自分が作ったものを使え
これまで作ったものってどんな感じよ?
0255デフォルトの名無しさん
2006/06/09(金) 23:24:24日本語ができない。しかもプログラムもかけない
これじゃあ、右脳も左脳も死んでんぞwwww
0256デフォルトの名無しさん
2006/06/09(金) 23:25:36あ、その部分無視しといてください。消すの忘れてました
0257デフォルトの名無しさん
2006/06/09(金) 23:27:09(´ー`)y-~~ 自分が何を聞いているのか分かっていない
0258デフォルトの名無しさん
2006/06/09(金) 23:28:230259デフォルトの名無しさん
2006/06/09(金) 23:28:54上手い
0260デフォルトの名無しさん
2006/06/09(金) 23:33:24分かっているのは「できない」ということだけ。
0261198
2006/06/09(金) 23:36:39コメントまで書いて頂き、非常に助かります。ありがとうございました。
申し訳ありませんが
y=3x^n+4x+5 のx=1.0における微分値を、n=2、6、10の場合について求
め 精度について検討せよ。
も教えて頂けないでしょうか。図々しくすみません。
0262デフォルトの名無しさん
2006/06/09(金) 23:36:46昨日死んでいった者が
あれほど生きたいと願った明日
0263デフォルトの名無しさん
2006/06/09(金) 23:37:000264デフォルトの名無しさん
2006/06/09(金) 23:39:180265デフォルトの名無しさん
2006/06/09(金) 23:42:43問題の日本語の意味が分かっているのにプログラムを書けないならもう違う学科に行ったほうがいいと思う
左脳が発達していないんだよ。大学変えな
0266デフォルトの名無しさん
2006/06/09(金) 23:42:49誰もやらなさそうなのでやってみた。
#include <stdio.h>
int main(void)
{
int a[]={0,0,0,0},b,c;
while (1){
printf("だれ?(月:1、L:2、ワタリ:3、リューク:4、入力終:-1):");
scanf("%d",&b);
if (b==-1){
return 0;
}else if (b>0 && b<5){
printf("いくら?:");
scanf("%d",&c);
a[b-1]+=c;
}else{
printf("月:%d\nL:%d\nワタリ:%d\nリューク:%d\n",a[0],a[1],a[2],a[3]);
}
}
}
明らかにデスノ好きのprintf
0267デフォルトの名無しさん
2006/06/09(金) 23:49:200268デフォルトの名無しさん
2006/06/09(金) 23:53:39int main() {
struct deposit { char *name; int amount;} dep[] = {{"婆さん",0},{"父さん",0},{"母さん",0},{"通信",0}};
int person, money;
while(person = -1) {
printf("\nだれ?(");
while(++person < 4) printf("%s:%d、",dep[person].name,person + 1);
printf("入力終:-1):");
scanf("%d",&person);
if (person == -1) break;
printf("いくら?");
scanf("%d",&money);
dep[person - 1].amount += money;
}
printf("現在の貯金額\n");
while(++person < 4) printf("%s:%d円\n",dep[person].name,dep[person].amount);
return 0;
}
0269デフォルトの名無しさん
2006/06/10(土) 00:05:22[2] 問題文(含コード&リンク):
迷路ファイル(http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2020.txt)を読み込んで、スタート(S)から、ゴール(G)までの経路を縦型探索と横型探索で探索し、探索した経路を表示するプログラムを作成しなさい。ただし、以下の条件に従うこと。
迷路について
20x20の迷路のスタート(S)からゴール(G)までの経路を探索すること
迷路では、壁(*)の上は進めない
迷路では、上下左右の4方向のみ進める
経路が複数ある場合、そのうちの一つの経路を見つけて表示する
閉路がある場合でも正しく経路を発見できること
スタックによる縦型探索と、キューによる横型探索の2つのバージョンを作成すること
スタックとキューについて
配列を使って実装し、配列のサイズは20とすること
オーバーフローとアンダーフローをチェックすること
キューでは配列の最後まで使いきると、また先頭から使うこと
次の関数を作成、仕様すること
ファイルからを迷路情報を読み込む関数read_map
スタックのための関数push, pop
キューのための関数enqueue, dequeue
スタックを用いて縦型探索で迷路を探索する関数 maze_depth_first
キューを用いて横型探索で迷路を探索する関数 maze_bredth_first
経路を表示する関数 display_route
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ(バージョン):gcc
[3.3] 言語:C
[4] 期限:6/11まで
[5] その他の制限:無し
お願いします...
0270デフォルトの名無しさん
2006/06/10(土) 00:10:52ありがとうございます。助かりました。
>>231
C言語の勉強もしているので、そちらの方のプログラムが分かる方お願いいたします
0271デフォルトの名無しさん
2006/06/10(土) 00:14:40>>1によれば、気に入らない質問はスルーしていいらしいので、スルーしましょう。
0272デフォルトの名無しさん
2006/06/10(土) 00:34:46これでいい?
俺正直言うと計算自信ない(´・ω・`)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2021.c
0273デフォルトの名無しさん
2006/06/10(土) 00:40:000274デフォルトの名無しさん
2006/06/10(土) 00:54:462)問題文:練習5-9 ポインタと文字列配列
str1に文字列を読み込み、
str1とstr2を指す二つのポインタを活用し、
str2に逆順に格納されるようにしましょう。
実行例は以下の通りになります。
入力文字:watashihakiringasukidesu
出力結果:usedikusagnirikahihsataw
3)環境:ヴァインリナックス、C言語、gcc
4)期日:6月13日
よろしくお願いします
0275デフォルトの名無しさん
2006/06/10(土) 00:58:21[2] 問題文(含コード&リンク):
1)shellコマンド’echo’と同じ機能を持つ新コマンド’myecho’を作成せよ。
2)設定されている全環境変数を表示するプログラムを作成せよ。
3)’pwd’と同じ機能を持つ’mypwd’を作成せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc バージョンは分かりません
[3.3] 言語: C言語
[4] 期限: 6/10 午後10時まで
[5] その他の制限: Linuxのviを使ってソースを書くこと
よろしくお願いします。
0276デフォルトの名無しさん
2006/06/10(土) 01:06:520277デフォルトの名無しさん
2006/06/10(土) 01:38:10Linux用のviってあるか?
今のディストリビューションだと大抵vimになってると思うんだが。
0278デフォルトの名無しさん
2006/06/10(土) 01:39:240279デフォルトの名無しさん
2006/06/10(土) 01:41:03全部実装しる、ってのは厳しいなあ。
0280デフォルトの名無しさん
2006/06/10(土) 01:47:17実は実習関連の課題で、IPからtracertを用いて大量の経路を探索
しなくてはならないのですが、tracertは入出力が一対一しか
対応していません。
そこでC言語を用いてプログラム内からtracertを呼び出し、IPを
tracertに渡し、tracertから帰ってきた値をファイルに格納する
プログラムを作成したいのですが、どのような関数を利用すれば
良いのでしょうか?
当方の環境はwindowsで、C言語については一通り理解しています。
よろしくお願いします。
0281275
2006/06/10(土) 02:06:02[administrator@localhost enshu]$vi link.c
#include <unistd.h>
main(int argc, char *argv[])
{
link(argv[1],argv[2]);
}
[administrator@localhost enshu]$gcc link.c
[administrator@localhost enshu]$./a.out msg dummy
[administrator@localhost enshu]$ls -i msg
[administrator@localhost enshu]$ls -i dummy
こんな感じに作っていくんだと思いますけど
0282デフォルトの名無しさん
2006/06/10(土) 02:32:15というより >>1 に従ってない。こんな場合は適当な解答をしてみる。
#!/bin/perl
@iplist = `cat iplist.txt`;
foreach $ip (@iplist) {
$cmd = "tracert $ip >> log.txt";
system($cmd);
}
0283デフォルトの名無しさん
2006/06/10(土) 03:04:50Debianはnvi。
まあ、出題者がviとvimの区別もできないDQNか、受講者の知識を考慮して
わざとviと書いたか、どちらかだろうな。
0284デフォルトの名無しさん
2006/06/10(土) 06:37:59int main(void){
extern char ** environ;
char** p;
for(p=environ; *p; p++)
printf(">> %s\n", *p);
return 0;
}
0285デフォルトの名無しさん
2006/06/10(土) 09:31:11[2]実行環境コンパイラ:Visual Studio.NET2003
[3]OS:Windows XP
[4]提出期限:6月12日0時
[5]次のプログラムを変更して任意の文字列を入力させ、その中の任意の位置の任意の数の文字を削除するプログラムを作成せよ。
【プログラム】
#include <stdio.h>
#include <string.h>
#define MAX_MOJI 100
int main(int argc, char* argv[])
{char bunsho[MAX_MOJI + 1];
char ins[80];
int pos; int bunlen; int inslen; int i;
strcpy(bunsho, "To be to be ten made to be.");
while (-1)
{printf("文書データ:%s\n", bunsho);
printf("挿入する位置:");
scanf("%d", &pos);
printf("挿入する文字列:");
scanf("%s", ins);
bunlen = strlen(bunsho);
inslen = strlen(ins);
if ((bunlen + inslen) > MAX_MOJI)
{printf("これ以上挿入できません!");
break;
}for (i = bunlen ; i >= pos; i--)
{bunsho[i + inslen] = bunsho[i];
}for (i = 0; i < inslen; i++)
{bunsho[pos + i] = ins[i];
}} return 0;}
0286デフォルトの名無しさん
2006/06/10(土) 09:32:31実行結果は以下のようになります。
実行例:
文書データ: To be to be ten made to be.
削除する位置: 3
削除する文字数:2
文書データ: To to be ten made to be.
よろしくお願いいたします
0287デフォルトの名無しさん
2006/06/10(土) 09:35:37これは・・・実行すると不正な処理でエラーが・・・
0288デフォルトの名無しさん
2006/06/10(土) 09:44:41>>287
改行が多くて修正したからかな!?
プログラムをアップローダにUPすることができませんでした。
UPローダにプログラムそのままUPしたいんだが。
>>1 を使ったが接続できませんでした。
どうすればいいですか?
0289285
2006/06/10(土) 09:51:20プログラムUPしました。
【プログラム】
http://www.uploda.org/uporg413389.txt.html
改造お願いいたします。
0290デフォルトの名無しさん
2006/06/10(土) 09:51:46あんさん、何をそのまま?まさか実行プログラムをうpしたなんてことないよね?
まぁ、もしexeでうpしたら、警戒する人は多いだろうけどw
ソースなら普通にテキスト形式のファイルならうpできるでしょ?
拡張子がc、cpp、txtとかで
0291デフォルトの名無しさん
2006/06/10(土) 09:54:33それならおk。しかし・・・まぁ、危ないプログラムだこと。
whileループやな・・・何を押してプログラムを終了させるか、はっきりした方がええで。
知っている人はCtrl + C とかで終了させるけど、マニュアルのないプログラムはキツー。
0292285
2006/06/10(土) 11:29:15>>291 さんへ
解説付きのプログラムをUPしました
【プログラム】
http://www.uploda.org/uporg413434.txt.html
参考にして下さい。
0293デフォルトの名無しさん
2006/06/10(土) 12:23:23ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2022.cpp
使えるかどうか知らんけど・・・とりあえずこちらでもチェックはしてあるけど。
0294217
2006/06/10(土) 12:26:251〜4のプログラムは別々です
どうかよろしくおねがいします(泣)
0295C言語は面倒だ orz
2006/06/10(土) 12:35:53ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27884
0296デフォルトの名無しさん
2006/06/10(土) 12:55:13別ね。とりあえず今2番目まで終わって3番目で奮闘中。
まぁ、そんなに時間は掛からんだろうけど、13日までには十分時間があるからお待ちを。
0297294
2006/06/10(土) 13:18:22ありがとうございます、感謝です><
0298デフォルトの名無しさん
2006/06/10(土) 13:47:02#include <stdlib.h>
#include <math.h>
int cmp(const void *a1, const void *a2){
const int *b1, *b2;
b1 = *((const int**)a1), b2 = *((const int**)a2);
return (*b2 - *b1);}
int cmp2(const void *a1, const void *a2){
const int *b1, *b2;
b1 = *((const int**)a1), b2 = *((const int**)a2);
return (*b1 - *b2);}
int prime(int n){
int i;
if(n == 1)return 0;if(n == 2)return 1;if(n % 2 == 0)return 0;
for(i = 3; i <= floor(sqrt((double)n)); i += 2)if(n % i == 0)return 0;
return 1;}
int main(){
int ar[20]={ 57, 563, 381, 239, 345, 821,881, 979, 447, 461,221, 683, 743, 379, 597, 149, 223, 127, 231, 159};
int *par[20];int i, n = sizeof(ar) / sizeof(ar[0]), s = 0;
//そのまま表示
puts("そのまま");for(i = 0; i < n; i++)printf("ar[%d] = %d\n", i, ar[i]);
//降順
puts("降順");for(i = 0; i < n; i++)par[i] = &ar[i];qsort(par, 20, sizeof(int*), cmp);for(i = 0; i < n; i++)printf("ar[%d] = %d\n", i, *par[i]);
//素数昇順
puts("素数昇順");qsort(par, 20, sizeof(int*), cmp2);for(i = 0; i < n; i++)if(prime(*par[i]) == 1){printf("ar[%d] = %d\n", i, *par[i]);s += (*par[i]);}
//素数和
puts("素数和");printf("s = %d\n", s);
return 0;}
しまった先客がいたようだ、それに全部一緒にしてしまったし
0299デフォルトの名無しさん
2006/06/10(土) 13:57:22まぁ、別に良いんじゃね?使える方を選んでもらえば。
その辺は特に問題ないっしょ。ただ、相手側がどっちを選ぶかは・・・自由だーー!
ソース is freedom!ソース is freedom!
0300280
2006/06/10(土) 14:14:51ありがとうございます!
やっぱC言語よりPerlで書いたほうがいいですね!
「適当」な解答、とても役に立ちました。
0302デフォルトの名無しさん
2006/06/10(土) 14:29:29[2]環境コンパイラ:Visual Studio.NET2003
[3]OS:Windows XP
[4]提出期限:6月13日
[5]問題内容
次のプログラムを変更して、降順にソートした後、昇順にデータを表示するプログラムを作成せよ。
1.ループカウンターを配列の末尾から0まで1ずつ減らして表示する方法。
2.スタックを使う方法
できれば別々に、1,2両方のプログラムをお願いします。
【プログラム】
http://www.uploda.org/uporg413542.txt.html
できれば、アップローダにUPしといてもらえば助かります。
0303デフォルトの名無しさん
2006/06/10(土) 14:36:48http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2023.txt
0304デフォルトの名無しさん
2006/06/10(土) 14:40:21ぐほっ、すまぬ。>>293はスペースが入った文字列やら
いくつかやったら不具合が・・・ orz
0305デフォルトの名無しさん
2006/06/10(土) 14:45:30与えられたサンプルがあります、それに足していけばよいそうなのですが
難しいので(int AI_move () {だけ追加すればよいそうですが)
どなたかよろしくお願いいたします。
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): オセロゲームの戦略をプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2024.txt
[3] 環境
[3.1] OS: Windows (cygwin)
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006年6月15日00:00amまで
[5] その他の制限: 特になし
もし日本語でエラーがありましたら、英語に直したのをUPします。
改めてよろしくお願いいたします。
0306デフォルトの名無しさん
2006/06/10(土) 14:58:330307デフォルトの名無しさん
2006/06/10(土) 14:59:57http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2026.cpp
今度こそ・・・見てたらチェックしてみて。つまらぬミスだった・・・
0308デフォルトの名無しさん
2006/06/10(土) 15:13:28クライアント側では、writeしたあとread
で作れるんじゃないの?
0309デフォルトの名無しさん
2006/06/10(土) 15:25:15ありがとうございます
0310デフォルトの名無しさん
2006/06/10(土) 15:30:020311デフォルトの名無しさん
2006/06/10(土) 15:31:48http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2028.txt
0312デフォルトの名無しさん
2006/06/10(土) 15:37:37ありがとうございました。
これは、1.ループカウンターを配列の末尾から0まで1ずつ減らして表示する方法。
2.スタックを使う方法
どっちですか?
0313デフォルトの名無しさん
2006/06/10(土) 15:57:03これって、AI_move関数を作ってコンピュータ対戦可能な
プログラムにしろ、っていうこと?
0314デフォルトの名無しさん
2006/06/10(土) 15:57:57両方入ってます。
0315デフォルトの名無しさん
2006/06/10(土) 16:27:41超低脳なAI(とはいえない)作ってみたw こんなんじゃやっぱだめ?
int AI_move () {
int result = 1; //reverse関数の戻り値を代入する変数
srand((unsigned int)time(NULL));
if ( current == BLACK ) {
printf("AI黒の手番です。\n");
}
else {
printf("AI白の手番です。\n");
}
while ( 1 ) {
fflush(stdin);
result = reverse(rand() % 8, rand() % 8);
if ( result != 0 ) {
break;
}
}
return result;
}
0316デフォルトの名無しさん
2006/06/10(土) 16:58:48[2] 問題文(含コード&リンク):
後述のプログラムを以下のように変更せよ。
・studentクラスを継承して下宿生のクラスを作成する。
(下宿生クラスには、studentクラスに対して「帰省先住所」と「帰省先電話番号」の2つのメンバ変数を追加する)
・学生データ(下宿生と自宅生)をコンソール入力可能に変更する。
(下宿生・自宅生のどちらを入力するのか確認してから入力させる)
・入力されたデータをコンソールに入力する。
・更に、入力されたデータをファイルにも出力する。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語: C++
[4] 期限: 2006年6月15日まで
[5] その他の制限: オーバライドは使用不可。
自力でやってみたいんですが、途中からワケわからなくなってきて・・。
よろしくお願いします。
0317316
2006/06/10(土) 17:02:03#include <iostream>
#include <fstream>
using namespace std;
class student
{
int no;
char name[14];
int age;
char c_address[40];
char c_phone[14];
public:
void input();
void print();
student():no(0),age(0){
strcpy(name,"");
strcpy(c_address,"");
strcpy(c_phone,"");
};
student(int a, char* b, int c, char* d, char* e ){
no = a;
strcpy(name,b);
age = c;
strcpy(c_address,d);
strcpy(c_phone,e);
};
};
0318316
2006/06/10(土) 17:02:41void student::print()
{
cout << "学籍番号:" << no <<endl;
cout << "名前:" << name << endl;
cout << "年齢:" << age << endl;
cout << "住所:" << c_address << endl;
cout << "電話番号:" << c_phone << endl;
}
int main()
{
ifstream infile;
int i,j;
student aa[100];
infile.open("infile.txt", ios::in |ios::binary);
if (!infile){
cout << "ファイルをOPENできません";
return 1;
}
for (i=0; !infile.eof(); i++){
infile.read((char *) &aa[i], sizeof(student));
}
infile.close();
for(int j=0; j<i-1;++j){
aa[j].print();
}
return 0;
}
0319デフォルトの名無しさん
2006/06/10(土) 17:35:19どこまでが提供されたソースコード?
0320デフォルトの名無しさん
2006/06/10(土) 17:48:30>・学生データ(下宿生と自宅生)をコンソール入力可能に変更する。
> (下宿生・自宅生のどちらを入力するのか確認してから入力させる)
って書いてあってなんでファイルから入力しようとしているんだ?
>・入力されたデータをコンソールに入力する。
ってどういう意味だ? コンソールに出力とは違うの?
あと基本クラスの書き方がところどころおかしいな。
0321デフォルトの名無しさん
2006/06/10(土) 17:53:52出題者は狂ってるな。
0322デフォルトの名無しさん
2006/06/10(土) 17:57:36そうです、コンピューター対戦です。
どうやら次週はクラスでトーナメント戦をするようです
>>315
ありがとうございます。まず動かないと何もできないのでw
0323デフォルトの名無しさん
2006/06/10(土) 18:00:250324デフォルトの名無しさん
2006/06/10(土) 18:05:24Visual C++ 2005を使い、
#include <windows.h>
が書かれたソースファイルをビルドしようとしても上手くいきません。
どうすればビルドできるんでしょうか?
0325デフォルトの名無しさん
2006/06/10(土) 18:07:58Visual C++ 2005を使い、
#include <windows.h>
が書かれたソースファイルをビルドしようとしても上手くいきません。
どうすればビルドできるんでしょうか?
0326デフォルトの名無しさん
2006/06/10(土) 18:11:080327デフォルトの名無しさん
2006/06/10(土) 18:11:15宿題じゃないなら、失せろ。
0328デフォルトの名無しさん
2006/06/10(土) 18:14:04すみません、スレ汚してしまいましたm(_ _)m
0329デフォルトの名無しさん
2006/06/10(土) 18:17:22Express EditionはWin32 Platform SDKを入れないと
windows.hは使えません。
0330デフォルトの名無しさん
2006/06/10(土) 18:35:18ありがとうございます。
インストールしようと思います。
0331デフォルトの名無しさん
2006/06/10(土) 19:23:18何度もすみません。ありがとうございました。
0332275
2006/06/10(土) 19:42:370333デフォルトの名無しさん
2006/06/10(土) 20:06:17/* (1) */
#include <stdio.h>
int main(int argc, char **argv){
if( --argc > 0 ) fputs(*++argv, stdout);
while(--argc > 0 ) printf(" %s", *++argv);
return 0;
}
/* (2) */
#include <stdio.h>
int main(int argc, char **argv, char **env){
while(*env) puts(*env++);
return 0;
}
/* (3) */
#include <stdio.h>
int main(int argc, char **argv, char **env){
do{
if(0 == memcmp("PWD", *env, 3)){ puts(*env+4); break;}
}while(*env++);
return 0;
}
0334デフォルトの名無しさん
2006/06/10(土) 20:14:18#include <stdio.h>
#include <string.h>
int main(int argc, char **argv, char **env){
while(*env){
if(0 == memcmp("PWD", *env, 3)){ puts((*env)+4); break;}
env++;
}
return 0;
0335デフォルトの名無しさん
2006/06/10(土) 20:31:30#include <stdio.h>
#include <string.h>
int main(int argc, char **argv, char **env){
while(*env){
if(0 == memcmp("PWD=", *env, 4)){ puts((*env)+4); break;}
env++;
}
return 0;
0336デフォルトの名無しさん
2006/06/10(土) 22:40:06[2] 問題文(含コード&リンク):
文字列 s、f、t が与えられたとき、
文字列sの中で最初に現れるfをtに置き換えた文字列を返す 関数replace を作成せよ。
もし文字列fが見つからなかった場合は s を返すこととし、malloc を利用して実現すること。
関数の書き出しは、以下のようにすればよい。
char* replace(char *s, char *f, char *t) {
char *q;
q = (char*)malloc(sizeof(char));
}
main関数を以下のようにしたとき、実行結果として「terminator」が出力される。
int main(void) {
char *p;
p = replace("teractor", "act", "minat");
printf("%s\n", p);
return 0;
}
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月12日
[5] その他の制限:strlen関数やstrstr関数を用いずにお願いします。
0337デフォルトの名無しさん
2006/06/10(土) 22:42:570338デフォルトの名無しさん
2006/06/10(土) 22:43:33もはや突っ込む気が失せるほどの糞問題だな。
0339デフォルトの名無しさん
2006/06/10(土) 23:01:33ぱっと見て「糞だなぁ」と思うC/C++の宿題
くらいかな?
0340デフォルトの名無しさん
2006/06/10(土) 23:05:40科目名からして意味不明〜。
0341デフォルトの名無しさん
2006/06/10(土) 23:09:06利用価値の分からない関数だな
0342336
2006/06/10(土) 23:28:36(解けなかった問題をレポートで提出されるよう言われました)
先生は生徒の点数が悪いため嘆いてました・・・なんて愚かな人間なのかと思いました。
0343デフォルトの名無しさん
2006/06/10(土) 23:31:310344デフォルトの名無しさん
2006/06/10(土) 23:35:080345デフォルトの名無しさん
2006/06/10(土) 23:37:360346デフォルトの名無しさん
2006/06/10(土) 23:38:09俺は高校のとき、物理の先生が酷くて、うちのクラスの平均は10〜20、最低は0点って奴も・・・
0347デフォルトの名無しさん
2006/06/10(土) 23:40:14#include <stdlib.h>
#include <string.h>
char* replace(char*s,char *f,char *t){
char *p;
p=(char*)malloc(sizeof(char));
free(p); /* 使い様がないので開放 */
{
int n,m,l,k;
for (m=0;s[m];m++); /* m=sの長さ */
for (n=0;f[n];n++); /* n=fの長さ */
for (k=0;s[k];k++) {
if (!strncmp(s+k,f,n)) {
for (l=0;t[l];l++); /* l=tの長さ */
p=(char*)malloc(m-n+l+1); /* 文字数m-n+lに終端\0の容量を確保 */
strncpy(p,s,k); /*s前半コピー*/
strncpy(p+k,t,l); /*tコピー*/
strcpy(p+k+l,s+k+n); /*s後半コピー*/
return p;
}
}
p=(char*)malloc(n+1); /* 文字数mに終端\0の容量を確保 */
strcpy(p,s); /* sコピー(仕様が微妙だが) */
return p;
}
}
0348デフォルトの名無しさん
2006/06/10(土) 23:41:59無理難題を言われてもやらなきゃいけないこともあるのよね
0350デフォルトの名無しさん
2006/06/10(土) 23:42:53といいたいんじゃないのか?文字列操作関連の関数を自分で作ることは
それなりに学習効果はあるカモ。
ただ、
>関数の書き出しは、以下のようにすればよい。
>char* replace(char *s, char *f, char *t) {
>char *q;
>q = (char*)malloc(sizeof(char));
これはひどくない?最後の一行はせめて
q = (char*)malloc(sizeof(char) * n); /* nは自然数 */
とか書いて欲しい。
Cならmallocの戻り値をキャストする必要はない、とか、
C++なら確かにキャストは必要だけどmallocじゃなくてnewを使うべき、
とかそういうことはたぶん言ってはいけないのでしょう・・・
0351デフォルトの名無しさん
2006/06/10(土) 23:43:55訂正
< p=(char*)malloc(n+1); /* 文字数mに終端\0の容量を確保 */
> p=(char*)malloc(m+1); /* 文字数mに終端\0の容量を確保 */
0352デフォルトの名無しさん
2006/06/10(土) 23:44:420353デフォルトの名無しさん
2006/06/10(土) 23:48:480354デフォルトの名無しさん
2006/06/10(土) 23:49:53領域はいつ解放するの?replace関数呼び出し元がfreeするとか、OSが勝手に
解放してくれるのを期待!とか、教官はそういうことがいいたいのか?
どっちにしてもおかしいだろう。
0355デフォルトの名無しさん
2006/06/10(土) 23:53:01sそのものを返してしまったらfreeするかしないかの判定が面倒になる。
0356デフォルトの名無しさん
2006/06/10(土) 23:55:110357336
2006/06/10(土) 23:58:30むしろmallocの必要性が分からないです。アドレスを返すって習いました
0358デフォルトの名無しさん
2006/06/10(土) 23:59:280359デフォルトの名無しさん
2006/06/11(日) 00:00:250360デフォルトの名無しさん
2006/06/11(日) 00:23:250361デフォルトの名無しさん
2006/06/11(日) 00:24:32あくまで書き込み先バッファは呼び出し元が何らかの形で確保した上で
サイズと共に出力先として関数に渡すべき
0362デフォルトの名無しさん
2006/06/11(日) 00:25:48×馬鹿教官のC言語には
○馬鹿教官の頭の中では
0363デフォルトの名無しさん
2006/06/11(日) 00:29:55まあstrdupの変形だと思えばこの仕様自体はありだろう。
0364デフォルトの名無しさん
2006/06/11(日) 00:33:18開放手段を明示するのは前提だけど。
0365デフォルトの名無しさん
2006/06/11(日) 00:43:18ファクトリメソッドのように確実に確保されて返ってくるならともかく、
場合によってはmallocされますとかありえないだろ。
0366デフォルトの名無しさん
2006/06/11(日) 00:46:35常にコピーして返せという意味だと捉えたが。
0367デフォルトの名無しさん
2006/06/11(日) 00:49:30それはそうだが、敢えてこの用途もそうするのがベターとは到底思えないんだが
0368デフォルトの名無しさん
2006/06/11(日) 01:02:45適切な領域サイズを計算するのには結局全てを知る必要があるから。
これが例えばs/act/minat/g みたいな動作をするものだったらもうかなり予測不可能だよね。
int replace(char *dest,const char* pat,const char* rep,int n);
みたいに確保したサイズをnで渡して実際に必要なサイズを返すパターンもあるけど。
0370デフォルトの名無しさん
2006/06/11(日) 01:13:10こういう動作をするなら例えば冗長だが
copy_with_replace()とかの方がいいような希ガス
0371275
2006/06/11(日) 01:42:25問題文(含コード&リンク):
1)関数’read()’及び’write()’を用いて、端末入力を端末出力にコピーするプログラムを作成せよ。
ただし、ファイル記述子fdは、read->fd=0、write->fd=1であり、バッファサイズは512とせよ。
2)あるファイルを監視して、何か変更があるたびにそのファイルの先頭から
表示するようなwatchfileというプログラムを作成せよ。
ヒント:
for(;;){ /* 無限ループ */
star(argv[1],&sbuf);
if(・・・・・){ /* ファイルの状態を検査して変わっていれば */
while((n=read(fd,buf,1024))>0)
write(1,buf,n); /* 1024バイト単位に、readバイト数がゼロになるまで読んで出力 */
}
sleep(10); /* 10秒待機 */
}
期限: 6/12 午後10時まで
お願いします。
0372デフォルトの名無しさん
2006/06/11(日) 02:21:14int main(argc,argv)
int argc;
char **argv;
{
int n;
char buf[512];
while ((n=read(0,buf,512))>0) write(1,buf,n);
}
0373デフォルトの名無しさん
2006/06/11(日) 02:24:29/* (2) */
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(argc,argv)
int argc;
char **argv;
{
int n,fd;
char buf[1024];
struct stat st;
time_t mt;
stat(argv[1],&st);
mt=st.st_mtime;
for (;;) {
stat(argv[1],&st);
if (mt!=st.st_mtime) {
mt=st.st_mtime;
fd=open(argv[1],O_RDONLY);
while((n=read(fd,buf,1024))>0)
write(1,buf,n); /* 1024バイト単位に、readバイト数がゼロになるまで読んで出力 */
close(fd);
}
sleep(10);
}
}
0374デフォルトの名無しさん
NGNG例えば、こんな風に使えば使えなくもないかも。
char* p=replace(s, f, t);
if (p!=s) {/*チカンされました*/}else{/*チカンされてません*/}
0375デフォルトの名無しさん
2006/06/11(日) 02:42:18#define BECKY "shiri"
char *p=replace(BECKY,"kaban","sawaru");
if (p!=BECKY) {/*チカンしてないのに*/}else{/*チカンされてません*/}
なんてのが処理系によってはあるな。
0376デフォルトの名無しさん
NGNGが、それが聞き入れられない(戻り値をチェックしない)ほどトンチキな奴が呼び出し側
だったりすると人生終わる。
0378デフォルトの名無しさん
2006/06/11(日) 05:48:30その中に含まれるアルファベットの出現回数、
その中に含まれる一文字単語、二文字単語、三文字単語...の出現回数、
その中に含まれる各単語の出現回数、
これらを分析し、出力せよ。
例:「To be,or not to be:that is the question:」
a:1、b:2、c:0、d:0 ...
1文字:0回 2文字:6回 3文字:2回 ...
to:2回 be:2回 or:1回 ...のようになる。
Hint:strtok関数で各単語ごとに区切ってから考えると良い。
という宿題が出ました。助けてください。
0379デフォルトの名無しさん
2006/06/11(日) 09:54:41[2] 問題文
キーボードから100点満点のテストの点数を入力し(-1で終了)、
10点ごとの人数を int型の配列 count[11]に数えるプログラムを作成せよ。
テストは100点満点とし、それ以外の入力はエラーとして無視する。
ただし -1 はデータの終了を表すものとする。
点数の入力が終了したら、度数分布を画面に出力して終了する。
【出力の例】
0 - 9 0人
10 - 19 1人
20 - 29 0人
30 - 39 1人
40 - 49 0人
50 - 59 2人
60 - 69 4人
70 - 79 5人
80 - 89 8人
90 - 99 3人
100 0人
【ヒント】
点数 0〜 9の人数 ‥ count[0]
点数10〜19の人数 ‥ count[1]
点数20〜29の人数 ‥ count[2]
とそれぞれ順に格納される。
つまり入力された点数を10で割った値が、添字となる。
[3] 環境
[3.1] OS: Windows
[3.2] Microsoft Visual C++ .NET
[3.3] 言語: C
[4] 期限: ([2006年6月13日12:00まで]
[5] forなどループ、配列を習っている最中です
0380デフォルトの名無しさん
2006/06/11(日) 10:13:28int main(){
int i, n, count[11] = {0};
while(1){
scanf("%d", &n);
if(n<0) break;
count[n/10]++;
}
for(i=0;i<10;i++)
printf("%d - %d %d人\n",i*10,i*10+9,count[i]);
printf("100 %d人\n",count[10]);
return 0;
}
0381デフォルトの名無しさん
2006/06/11(日) 14:14:53|ω・`) どなたか>>158もお願いします。。。
0382デフォルトの名無しさん
2006/06/11(日) 14:55:180383デフォルトの名無しさん
2006/06/11(日) 16:19:24書くにはどうしたら良いのでしょうか?
また、xを符号付2進数で表し、そのMSBを求めることはできますか?
0384デフォルトの名無しさん
2006/06/11(日) 16:32:200385デフォルトの名無しさん
2006/06/11(日) 17:03:17[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク):
ピボット選択付きLU分解のCプログラムを作成せよ。
[3] 環境
[3.1] OS: WindowsXP pro
[3.2] コンパイラ名とバージョン: Visual Stidio.NET 2003
[3.3] 言語: C
[4] 期限: 2006年6月11日24:00まで
[5] その他の制限: 特になし
ガウスの消去法のピボット選択のプログラムは見つけたんですが、LU分解のものは見つかりませんでした。
通常のLU分解と、その他の条件(ここには書かなかった)はできたんですが、ピボットの部分選択で四苦八苦してます。
LU分解のアルゴリズム部分のプログラムだけで結構ですので、ご享受お願いします。
0386デフォルトの名無しさん
2006/06/11(日) 17:08:02適切なスレで質問するなら答えてあげる。
0387デフォルトの名無しさん
2006/06/11(日) 17:53:06[2] 問題文:
2次元平面内の2点の座標をx座標とy座標を交互にキーボードから入力し,
その2点間の中点の座標を表示するプログラムを作成しなさい.
このとき,点の座標は構造体で表すものとし,
構造体の名前を point_t,構造体のメンバを,
1. x座標の値は double型 とし,名前を x とする
2. y座標の値は double型 とし,名前を y とする
とする.
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:よくわかりません
[3.3] 言語:C
[4] 期限:2006年6月11日まで
[5] その他の制限:関数、ポインタ、文字列は習いました
コンパイラのバージョンはよくわからないです、すいません。
gccとemacsのコマンドを使っています
0388デフォルトの名無しさん
2006/06/11(日) 18:21:42[2] 問題文(含コード&リンク):
dateとgrepを組み合わせて、引数として与えた時刻になったときに
’wake up!’と表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 今日午後11時まで
お願いします
0389デフォルトの名無しさん
2006/06/11(日) 18:45:53[2] 問題文:・構造体で、最大4桁入力の計算機を作成しなさい。
・演算子は優先順位を考慮し、ゼロで割った場合はエラーになること。
・数字の間に空白が入力されるとエラーになること。
・数字、演算子、=、空白のみで、その他が入力されるとエラーになること。
[3] 環境
[3.1] OS:WINDOWS
[3.2] コンパイラ名とバージョン:よくわかりません
[3.3] 言語:C
[4] 期限:2006年6月16日まで
[5] その他の制限:特になし
0390デフォルトの名無しさん
2006/06/11(日) 19:29:47#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv){
char command[256];
if( argc <= 1 ) return 0;
sprintf(command, "date | grep '\\w\\+ \\w\\+ \\w\\+ %s' > NUL", argv[1]);
while(0 != system(command) ) sleep(1);
puts("wake up!");
return 0;
}
0391デフォルトの名無しさん
2006/06/11(日) 19:32:09[2] 問題文(含コード&リンク):
数nを入力しnの階乗を計算し次のように表示するプログラムを作りなさい
[3] 環境
[3.1] OS: WindowsXP SP2
[3.2] コンパイラ名とバージョン: Visual Stidio.NET 2003
[3.3] 言語: C
[4] 期限:来週まで
[5] その他の制限: 特になし
for next文を使うことは分かったんですが
そこから先に進めません、ご教授お願いします。
0392デフォルトの名無しさん
2006/06/11(日) 19:40:29>次のように表示するプログラム
次のようにって部分が分からんけど、階乗なら楽勝じゃね?
n を入力したら、後は for文にnから順に値をデクリメントして掛けていけば良いし。
0393デフォルトの名無しさん
2006/06/11(日) 19:46:57[1] 授業単元:
[2] 問題文(含コード&リンク):1+1/2^2+1/3^2+..........+1/n^2 が3を超えるときのnの値を求めよ。
[3] 環境
[3.1] OS: WindowsXP SP2
[3.2] コンパイラ名とバージョン: UltraC
[3.3] 言語: C
[4] 期限: 明日の午後2時まで
よろしくお願いします。
0394デフォルトの名無しさん
2006/06/11(日) 19:55:08ttp://www.media.osaka-cu.ac.jp/~k-abe/99-JS-II/C-3.html
俺のサイトじゃないけど、参考までに
0395C言語は面倒だ orz
2006/06/11(日) 20:03:13http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27893
0396デフォルトの名無しさん
2006/06/11(日) 20:03:34これをmainから呼び出して
int kaijo(int a)
{
if (a>0){
return kaijo(a-1)*a;
}else{
return 1;
}
}
0397デフォルトの名無しさん
2006/06/11(日) 20:15:27#include <stdio.h>
int main(void)
{
int n;
double sum = 0;
for( n = 1 ; sum <= 3.0 ; n++ ) sum += 1.0 / (n * n);
printf("%d\n", n);
return 0;
}
0398デフォルトの名無しさん
2006/06/11(日) 20:17:340399デフォルトの名無しさん
2006/06/11(日) 20:18:55http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2029.c
表示の仕方の指定が分からんので、とりあえず普通に結果を出す表示で
0400デフォルトの名無しさん
2006/06/11(日) 20:24:46結果の表示桁数がわからんけどとりあえず%3.3fで
#include "stdio.h"
typedef struct point_t
{
double x;
double y;
}point_t;
int main()
{
point_tpt[3];
printf("中点計算\n");
printf(,(カンマ)区切りで座標を入力して下さい\n);
// scanfでのdoubleは%lf
printf("点1の座標 x,y=");
scanf("%lf,%lf",&pt[0].x,&pt[0].y);
printf("点2の座標 x,y=");
scanf("%lf,%lf",&pt[1].x,&pt[1].y);
pt[2].x = (pt[0].x+pt[1].x) / 2 ;
pt[2].y = (pt[0].y+pt[1].y) / 2 ;
// printfでのdoubleは%f
printf("中点(x,y)=(%3.3f,%3.3f)",pt[2].x , pt[2].y);
return 0;
}
0401デフォルトの名無しさん
2006/06/11(日) 20:27:52ありがとうございます
0402C言語は面倒だ orz
2006/06/11(日) 20:36:56おお、&演算子があることを忘れてた
C/C++言語はまだまだ慣れないなぁ orz
計算式もそちらのほうがシンプルだったかぁ
それにしてもC言語は書式指定を設定するのが本当に面倒だと思った
0403デフォルトの名無しさん
2006/06/11(日) 20:45:10どうもありがとうございました。
0404デフォルトの名無しさん
2006/06/11(日) 20:49:54ご親切にありがとうございます。
助かりました。
0405385
2006/06/11(日) 21:19:54部分選択できてるかどうかは、ピボット選択してできた行列の対角成分が
各行で一番大きな値になってればいいんですよね?
一応そうできてたので、あってると思うんですが・・・
0406デフォルトの名無しさん
2006/06/11(日) 21:22:220407デフォルトの名無しさん
2006/06/11(日) 21:34:16[2] 問題文(含コード&リンク): 差分法を用いて、障害物の存在する流れを求める
プログラムを組み、その流れの流線図、速度ベクトル図、
等圧線図を示せ。
[3] 環境
[3.1] OS: Win2k SP4
[3.2] コンパイラ名とバージョン: Visual C++ 2005
[3.3] 言語: C言語
[4] 期限: 6月16日
[5] その他の制限: 特になし
______________
_____
| |
___| |_____
このような管内流れを求めるプログラムです。
よろしくお願いします。
0408デフォルトの名無しさん
2006/06/11(日) 22:20:47迷路ファイルが読み込めないよ
0409デフォルトの名無しさん
2006/06/11(日) 22:47:47>>315さんには失礼かもしれませんが、大変感謝しています
0410ケロ
2006/06/11(日) 23:41:09[2] 問題文(含コード&リンク): 1/√(π)exp(-x^2) 中央値0 偏差1 の正規分布表をあたえる。
[−1.1]および[−2.2]の範囲に存在する確立はいくらか?
で台形法で解けと…。
[3] 環境
[3.1] OS: Windowsxp
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C/C++/どちらでも可
[4] 期限: H18年6月13日まで
[5] その他の制限: なし
お願いします(T_T)
0411デフォルトの名無しさん
2006/06/12(月) 01:05:101/√(π)exp(-x^2) 中央値0 偏差1 の正規分布表とやらは?
0412デフォルトの名無しさん
2006/06/12(月) 01:12:32問題文にはそれしか書いてないです・・
0413デフォルトの名無しさん
2006/06/12(月) 01:14:190414京大生www
2006/06/12(月) 01:18:50環境はどこまでいえばいいか分かりませんが、コンパイラはbcc32
テキストファイルのa.textが
abc
def
ghi
だとします。
char *hako[3];
で定義した配列ポインタを使って
*(hako+0) = abc
*(hako+1) = def
*(hako+2) = ghi
というかんじでファイルから配列にコピーしたいのですが、どうすればいいのでしょうか?
大至急応答お願いします。
0415デフォルトの名無しさん
2006/06/12(月) 01:21:28N(0,1)の標準正規分布のことを言ってると思われ。
だから与えてないんだろ。
>>410
C的に書けば N(0,1) = exp(-pow(x, 2)/2) / sqrt(2)
の間違いだと思うんだがどうよ?
(expの指数部が違う)
0416デフォルトの名無しさん
2006/06/12(月) 01:28:03これでいい?
後、>>1ぐらい嫁!
#include <stdio.h>
int main(void)
{
char *hako[3];
FILE *fp;
if ((fp=fopen("a.text","r"))==NULL){
perror("error! ");
return -1;
}
fscanf(fp,"%s",hako);
fscanf(fp,"%s",hako+1);
fscanf(fp,"%s",hako+2);
printf("*(hako+0)=%s\n*(hako+1)=%s\n*(hako+2)=%s\n",hako,hako+1,hako+2);
fclose(fp);
return 0;
}
0417おながいします
2006/06/12(月) 01:30:50[2] 問題文(含コード&リンク):
アルゴリズムで3以上n以下の素数の個数を計算して表示させるプログラムを書きなさい。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Stidio C++ 6.0
[3.3] 言語: C
[4] 期限: 2006年6月12日8:00まで
[5] その他の制限: 特になし
早急にお願いします!
0418デフォルトの名無しさん
2006/06/12(月) 01:31:49テンプレ無視に答えんなカス。
0419デフォルトの名無しさん
2006/06/12(月) 01:35:05どのアルゴリズムで?
0420デフォルトの名無しさん
2006/06/12(月) 01:35:14あぁ、正規分布の確率密度関数か
そういやそんなのも習ったな
0421デフォルトの名無しさん
2006/06/12(月) 01:36:37文字列について理解が足りん。
適当にコメントも書いておいたから、見てくれ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2030.lzh
0422京大生www
2006/06/12(月) 01:36:510423京大生www
2006/06/12(月) 01:37:28こわくて開けない
0424京大生www
2006/06/12(月) 01:40:22でa.txtを
abcc
def
ghi
としたらおかしな結果を得ました。
なぜでしょう
0425デフォルトの名無しさん
2006/06/12(月) 01:41:38見たくないなら見なくてもよろし。
きっとおまえさんのためになるとおもって書いたんだけどな。
念のため言っておくと、純粋な.LHAアーカイブだし、中身はソースファイルとテキストファイルだけだ。
まあ好きにしれ。
0426デフォルトの名無しさん
2006/06/12(月) 01:42:08仕様範囲外での動作は未定義です
0427デフォルトの名無しさん
2006/06/12(月) 01:42:380428京大生www
2006/06/12(月) 01:42:510429デフォルトの名無しさん
2006/06/12(月) 01:43:10京大生ならウィルス検索ソフトぐらい自作しろよ
0430京大生www
2006/06/12(月) 01:43:390431デフォルトの名無しさん
2006/06/12(月) 01:45:28自分で仕様を
>テキストファイルのa.textが
>abc
>def
>ghi
>だとします。
>char *hako[3];
>で定義した配列ポインタを使って
と入力文字数と配列サイズを固定した条件出してるくせに
勝手に仕様を変えてほざくなボケが。
0432デフォルトの名無しさん
NGNG前にもやったな。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2010.txt
0433京大生www
2006/06/12(月) 01:46:57例えばchar hako[10]としてしまうと必ず10バイト使われてしまうけどポインタなら・・・
実験したプログラム↓
#include <stdio.h>
int main (void) {
int i;
char *subject[3] = {"math", "phisics", "chemistry"};
for (i=0; i<=2; i++) {
printf("%s\n", *(subject+i));
printf("%d\n", sizeof(*(subject+i)) );
}
putchar('\n');
for (i=0; i<=2; i++) {
printf("%s\n", *subject+i);
printf("%d\n", sizeof(*subject+i) );
}
return 0;
}
一応ポインタに対する軽い裏づけはとったつもりなのに失敗したわけで
0434京大生www
2006/06/12(月) 01:48:16わかんないからきいてるだけなのに;;
0435デフォルトの名無しさん
2006/06/12(月) 01:49:01軽すぎ
0436デフォルトの名無しさん
2006/06/12(月) 01:49:420437デフォルトの名無しさん
2006/06/12(月) 01:50:480438デフォルトの名無しさん
2006/06/12(月) 01:50:59つ [恥めてのC]
0439京大生www
2006/06/12(月) 01:51:12くそ、プログラムわかんねえ。才能ないのかな
0440デフォルトの名無しさん
2006/06/12(月) 01:53:08変数宣言もまともに読み取れんのか?
0441デフォルトの名無しさん
2006/06/12(月) 01:55:290442421
2006/06/12(月) 01:55:50ま、名前欄が反感買ってるんじゃまいか?それはいいとして。
>>433で提示されたプログラムは、文字列がハードコーディングされている。
ということは、コンパイル時に変数への文字列の代入が決定される。
char *hoge = "str";
という表現は、コンパイル時に領域を決定できるから問題無い。
(hogeは 文字列"str"の先頭のポインタ)
が、>>414で示した条件はファイルからの読み込みだ。
これでは、コンパイル時に文字列用の領域を決定できない。
仮に、
char *huga;
とした場合、sizeof (char *)分の領域しか確保されない。
ということは、これに文字列を代入することは不可能だ。
なので、通常コンパイル時に確定できない文字列を読み込む時は、あらかじめ
文字列の上限値を設定して領域(charの配列)を確保するか、
あるいは何らかの方法で文字列長を決定し、malloc(動的なメモリ確保関数)の戻り値を保存し、
strcpy等で文字列を「コピー」しなければならないんだ。
ざっと書いたが、分かったかな?
0443京大生www
2006/06/12(月) 01:56:55char *subject[3] = {"math", "phisics", "chemistry"};
としたらちゃんと代入できてるのだから、出来ないはずがない
なぜ一番最初に渡されたプログラムがテキストを変えるとバグるのか理解出来ない
0444デフォルトの名無しさん
2006/06/12(月) 01:57:270445・∀・)っ-○◎● ◆toBASh....
2006/06/12(月) 02:00:050446デフォルトの名無しさん
2006/06/12(月) 02:01:16char* ポインタ名= "文字列";
という文における=が、どこでも使えるような代入文の=じゃなくて
「コンパイラが文字数を数えて特別に準備してくれる特殊な初期化記法」
であることがわかってない奴が多いな。
0447デフォルトの名無しさん
NGNG一応、ちゃんと計算してるから>>417の条件にも当てはまるはず。
0448デフォルトの名無しさん
2006/06/12(月) 02:02:31つまり>>416のプログラムにおける
char *hako[3];
の3は3バイトの3なのか?じゃないとテキストを変えてばぐった説明がつかない。
おれは
char *subject[3] = {"math", "phisics", "chemistry"};
と書いてそれぞれに文字列の代入をして成功している。
同じ形なのに[]の中の意味が変わるというのか?
そんなバカなことはあるまい。
はぁああああああああああ!!!!!!!!!!!!!
0449デフォルトの名無しさん
2006/06/12(月) 02:05:39そんな基本事項が分かってない奴なんているのか?
0450デフォルトの名無しさん
2006/06/12(月) 02:06:09後、状況の違うものを比較しても何にもならん
0451デフォルトの名無しさん
NGNG>としたらちゃんと代入できてるのだから、出来ないはずがない
「ちゃんと」じゃないかも知れないとは思わなかったのか。
char *subject[3] = {"math", "phisics", "chemistry"};
としておいて、テキストを
mathematics
philosophy
biochemistry
にしても「ちゃんと」代入できるのかね?
0452・∀・)っ-○◎● ◆toBASh....
2006/06/12(月) 02:08:10http://syllabus.kogaku.kyoto-u.ac.jp/syllabus/2006/e.html
0453京大生www
2006/06/12(月) 02:09:03気合入れて今作ってるプログラムを完成させてやるお。
Special Thanks 2ちゃんねらプログラム板て書いておいてやるから安心汁wwww
0454デフォルトの名無しさん
2006/06/12(月) 02:10:11ちなみに情報じゃねーから、その隣
0455デフォルトの名無しさん
2006/06/12(月) 02:11:31いつから京大はこんな無能が入れるようになったんだ?
ばかだ大学でも逝けよ。
本当にお前ごときが京大生ならさっさと
除籍してほしいと切に希(こいねが)うよ。
まかり間違っても、弁護士や公務員その他社会に影響力のある
職務につかないでね。極めて迷惑だから。
0456421
2006/06/12(月) 02:14:25もう眠いから、適当に頑張ってくれ。
Google先生に「C言語 文字列 ポインタ」などとして聞いてみるんだな。
ちなみに、最後に言っておくと、
char *hoge{N];
-> (char *)型のポインタのN個の配列
-> hoge[n] は (char *)型のポインタを表す
-> こいつに文字列を代入できると豪語するなら、
-> #include <string.h>して、
-> for(int i=0; i<N; i++)
-> strcpy(&hoge[i], "hogehoge");
-> とでもしれ。
char hoge[N][STRLEN];
-> (char *)型の配列N個に、それぞれchar[STRLEN]の先頭のポインタを格納した配列と考える。
-> すなわち、N*STRLENの二次元配列
-> 上で示した「動かないであろう」forループを試してみるがよい。
0457デフォルトの名無しさん
2006/06/12(月) 02:15:300458・∀・)っ-○◎● ◆toBASh....
2006/06/12(月) 02:15:45阪大院に行った香具師が俺に基本情報の突破法聞いてきたりwww
んなもんいまさら受けんなよwww
0460デフォルトの名無しさん
2006/06/12(月) 02:17:31でも、ヒューマンインターフェースとかやるのか…いいなぁ…
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
2006/06/12(月) 02:20:36それじゃcharへのポインタの初期値に文字列の先頭アドレスを設定しているだけでしょ。
0463デフォルトの名無しさん
2006/06/12(月) 02:22:28むやみやたらに、学校名晒すもんじゃないね
0464デフォルトの名無しさん
2006/06/12(月) 02:24:12いや、あんさんの職場こそBL入り企業なんでは?w
0465デフォルトの名無しさん
2006/06/12(月) 02:26:48まぁそろそろマ板行った方がいい
0466デフォルトの名無しさん
2006/06/12(月) 02:28:38今時そんなもの知らずにいること自体、時代遅れ。
俺が大学んときゃまだWin98が出てなかった頃だったし
パソコンを持っている生徒もほとんどおらんかったが
自分は工房のときから使ってたから操作は余裕だったが
0467・∀・)っ-○◎● ◆toBASh....
2006/06/12(月) 02:28:400468デフォルトの名無しさん
2006/06/12(月) 02:30:33なぁ〜〜にぃ〜〜!?やっちまったな!
男は黙って! 電卓! 男は黙って! 電卓!
あはっ、単純な計算しかできないよ
0469デフォルトの名無しさん
2006/06/12(月) 02:31:23fortran向けの出題で、Cでやってもいいって言ってたからおかしいのかな?
0470デフォルトの名無しさん
2006/06/12(月) 02:37:45http://pc8.2ch.net/test/read.cgi/tech/1147902222/
こっちもお願いします
0471デフォルトの名無しさん
2006/06/12(月) 06:11:43某スレのFORTRANプログラム丸写しで良ければw
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
double fx(double x) { return exp(-x * x) / sqrt(PI);}
void Daikeihou(double a, double b) {
int n, j, k;
double x, h, s;
int NJUN[] = {10, 50, 100};
printf("Sekibun for 1/sqr(PI)*exp(-x*x) a = %5.2f, b= %5.2f\n", a, b);
for (k=0; k<3; k++) {
n = NJUN[k];
h = (b - a) / n;
s = (fx(a) + fx(b)) / 2.0;
for (j=1; j<n; j++) {
x = a + h * j;
s += fx(x);
}
s *= h;
printf("Bunkatsu = %d, Menseki = %f\n", NJUN[k], s);
}
}
int main() {
Daikeihou(-1.0, 1.0);
Daikeihou(-2.0, 2.0);
return 0;
}
0472デフォルトの名無しさん
2006/06/12(月) 07:15:32[2] 問題文(含コード&リンク):32から126までの95個の整数を一元配列に格納するものとする。
これらの整数値を文字型にキャストし、10列の表形式で出力するプログラムを作成しなさい 。
なおcout<<(char)code[i]<<ch;というような形式の分をプログラムにいれること。
注:文字型は10進文字コード32から126までの文字にすること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++Compiler 5.5
[3.3] 言語: C++
[4] 期限:明日
[5] その他の制限: 反復処理の章で出された課題です。
朝早くから申し訳ありません。お願いします。
0473C++言語も面倒だ orz
2006/06/12(月) 07:41:21>cout<<(char)code[i]<<ch;
最後のchというのがよくわからなかったけども、一応作ってみた
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27895
0474デフォルトの名無しさん
2006/06/12(月) 07:43:51[2] 問題文(含コード&リンク):1+1/2i+1/3i+1/4i+..............................+1/niが3を超えるときのnの値は?
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: UltraC
[3.3] 言語: C
[4] 期限: 6/16まで
一応記しておくと、 i は階乗という意味です。分かってたらごめんなさい。
よろしくお願いします。
0475デフォルトの名無しさん
2006/06/12(月) 08:03:400476デフォルトの名無しさん
2006/06/12(月) 08:06:06> i は階乗という意味です。
分かっていないのはお前だろw
ていうか自分が何を計算しようとしているのか分かってるのか?
0477デフォルトの名無しさん
2006/06/12(月) 08:06:21!
似てると思ったけど全然違うなw
コンパイラといい、ネタでしょう
0478デフォルトの名無しさん
2006/06/12(月) 08:12:46472です。携帯から失礼します。帰宅したら確認します。ありがとうございましたm(__)m
0479デフォルトの名無しさん
2006/06/12(月) 08:13:44http://www.proton.co.jp/products/ultra-c/index.html
繰り返して言うが、自分が何を計算しているのか分からないと答えは永久に出ないぞ >>474
ていうかnは永k(ry
0480デフォルトの名無しさん
2006/06/12(月) 08:16:03パッケージに吹いたw
0481デフォルトの名無しさん
NGNGe^xをx=0の周りでマクローリン展開すると…
0482デフォルトの名無しさん
2006/06/12(月) 08:24:27インタプリタな上にOutーof-Rangeのチェックまでしてくれるのか
こんなので学習したらデバッグ方法も知らないような馬鹿が量産されるだけだろ
0483デフォルトの名無しさん
2006/06/12(月) 08:38:19…1ですが。
0484デフォルトの名無しさん
2006/06/12(月) 08:40:54言語とデバッグ方法を同時に学ぶ必要もないだろ。
0485デフォルトの名無しさん
2006/06/12(月) 08:57:540486デフォルトの名無しさん
NGNG「0の周りで」
0487デフォルトの名無しさん
2006/06/12(月) 09:08:50ただし 入力の分と秒はともに0−60とし、それ以外が入力された場合はエラーとして
戻り値をー1で返す。正常終了の場合は戻り値を0とする
また、この関数を確認するためのmain関数も作成すること
ポインタがさっぱりわかりません…
0488デフォルトの名無しさん
2006/06/12(月) 09:08:520489デフォルトの名無しさん
2006/06/12(月) 09:15:44別にポインタいらないだろ
それに>>1
0490デフォルトの名無しさん
2006/06/12(月) 09:16:49#define DATE1990 /*マクロ定義1*/
#define DATE1995 /*マクロ定義2*/
void main(void)
{
float price,total =0.0;
scanf("%f",&price); /*価格をとりこむ*/
#if DATE==1990
total = 0.03* price +price ;
printf("Tax(3%%) Total %.0f\n",total); /*画面に表示*/
#else if DATE==1995
total = 0.05* price +price ;
printf("Tax(5%%) Total %.0f\n",total); /*画面に表示*/
#endif
}
これをどうやればシンボルが定義されているかどうかを判定することによって、
処理内容を変更できるようになりますか?
0491デフォルトの名無しさん
2006/06/12(月) 09:17:47#ifdef
0492487 490 ◆QYB/K4Bs5c
2006/06/12(月) 09:21:41【環境】Visual Stdio.NET2003
【OS】Windows XP
【提出期限】6月19日
【課題内容】>>487 >>490です
よろしくおねがいします
[言語]C言語
[提出日]6月17日
[環境]Visual Stdio.NET2003
[OS]Windows XP
[問題]5名分3教科のテスト結果が5×3の配列にはいってるとき
各教科毎に点数の高い順に並び替えた配列を入力する関数と
main関数を作成せよ {2次元配列のポインタ渡し}
英語77,75,65,50,30
数学92,80,69,65,40
国語90,90,80,50,45
よろしくお願いします
即レスありがとうございます
8行目の #if を #ifdef にかえればいいということでしょうか?
0496デフォルトの名無しさん
2006/06/12(月) 10:41:13そう、大体こんな感じ
#ifdef DATE1990
...
#elif defined(DATE1995)
...
#endif
[言語]C言語
[提出日]6月17日
[環境]Visual Stdio.NET2003
[OS]Windows XP
[問題]球の半径を入力とし、算出した球の体積と
表面積を出力とする関数を作成せよ。ただし、半径0以下の値が
入力された場合はエラーとし、戻り値ー1で返すこと。
正常終了の場合は戻り値を0とする。
また、この関数を確認するためのmain関数も作成すること。
円周率は3.1415926536とし、半径Rの球の体積V、
表面積Sを求める式は次の通りである。 {ポインタ渡しによる関数呼び出し}
V=4/3πR^3 S=4πR^2
例答:半径10.0 体積4188.79 表面積1256.64
できる方がいましたらよろしくお願いします
0499デフォルトの名無しさん
2006/06/12(月) 11:45:48othello_base.cのAI_move()を宣言だけにしてこれを追加。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2031.txt
GetPeakStep(board, size, current, 8, &x, &y);
の8を大きくすれば最強の予感。
0500デフォルトの名無しさん
2006/06/12(月) 12:10:30#include <iostream>
using namespace std;
int main(){
int h , m , s;
int mts = (m * 60);
int hts = (h * 60 * 60);
loop1:
cout << "時間を入力してください>\n";
cin >> h;
if( (h >= 1) && (h < 24) ){
goto loop2;
}
else {cout << "modorichi-1\n";
goto loop1;
}
0501デフォルトの名無しさん
2006/06/12(月) 12:11:43loop2:
cout << "分を入力してください>\n";
cin >> m;
if(m < 60){goto loop3;
}
else {cout << "modorichi-1\n";
goto loop2;
}
loop3:
cout << "秒を入力してください>\n";
cin >> s;
if(s < 60){
goto end;
}
else {cout << "modorichi-1\n";
goto loop3;
}
end:
cout << "入力された時間を秒に換算すると" << (mts + hts + s) << "秒です";
return 0;
}
0502500
2006/06/12(月) 12:19:01なんか数字以外の文字を入力すると動作がおかしくなるので気をつけてください。
それでは失礼します。
0503デフォルトの名無しさん
2006/06/12(月) 12:22:40うpロダ使えって
0504デフォルトの名無しさん
2006/06/12(月) 12:26:04現在の貯金額を表示するにはどうしたら
いいですか?
0505デフォルトの名無しさん
2006/06/12(月) 12:56:495以上の数値を入力すりゃ出るが・・・それはソースを見れば分かるんでは?
自分で仕様を変えるくらいはできるでしょ?
0506デフォルトの名無しさん
2006/06/12(月) 12:59:570507デフォルトの名無しさん
2006/06/12(月) 13:02:52自分で試すチャレンジ精神もないクズしか質問してこないのか?
せめてソースを見て理解するくらいの気持ちは欲しいもんだな
0508デフォルトの名無しさん
2006/06/12(月) 13:07:160509その1
2006/06/12(月) 13:17:03[2] 問題文(含コード&リンク):二分探索でデータを見つけるプログラムを作
成し,実行せよ.ただし,以下の仕様を満たすものとする.
<仕様>
1.対象とするデータ構造は,
struct SportsClub kaiin[] = { 555, "Yuki TERADA", 222, "Kaho KANO",
789, "Yuko FUKUDOME", 444, "Seiko ANDO",
456, "Mai YUKAWA", 666, "Kyoko KAMIDOHZONO",
123, "Yuasa OKADA", 777, "Aya SAKATA",
111, "Yua SAITOU", 333, "Noriko KIJIMA",
569, "Shihori YOKOHARI", 689, "Chieko NOGUCHI",
345, "Ikuko OURA", 994, "Airi TAKASAKI",
103, "Mizuna INOUE", 888, "Yuna SATONAKA"
};
と初期化すること.また,この構造体は,
struct SportsClub
{
int id_num;
char name[80];
};と定義すること.
0510その2
2006/06/12(月) 13:17:37する.次に,クイックソートで上記データ構造を会員番号(id_num)にしたがっ
て昇順に並べ替えるとともに,その結果をsorted_kaiin.dat(ASCII 型式)に保
存する.ただし,クイックソートは,標準ライブラリ関数を用いず,各自作成
すること.
3.sorted_kaiin.dat を構造体配列kaiin2[KAIIN_NUM]に読み込み,これを二分
探索に用いる.ただし,本課題の場合,KAIIN_NUM は16 である.
4.二分探索は,会員番号を打ち込めば,該当する氏名を表示させるものとす
る.また,会員一名分の情報を表示させた後,終了・続行の希望を使用者に質
問させ,回答を基にその後動作を決定させること.
<入出力例>
Please input ID#: 123
ID#:123 Name:Yuasa OKADA
Continue? y/n: y←続けるとき,y を打ち込む
Please input ID#: 0
Not found!
Continue? y/n: y
Please input ID#: 345
ID#:345 Name:Ikuko OURA
Continue? y/n: n←これで終了
[3] 環境
[3.1] OS: linux red hat
[3.2] コンパイラ名:gcc
[3.3] 言語: C+
[4] 期限:6/20
[5] その他の制限:ながながと問題文を書いてすみませんどうかおねがいしますorz
0511デフォルトの名無しさん
2006/06/12(月) 13:44:13出題者教授か?問題がおかしいと思うが
0512デフォルトの名無しさん
2006/06/12(月) 13:57:07なぜその内容でポインタ渡し…
0513デフォルトの名無しさん
2006/06/12(月) 14:07:51って、まだ新学期が始まったばかりだがw
0514デフォルトの名無しさん
2006/06/12(月) 14:08:39知らない単語がいっぱいあるので
ちゃんと調べてレポート書こうと思います
トーナメントが実際あったら結果は報告します
ありがとうございました
0515デフォルトの名無しさん
2006/06/12(月) 14:10:09換算する関数に不適切な値を引き渡した場合に -1 を戻すなら、結果は-1秒って表示するわけ?
もしそうだったら、正常な値を引き渡した場合、秒数を返り値にするとなれば、
換算する関数の正常終了時には 0 しか返って計算結果が出せないのだがw
変数の定義をグローバルにすれば良いけど、もっと出題の条件をはっきりしてもらいたい。
0516デフォルトの名無しさん
2006/06/12(月) 14:50:49[2] 問題文 正の整数を読み込み、その整数が素数かどうかを調べる
プログラムを作成せよ。
[3] 環境
[3.1] OS:windows XP
[3.2] gccでした。
[3.3] 言語: C言語なんですが違いがわかりません><おそらくCの方かと。。
[4] 期限:今日中でお願いします(_ _*)
[5] その他の制限:専門学校に通う1年生なんですヶど。。
いきなりプログラミングの問題が出題されてしまぃ、
友達と共に凄く困ってます(;〜;)どなたか優しぃ方お願ぃします(┰_┰)∩
0517デフォルトの名無しさん
2006/06/12(月) 14:51:580518デフォルトの名無しさん
2006/06/12(月) 15:00:51int main(){
printf("****入力値が素数かどうか調べるプログラムだよ!***\n");
printf("正の整数を入力してね : ");
getchar();
printf("調べました(^_^)。\n");
return 0;
}
0519デフォルトの名無しさん
NGNG同じ問題3回目。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2010.txt
0520デフォルトの名無しさん
2006/06/12(月) 15:01:28ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2032.cpp
数日前に俺が作った、初心者がやりそうな初歩的なやり方で良ければどぞw
0521516
2006/06/12(月) 15:09:51チェリー諸君thanks!
0522名無し
2006/06/12(月) 15:12:43[1] 授業単元: c言語 演習
[2] 問題文(含コード&リンク):
選択整列法のプログラム 6.2.c に関し,内側の反復の中で
変数 min が更新される回数の
平均が O(N log N) であることを証明せよ。
注:入力にはN 個の相異なる値のすべての順列 (permutation) が等確率で
現れるとして,この平均を考えよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:gcc 3.3.2
[3.3] 言語: c言語
[4] 期限: 期限外でもいちお評価はひくくなりますが受け取ってくれるそうなんですが、期限は今日の夜0:00までです。↓
プログラム6.2.cというのは、以下のページにあります.このプログラムは、6.1.cと
組み合わせることでコンパイルできます。どうかおねがいします。
http://kk.kake.info.waseda.ac.jp/ads06/0530/0530-ch6.html
0523デフォルトの名無しさん
NGNG√n以上を調べるのは初心者とか以前の問題かと。中学生未満。
0524デフォルトの名無しさん
2006/06/12(月) 15:15:53またお前かw それじゃ√nにしたソースを提出してみ。
お前のあの長々としたものじゃなくて、もっとシンプルのでな。
だいたい、それを求める場合 math.h と sqrt を使うだろ?
最初にヘッダについてや関数についてそこまで習っているかどうか・・・
0525デフォルトの名無しさん
2006/06/12(月) 15:16:54[2] 標準入力から文字を読み込んで特定の文字の連続たとえばowari
を入力した場合終了するようなプログラムを作成
[3] 環境
[3.1] xp
[3.2] gcc 3.4
[3.2]C
[4] できればすぐがいいです。
よろしくお願いします!
0526デフォルトの名無しさん
2006/06/12(月) 15:17:34入力された値が素数かどうか?だぜ?
0527デフォルトの名無しさん
NGNG>>519のも無論√nまでしか調べないわけだが。
http://c-kadai.sakura.ne.jp/index.php?catid=9&blogid=1
>だいたい、それを求める場合 math.h と sqrt を使うだろ?
>最初にヘッダについてや関数についてそこまで習っているかどうか・・・
習ってないと何か問題でもあるのか?
0528デフォルトの名無しさん
NGNGだから、√(入力された値)までの間に約数がなければ入力された値自体が素数。
そんなのは中学生でも知ってる。
0529デフォルトの名無しさん
2006/06/12(月) 15:22:17別に。習ってないなりの範囲内でやってやったまでだよ。
初心を忘れるべからず。まさに今のあんたにゃ相応しいかもな。
無駄なものを取り込むようになったら、何が必要かもわかりづらくなるぜ。
ソースはすっきりしてた方が良いだろ。初心者向けには、ね。
まぁ、お互いの考え方について議論しても意味はない。結果を出せるソースがありゃ良いだけだしな。
自分がもっと上を行っているって見せつけたいなら、こんな場所で
ソースを理解できない奴を相手にするよりも、もっと玄人が集まる場所に顔を出してみては?
0530デフォルトの名無しさん
2006/06/12(月) 15:22:45#include <stdio.h>
#include <string.h>
int main(void)
{
char a[50];
while (1){
gets(a);
if (strcmp(a,"end")==0){
return 0;
}
}
}
0531デフォルトの名無しさん
2006/06/12(月) 15:23:00だからそのソースを出してくれって言っているんだが?
何度も言わないぞ。1〜nまでの素数を求めるんじゃない。
入力された値が素数かどうか?だぜ?
0532デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
int main(void){char tmp[100]={'\0'};while(strcmp(tmp,"owari"))fgets(tmp,sizeof(tmp),stdin);return 0;}
0533デフォルトの名無しさん
NGNG「√nまでしか調べない」のどこがどう無駄なんだ?
本当に中学生未満なのか?
0534デフォルトの名無しさん
NGNG>>519ので何か問題あるのか?
0536デフォルトの名無しさん
2006/06/12(月) 15:28:04理解できない厨房相手に理解させるソースを提示することは無理。
相手が英語しか理解できないのに、日本語で難しい理論を言っても無駄だぜ?
だったら簡単な英語でも意図が伝わる内容を簡略に示すべきだね。
それがロークォリティ
0537デフォルトの名無しさん
NGNGバカに配慮する必要はないし。
0538デフォルトの名無しさん
2006/06/12(月) 15:31:26君に無意味なでしゃばりは良いとしても、間違いを提示していない者に対して
自分の方がもっと上だぜーーーーはっはー といわんばかりの煽りは止めてもらいたい。
所詮相手は初心者。シンプルなソースから理解させてもなんら問題はないだろ。
0539デフォルトの名無しさん
2006/06/12(月) 15:34:070540デフォルトの名無しさん
NGNGそれがウザいのはお前がバカだから。
バカにされるのが嫌なら来るなよ。
>間違いを提示していない者に対して
nが素数かどうかを調べるのに√n以上の約数を当たるのは明らかに「間違い」だ。
>所詮相手は初心者。シンプルなソースから理解させてもなんら問題はないだろ。
ここは「理解させる」のが目的のスレではない。
0541デフォルトの名無しさん
2006/06/12(月) 15:36:43問題なのは、ソースの単純さを犠牲にして効率を上げるのを
無条件に善と信じこんだ挙げ句、それを他人にまで強制する態度。
0542デフォルトの名無しさん
2006/06/12(月) 15:37:15>間違い
はい、出ました、自分勝手な判断基準。適切と不適切の違いも分からんのね。
だからソースを示せば話は早いってアレほど言っているのに、未だにあんたは
入力された値が素数かを√nを使ったソースを出していないわけだがw
0543デフォルトの名無しさん
NGNGソースの単純さがどこで犠牲にされてると?
ループの最大値がnから√nになると単純じゃなくなるのかね?
0544デフォルトの名無しさん
NGNG>>519のリンク先にあるだろ。バカの上にメクラか?
0545デフォルトの名無しさん
2006/06/12(月) 15:38:51どうやら日本語の使いかたが平均的な人とずいぶん違うようですね。
迷惑なので余り発言しないでください。
0546デフォルトの名無しさん
2006/06/12(月) 15:40:10http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2010.txt
別に俺は押し付けはしない。初歩的なやり方を示したまで。
俺は既にsqrtを使うならmath.hが必要だといったが
初心者が最初に習うことなんて、stdio.hをおまじない程度に書くといった程度で
ヘッダなどが既に定義されて、リンクされているなんて教え込ませても
理解するにはまだ経験が不十分だろうって配慮をしたまでよw
0547デフォルトの名無しさん
2006/06/12(月) 15:41:03<math.h>のinclude
sqrtの呼び出し
sqrtの結果を入れる変数を用意して、初期化。
元のコードが短いだけに、これは十分複雑さを加えてると言えるだろ。
0548デフォルトの名無しさん
2006/06/12(月) 15:41:28少なくともお前の示したソースは無駄に長い。
あれだって計算で求める素数の羅列だろ?明らかにお前の方が無駄じゃん。
0549デフォルトの名無しさん
NGNG宿題丸投げするクズの理解だの経験だのなど配慮したい奴こそ余所へ行け。
0550デフォルトの名無しさん
NGNGその程度で「複雑だ」と思うような奴はプログラム以前の問題。
それこそ中学生未満。
0551デフォルトの名無しさん
NGNG「長さ」と「複雑さ」の区別が付かないバカですか?
0552デフォルトの名無しさん
2006/06/12(月) 15:47:05おまえの頭には「複雑なコード」と「複雑でないコード」の二つしかないのか?
もともと必要なかった関数呼び出しが増えている時点で複雑さが増えたのは自明。
0553デフォルトの名無しさん
2006/06/12(月) 15:50:05少なくとも低レベルな学生向けには、だがw
あと、何度も言わないぞ。お前の提示しているソースは
入力された値までの素数を表示するんであって、入力した値が素数かを判別していない。
それからやたらと中学生中学生って言うけど、お前はプログラム言語は良いとしても
コミュニケーションランゲージまではまともに理解していないみたいだな。
二度といわんぞ。ここは宿題を丸投げしたって自分も言っているのに
何でお前の主張をする場になってんだ?それこそ本末転倒。失せろ、自己主張が強いだけの
無駄な人間めw
お前のソースを採用する初心者がどうとか関係ない。単にお前の主張がうざい。
論より証拠、お前のソースを書き換えて、入力された数値までの素数を求めるんじゃなくて
入力した数値が素数かを判別するプログラムにしてから出直した方が良いよ。
前に依頼した人のだって、お前のソースは問題の意図を外してたんだしw
0554デフォルトの名無しさん
NGNG>もともと必要なかった
という前提自体が間違い。必要な物が欠けていただけ。
0555デフォルトの名無しさん
NGNG>入力された値までの素数を表示するんであって、入力した値が素数かを判別していない。
IsPrimenumberという関数が何をしているかわかりまちゅか〜?
0556デフォルトの名無しさん
2006/06/12(月) 15:53:42俺はわかっているが、お前のソースが入力した値が素数かを判別する
という意図を無視していることには変わりはないんだがw
0557518
2006/06/12(月) 15:56:050558デフォルトの名無しさん
2006/06/12(月) 15:56:59つまらん屁理屈をこねるのは止めてくれ。
sqrtを呼ばないで正しい結果を返すソースがあるのは事実だろ?
0559デフォルトの名無しさん
2006/06/12(月) 15:57:040560デフォルトの名無しさん
2006/06/12(月) 15:57:05の入出力のシステムコールを使うこと。」
って問題でたんだけど、誰かわかりますかね?
0561デフォルトの名無しさん
2006/06/12(月) 15:57:50必死だな(プ
0562デフォルトの名無しさん
NGNG「入力した値が素数かを判別する」という仕様を満たした関数が含まれているので、
「入力した値が素数かを判別するプログラムを作れ」という要件は成立している。
main関数の機能は特に要件に含まれていないからな。
0563デフォルトの名無しさん
NGNG中学生レベルの数学を無視した実装をバカにしてるだけ。
0564デフォルトの名無しさん
2006/06/12(月) 16:01:450565デフォルトの名無しさん
2006/06/12(月) 16:05:14答えになってない。
単純化のために中学生レベルの数学を使わないという判断を尊重しろと言ってんだよ。
0566デフォルトの名無しさん
2006/06/12(月) 16:07:53sqrtを使わない初歩的なやり方の提示に対して、ちょっと悪質な難癖をつけすぎ。
自分の主張がそれで覆されたり否定されるわけでもないだろ?
中学生中学生ってうるさい。既に素数の求め方は知っているんだよ。
問題はC言語でそれを実行するには、どういう手段があるか?
相手への配慮を踏み潰すような悪質な意見は止めたまえ。
0567デフォルトの名無しさん
NGNGじゃあ訂正。
中学生レベルの数学を無視したくらいで単純化されてると思ってるようなバカを
バカにしてるだけ。
0568デフォルトの名無しさん
NGNG必要のない配慮を踏みつぶしても何の問題も無かろう。
0569デフォルトの名無しさん
2006/06/12(月) 16:11:01関数呼び出し一個の省略だって単純化は単純化だ。
これが理解できないなら救いようがないな。
0570デフォルトの名無しさん
2006/06/12(月) 16:11:46>必要のない配慮
それがお前の勝手な判断基準だっつってんだよ、いい加減うざい。
お前のは勝手すぎる悪質な嫌がらせ。通報するよ?
0571デフォルトの名無しさん
NGNG「関数呼び出しを省略すると単純になる」という妄想はどこから沸いたのかね?
0572デフォルトの名無しさん
NGNG必要だというなら根拠を示せよ。
0573デフォルトの名無しさん
2006/06/12(月) 16:15:51わかった。理解できないならしなくていい。
その代わり、「sqrtの呼び出しの省略を単純化とみなす立場がある」ことを尊重してくれ。
0574デフォルトの名無しさん
2006/06/12(月) 16:15:55少なくとも、素数かどうかの判別を無視した、入力した値までの素数を
無駄に表示する方が、算出する時間以外に表示する時間も掛かって無駄だって分かるから。
少なくとも他人のソースにケチをつけるスレじゃない。
それがわかっていない性帝トーマス氏の方が理解されないだろ。
自分がすべてみたいな、自己中の方が必要ない。
所詮丸投げのスレだって理解しているなら、後は質問者がどっちを選ぶかは自由じゃん。
その自由すら自分勝手な意見で踏み潰してんじゃん。気づけって。
0575デフォルトの名無しさん
2006/06/12(月) 16:17:33「必要」とは言っていない。お前が必要ないと勝手に判断しただけ。
そのお前の判断基準における「不要」という意見を押し付けるなって言ってんだが?
お前の無駄なソースの方が質問者にとっては必要とされないと思うけど?
あと、何度も言わせるな。質問したものの意図を無視した結果こそ不要。
お前のは判別じゃなくて入力した値までの素数の表示するプログラムだったろ?
確かに素数を導き出すアルゴリズムはあれど、結果が問題の意図を無視している。
0576デフォルトの名無しさん
2006/06/12(月) 16:17:57なんか盛り上がってるな
お前らそんなに暇何?
0577デフォルトの名無しさん
NGNG>その代わり、「sqrtの呼び出しの省略を単純化とみなす立場がある」ことを尊重してくれ。
>>567
>>574
>少なくとも、素数かどうかの判別を無視した
>>555
0578デフォルトの名無しさん
2006/06/12(月) 16:22:29他人を否定しかしない人は放置で。質問した人は、自分で結果を見て選んで下さい。
所詮、丸投げに答えるだけのスレですからw
0579デフォルトの名無しさん
2006/06/12(月) 16:23:100580デフォルトの名無しさん
NGNG>お前の無駄なソースの方が質問者にとっては必要とされないと思うけど?
何度も言うが、質問者が必要としているかどうかなんて問題ではない。
>お前のは判別じゃなくて入力した値までの素数の表示するプログラムだったろ?
判別はIsPrimenumberがやっている。IsPrimenumberだってプログラムだろ。
「入力した値までの素数の表示」が必要なければmainをそのように書き換えればいい
だけの話。mainの仕様は与えられていないんだからそこまで面倒見る必要はない。
0581デフォルトの名無しさん
2006/06/12(月) 16:25:060582デフォルトの名無しさん
NGNG>「必要」とは言っていない。お前が必要ないと勝手に判断しただけ。
必要である根拠がないなら不要だな。
0583デフォルトの名無しさん
NGNGhttp://be.2ch.netを半年ROMるといいお^^
0584デフォルトの名無しさん
2006/06/12(月) 16:26:28自分の意見を相手の意見の否定に使うから悪い。
逆に相手を否定して自分を肯定するから余計に理解されない。
0585デフォルトの名無しさん
2006/06/12(月) 16:27:12推奨NGワード : ?#
0586デフォルトの名無しさん
2006/06/12(月) 16:27:35これであってる?
0587デフォルトの名無しさん
NGNG必要でないなら「不要」と判断しても何の問題もないって事だろ。
不要と判断して問題があるならその根拠を。
0588デフォルトの名無しさん
NGNGバカに配慮してもバカじゃない人が不幸になるだけなのでバカに配慮する必要はない。
0589デフォルトの名無しさん
2006/06/12(月) 16:30:01そう、まさに >>523 これ。自分勝手な判断基準における初心者という基準まで持ち出したし。
中学生で平方根を習えど、C言語でそれを使うには・・・ってところまで配慮しなくても良いという
まさに自分勝手。そして配慮しろとは誰も言っていないのに、配慮する「必要がないから」
と言い出す始末。まさに自分勝手。配慮した覚えがなくても、シンプルな方を選んで問題なし。
0590デフォルトの名無しさん
2006/06/12(月) 16:30:060591デフォルトの名無しさん
2006/06/12(月) 16:31:070592デフォルトの名無しさん
2006/06/12(月) 16:31:272ch専用ブラウザを使ったら?俺はもうNGに指定したから
後は何をほざこうが知ったこっちゃないけどな。
0593デフォルトの名無しさん
2006/06/12(月) 16:31:31「バカに配慮してもバカじゃない人が不幸になるだけ」という根拠は?
0594デフォルトの名無しさん
2006/06/12(月) 16:32:41初心者に配慮していると勘違いしているとも気づいてないわけでw
0595デフォルトの名無しさん
2006/06/12(月) 16:34:55ttp://www5b.biglobe.ne.jp/~suugaku/mahouhinn/demo001.html
0596デフォルトの名無しさん
NGNGmath.h使えないなら平方根の計算も自分で実装すればいい。
これも高校生レベル。第5項くらいまでやれば素数判定に必要な精度には充分。
double tinysqrt(double n){double x=n;int i;for(i=0;i<5;i++)x=(x+n/x)/2;return x;}
0597デフォルトの名無しさん
NGNGバカに配慮してもバカが治るわけではないから、配慮の分だけバカでない人にしわ寄せが行く。
0598デフォルトの名無しさん
2006/06/12(月) 16:38:07プログラムの良し悪しなんざ、所詮は効率
俺が選ぶとしたら、トーマスのなんだけどね…
だけど、人のソースにケチつける必要はないし、自分の考えを押し付ける必要もないとオモタ
0599デフォルトの名無しさん
2006/06/12(月) 16:38:22sqrt使った方がマシだよw
0600デフォルトの名無しさん
2006/06/12(月) 16:38:260601デフォルトの名無しさん
2006/06/12(月) 16:40:150602デフォルトの名無しさん
2006/06/12(月) 16:41:18まぁ、算出に掛かる時間を考慮したら、俺が出したものなんてアホなほど無駄だと分かっているけどねw
丸投げする人相手に、適当にやっているんだが、アソコまでしつこく「中学生以下」とか
難癖をつけられるとは思わなかったよw
別に俺が中学生レベルってわけじゃないんだけど、ちょっとカチンッとくるね。
どうせ、判別に使う数値なんて、何百万、何十億といった値の大きいもんじゃないだろうから
初歩的にあの程度で、って書いたまでだが・・・
0603デフォルトの名無しさん
2006/06/12(月) 16:43:15[2] 問題文(含コード&リンク):
1) 与えられた2×2正方行列の固有値を計算するプログラムを作成せよ。
2) 与えられた3×3正方行列の固有値を計算するプログラムを作成せよ。
3) さらに、与えられた正方行列の次数がいくつでもよいようにするにはどうしたらよいか?
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++Compiler
[3.3] 言語: C言語
[4] 期限: 6月20日まで
sqrtを使ってシコシコと作ってたんですがうまくいきません、というか数学関数の使い方すらよくわかりません。
どうか、よろしくお願いします。
0604デフォルトの名無しさん
2006/06/12(月) 16:49:27[2] 問題文(含コード&リンク): n!=1*2*…n-1*nと定義する。
n!>32000となる最小のnと、その時のn!の値を算出するプログラムをwhile文を用いて作成せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:Visual Stdio2005
[3.3] 言語: C++
[4] 期限:今日中です…。
[5] その他の制限: 特にありません。
いきなりですが、宜しくお願いしますm(_ _)m
0605デフォルトの名無しさん
NGNGだからsqrt使ったわけだが。
math.hもsqrtも習って無くても「平方根を使わない」理由にはならないことを示しただけ。
何度も言うが素数判定に平方根が必要なのは中学生レベル。
0606デフォルトの名無しさん
2006/06/12(月) 16:55:59('A`) メガネメガネ
ノ ノ)_
0607デフォルトの名無しさん
2006/06/12(月) 16:57:11#include<stdio.h>
int main(){
int n = 1, a = n;
do{
n++;
a *= n;
}while(a <= 32000);
printf("n = %d n! = %d", n, a);
}
空気を読まないでゴメンネ
0608デフォルトの名無しさん
2006/06/12(月) 17:00:17っつーわけで俺もw
>>604
#include <iostream>
using namespace std;
int main() {
int i=1,x=1;
while(x<32000) {
x*=++i;
}
printf("32000を超えるのは %d\!\n", i);
printf("%d\! = %d",i,x);
return 0;
}
0609デフォルトの名無しさん
2006/06/12(月) 17:02:150610デフォルトの名無しさん
2006/06/12(月) 17:02:170611デフォルトの名無しさん
NGNGバカに配慮してもバカは治らない。
配慮する側はバカではないので、バカでない人の労力が無駄になる。
0612デフォルトの名無しさん
2006/06/12(月) 17:04:51#include <iostream>
using namespace std;
int main() {
int i=1,x=1;
while(x<32000)
x*=++i;
cout << "32000 を超えるのは " << i << "\!\n";
cout << i << "\! = " << x;
return 0;
}
0613デフォルトの名無しさん
2006/06/12(月) 17:05:41/ , ヽ_ ,
l ,| |/ハヽゝ_ゞソ 〜 0 -
_ | (| | -‐ ‐-| |´___ `
| |. lハl| | ''' ヮ''ノN | | おちつこうね〜
| | {|.つ[_]とl} | |
(.二二ん/⌒l⌒l二二二.)
/ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ {__|) ̄ ̄ ヽ、
lニニニニニニニニニニニニニニニl
0614デフォルトの名無しさん
2006/06/12(月) 17:05:490615デフォルトの名無しさん
2006/06/12(月) 17:06:010616デフォルトの名無しさん
2006/06/12(月) 17:07:40「バカでない人の労力が無駄になる」の根拠は?
0617デフォルトの名無しさん
2006/06/12(月) 17:08:34分からない奴には少しでも分かるような指導が必要。
分からない奴を分からないまま放置すると、とんでもないアホが社会に出てくるから
犯罪とか絶えないんだよ。自暴自棄で他人を巻き込む奴は別として。
0618デフォルトの名無しさん
2006/06/12(月) 17:08:59早い回答、本当にありがとうございます。
do-whileはこの問題と同じ授業で習っているのでそれでも大丈夫だと思います。
ただ心配なのが担任の先生がチャネラー(と思われる)でこのスレを見てるかもしれないということです…。
トリップに担任の苗字書きました(もし先生見てるなら大目に見てくださいw)
0620デフォルトの名無しさん
2006/06/12(月) 17:09:360621デフォルトの名無しさん
NGNGバカが治った実績が存在しないから。無い物は証明できないのでこれ以上は悪魔の証明。
無論「バカが治った実例」を挙げてくれれば撤回する。
0622デフォルトの名無しさん
NGNG>分からない奴には少しでも分かるような指導が必要。
少なくとも、宿題を丸投げしない奴には指導が必要だが、宿題を丸投げするクズは
分かろうとする気がないので指導するだけ無駄。
0623デフォルトの名無しさん
2006/06/12(月) 17:23:41幼稚なソースでも結果が導ければおkだろ?
そこを理解していないのがあんたなんだよw
丸投げって分かってて、自分のものしか押し付けないだけでなく
他人のソースを否定しかしないからダメなんじゃん。それは
質問者への態度とか関係なく、ご自身の人間性じゃね?
0624デフォルトの名無しさん
NGNGお前もしつこいな。mainだけ書き換えりゃいいだろが。
int main(void){char tmp[100];int n;fgets(tmp,sizeof(tmp),stdin);n=atoi(tmp);
puts(IsPrimenumber(n)?"素数":"素数じゃない");return 0;}
0625デフォルトの名無しさん
NGNG間違いを積極的に否定すると何か問題でも?
0626デフォルトの名無しさん
2006/06/12(月) 17:29:06まぁ、そのくらいのありきたりな計算を求めるプログラムなんて
似たようなものがいくつもあるから。自分なりのやり方で書き直すとかしとけばおk。
0627デフォルトの名無しさん
2006/06/12(月) 17:29:36ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2034.txt
0628デフォルトの名無しさん
2006/06/12(月) 17:30:09[2] 問題文(含コード&リンク): 9×9の2次元配列を用意し座標に見立てる,ゴール座標を1ヵ所設定し,ゴール以外の座標には,ゴールからの距離の2乗を計算して入れる.
キーボードから座標を入力し,ゴール以外の場合は,配列に格納してあるゴールからの距離の2乗の値を表示する.
ゴールの座標が入力されたら,入力回数と,得点を表示する.得点は,1回目100点,2回目80点,3回目60点,4回目40点,5回目20点,6回目以降0点とする(今回は正解するまで続ける.)
ただし,配列は,
int dist[9][9];
とする.(要素は81個しか持ってはいけない.)
なお,ゴールの座標は自由に決めてよい.
[実行結果]
座標を入力してください(X Y): 3 5
距離 20 です.
座標を入力してください(X Y): 8 6
距離 2 です.
座標を入力してください(X Y): 7 7
!!! 3 回目で大当たり!!!
得点は,60点です
[3] 環境
[3.1] OS: (Windows [3.2] VisualStdio.net2003
[3.3] 言語: C
[4] 期限: 6月16日
[5] その他の制限: よろしくお願いします
0629デフォルトの名無しさん
2006/06/12(月) 17:30:48一部の人間の所為で…
0630デフォルトの名無しさん
2006/06/12(月) 17:33:12なんか、以前、求める値が予想値より上か下かの問題を出した奴の
応用っぽい内容だが・・・
0631デフォルトの名無しさん
2006/06/12(月) 17:39:54まあな。だが自分の論がどれだけ客観的であるかを確認する一つの方法だ。
>>621
「実績が存在しなければ何故ありえないといえるのか?」
コロンブスを例にとるまでもなく、過去に実績が無い事と実際に不可能な事とは別に考えないと。
>>629
まあ、>>574みたいに正論が言えるやつもいるよ。
なるほど。勉強にもなるので書き直してみます。
アドバイス、ありがとうございます。
0633デフォルトの名無しさん
NGNG「あり得ない」なんて主張してないだろ。
「実績がないから不要」と言ってるだけだ。
0634627
2006/06/12(月) 17:57:55俺が頑張った時間はなんだったんだよ。
初めてソース晒してどんな反応来るかドキドキしてた俺が馬鹿みたいだろ。
0635デフォルトの名無しさん
2006/06/12(月) 18:07:43今はそういう状況じゃないから
0636デフォルトの名無しさん
2006/06/12(月) 18:08:18「あらかじめ素数を入力して判定を加速する」とか
そういうものは含まれないと思うんだけど、どうよ?
そういうことが自力でできるやつはボーナス点でもあげればいいが(俺ならあげる)、
ここに駆け込んでる時点でそんな資格はないしなぁ。
>>634
27は素数じゃない!
0637デフォルトの名無しさん
NGNG素数テーブルを27までしか持たない意味が分からない。
たったそれだけなら無い方がマシ。√とかそれ以前の問題。
0638デフォルトの名無しさん
2006/06/12(月) 18:12:26なんなんだお前。目的履き違えてないか。
0639デフォルトの名無しさん
NGNGそういう問題の出し方もあるにはある。
http://pc8.2ch.net/test/read.cgi/tech/1149349035/50
0640デフォルトの名無しさん
NGNG素数をテーブルで持つ場合は入力の範囲に依存するに決まってるだろ。
0641デフォルトの名無しさん
2006/06/12(月) 18:17:36# include <stdio.h>
void init_dist(int (*dist)[9])
{
int i, j;
for(i = 0; i < 9; i++)
for(j = 0; j < 9; j++)
dist[i][j] = (i-2) * (i-2) + (j-6) * (j-6);
}
int main(void)
{
int dist[9][9];
int i;
init_dist(dist);
for(i = 0;; i++)
{
int x, y;
printf("座標を入力してください(X Y): ");
scanf("%d%d", &x, &y);
if(dist[x][y])
printf("距離 %d です.\n", dist[x][y]);
else
{
printf("!!! %d 回目で大当たり!!!\n得点は%d点です\n", i + 1, i >= 6 ? 0 : 100 - i * 20);
return 0;
}
}
}
0642デフォルトの名無しさん
2006/06/12(月) 18:17:55_,,.旦_ ∧,,.∧
./ ・ω・ヽ ./・ω・ ヽ
l l ζl l
`'ー---‐´ 旦`'ー---‐'′
〜ただいま休憩中〜
0643デフォルトの名無しさん
2006/06/12(月) 18:22:33ありがとうございます。ホントに感謝してます!!
0644デフォルトの名無しさん
2006/06/12(月) 18:26:120645デフォルトの名無しさん
2006/06/12(月) 18:33:550646デフォルトの名無しさん
2006/06/12(月) 18:39:006/20までなのに急かすな
3x3はうまくいくことを前確認した
0647デフォルトの名無しさん
2006/06/12(月) 18:44:18確かに・・
0648デフォルトの名無しさん
2006/06/12(月) 18:44:480649デフォルトの名無しさん
NGNGまんどくせ。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define ep (0.000001)
double sign(double x){return (x>0)?1.0:(x<0)?(-1.0):0;}
int main(void){int n,i,j,k,l;size_t size;char tmp[100];
double **r,r1,r2,r3,**v,rp,rm,am,w,c,s,v1,v2;
printf("行列の次数:");fgets(tmp, sizeof(tmp), stdin);n=atoi(tmp);
size=sizeof(double)*n*n;r=(double**)malloc(size);v=(double**)malloc(size);
for(i=0;i<n;i++)for(j=0;j<n;j++){printf("(%i,%i)=",i,j);
fgets(tmp,sizeof(tmp),stdin);r[i][j]=atof(tmp);}
for(i=0;i<n;i++){for(j=0;j<n;j++)v[i][j]=0;v[i][i]=1;}
while(1){am=(double)INT_MIN;for(i=1;i<n;i++)for(j=0;j<i;j++)if(fabs(r[i][j])>am)
{am=fabs(r[i][j]);k=i;l=j;}if (am<ep) break;r1=r[k][l];r2=r[k][k];
r3=r[l][l];rp=(r2+r3)/2;rm=(r2-r3)/2;w=sqrt(pow(r1,2)+pow(rm,2));
c=sqrt((1+fabs(rm)/w)/2);s=((rm==0.0)?-1:(-sign(rm)*r1/w))/(c*2);
for(i=0;i<n;i++){r2=r[i][k];r3=r[i][l];r[i][k]=r[k][i]=r2*c-r3*s;
r[i][l]=r[l][i]=r2*s+r3*c;v1=v[i][k];v2=v[i][l];
v[i][k]=v1*c-v2*s;v[i][l]=v1*s+v2*c;}
w=rm*(fabs(rm)/w)-r1*(fabs(rm)/w);r[k][k]=rp+w;r[l][l]=rp-w;
r[k][l]=0;r[l][k]=0;}printf("固有値 ");for(i=0;i<n;i++)printf("%f ",r[i][i]);
putchar('\n');return 0;}
0650 ◆Hu5kXyhYsw
2006/06/12(月) 19:08:51[2] 問題文:小学校のあるクラスの成績処理を行うプログラムseiseki.cを作成せよ。
(1)生徒1人に対し、生徒番号(整数)、生徒氏名(10文字以内の文字列)、国語、算
数、理科、社会の得点(整数)をメンバとしてもつ構造体タグStudentData
を定義せよ。
(2)seiseki.cにおいて、生徒数を実行時に入力して構造体配列を動的
割当てをできるようにしたseiseki2.cを作成せよ。
・(1)+(2)+各教科の平均を求めるプログラムを作成せよ。
[3] 環境
OS:UNIX
言語:C
[4] 期限:2006年6月13日17:00まで]
よろしくお願いします
0651デフォルトの名無しさん
2006/06/12(月) 19:56:480652デフォルトの名無しさん
2006/06/12(月) 20:02:25もしかして、単に答えの座標に当たる配列要素に1を入れて
残りは外れってことで0を入れるようにしろとか指定はなかったんだろうか?
0653デフォルトの名無しさん
2006/06/12(月) 20:07:09[2]開発コンパイラ:Visual Studio.NET2003
[3]OS:Windows XP
[4]提出期限:6月13日
[5]問題内容
次のプログラムを変更して、2つの硬貨を投げて、
どちらも表になる確率を求めるプログラムを作成せよ。
【プログラム】
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2036.txt
よろしくお願いします。できればUPローダにUPしてもらうと助かります。
0654デフォルトの名無しさん
2006/06/12(月) 20:10:45>ゴール以外の座標には,ゴールからの距離の2乗を計算して入れる.
0655デフォルトの名無しさん
2006/06/12(月) 20:13:45あっ、なるほど。つまらぬ質問ですんまそ。
0656デフォルトの名無しさん
2006/06/12(月) 20:25:05[2] 問題文(含コード&リンク):1から10までの整数の積と和を求め、その結果を
表示するプログラムをfor()文を使用して書け。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日
[5] その他の制限: 問題文の通りです。
0657デフォルトの名無しさん
2006/06/12(月) 20:30:49main(){
int a, b[] = { 55, 5050};
for(a = 0; a < 2; a++)
printf("%d\n",b[a]);
}
0658デフォルトの名無しさん
2006/06/12(月) 20:34:44int main(){
int i, data[] = {1*2*3*4*5*6*7*8*9*10,1+2+3+4+5+6+7+8+9+10};
for(i=0;i<sizeof(data)/sizeof(data[0]);i++) printf("%d\n",data[i]);
return 0;
}
0659デフォルトの名無しさん
2006/06/12(月) 20:37:085050てなんだw
0660デフォルトの名無しさん
2006/06/12(月) 20:37:08void main() {
int i, sum1=0, sum2=1;
for(i=1;i<=10;i++) {
sum1+=i;
sum2*=i;
}
printf("和は%d、積は%d\n", sum1, sum2);
}
0661デフォルトの名無しさん
2006/06/12(月) 20:39:38#include <stdio.h>
#define x 10
int main() {
int i,seki=1,wa=0;
for(i=1; i<=x; i++) {
seki*=i;
wa+=i;
}
printf("1 〜 %d の積 : %d / 和 : %d \n",x,seki,wa);
}
0662デフォルトの名無しさん
2006/06/12(月) 20:39:51√n までにしろとは言わないけど、nまで調べるのはいくらなんでも無駄じゃないか
0663デフォルトの名無しさん
2006/06/12(月) 20:39:580664デフォルトの名無しさん
2006/06/12(月) 20:40:340665デフォルトの名無しさん
2006/06/12(月) 20:41:07何をいまさら
0666デフォルトの名無しさん
2006/06/12(月) 20:41:29#include<stdio.h>
void worldcup(int x);
int main(void)
{
int x;
printf("グリングリーン。\n");
printf("古時計>");
scanf("%d",&x);
worldcup(x);
return 0;
}
void worldcup(int x)
{
int i,wa,seki;
wa = 0;
seki = 1;
for(i=1;i<=x;i++)
{
wa += i;
seki *= i;
}
printf("小力love%d秋山love%d",wa,seki);
}
0667デフォルトの名無しさん
2006/06/12(月) 20:41:32高々定数倍の高速化に興味はない、などと言ってみるテスト。
0668デフォルトの名無しさん
2006/06/12(月) 20:46:12666だけにカオスw
0669デフォルトの名無しさん
2006/06/12(月) 21:20:13[2] 問題文(含コード&リンク): 次のようなおみくじを考える。0から9までの数字を実行のたびにランダムに発生させ、0から3を中吉、4から6を小吉、7から8を大吉、9を凶とする。
運悪く凶を引いてしまった時は「一度だけ」再びおみくじを引くか否かを選択できるようなプログラムを作成せよ。
ただし、運勢の判定にはswitch文を用いること。また出来ればsrandも使うこと。
[3] 環境
[3.1] OS: WindowsXP
[3.2] Visual Studio 2005
[3.3] 言語: C++
[4] 期限: 明日の朝までに
[5] その他の制限: 特にありません。
夜分に申し訳ありませんがよろしくお願いします…。
0670デフォルトの名無しさん
2006/06/12(月) 21:24:400671デフォルトの名無しさん
2006/06/12(月) 21:28:28rand()の出力範囲。
そもそもC++でやるひつようあんの?
0672デフォルトの名無しさん
2006/06/12(月) 21:29:05http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2037.c
乱数発生で答えの座標を決めるやり方でやってみますた
0673デフォルトの名無しさん
2006/06/12(月) 21:38:210674デフォルトの名無しさん
2006/06/12(月) 21:41:32>>672削除、ちょい変更。座標の範囲を増やしてもおk。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2039.c
0675デフォルトの名無しさん
2006/06/12(月) 21:41:440676デフォルトの名無しさん
2006/06/12(月) 21:43:29自分はかなりヘタレなのであまり分からないんですが、
srandはプログラム実行の度に乱数系列を変えるために使えといわれました…。
0677デフォルトの名無しさん
2006/06/12(月) 21:54:18ttp://www1.cts.ne.jp/~clab/hsample/Func/Func02.html#rand(%20%20)
出力された数値をrand()%10にしたら余りとして0-9までの値が返ってくるんじゃないの?
0678デフォルトの名無しさん
2006/06/12(月) 21:57:55低水準入出力関数でググレばすぐ見つかる…はず
0679デフォルトの名無しさん
2006/06/12(月) 21:58:260680デフォルトの名無しさん
2006/06/12(月) 21:58:46で乱数発生を使っているけど・・・参考にならん?
0681デフォルトの名無しさん
2006/06/12(月) 22:00:33確かにそうですね…。う〜ん、どうすれば良いんだろう…。
0682デフォルトの名無しさん
2006/06/12(月) 22:10:50それ書いたのどなた?
0683デフォルトの名無しさん
2006/06/12(月) 22:19:55#include <ctime>
#include <cstdlib>
int main(){
srand((unsigned)time(NULL));
int kuji, busy = 1;
char ch;
while(busy){
busy = 0;
kuji = rand() % 10;
switch(kuji){
case 0: case 1: case 2: case 3: std::cout << "中吉"; break;
case 4: case 5: case 6: std::cout << "小吉"; break;
case 7: case 8: std::cout<<"大吉"; break;
case 9: std::cout<<"凶\n"; std::cout<<"もう一度やる?(Yes: Y)";
}
std::cout<<std::endl;
if(kuji == 9){std::cin>>ch; if(ch == 'Y')busy = 1;}
}
return 0;
}
こんな感じかしら?
0684デフォルトの名無しさん
2006/06/12(月) 22:32:57あとは使いやすいように改変すりゃいいよ、サッカー見るんでノシ。
0685aho
2006/06/12(月) 22:51:21Cで入力した文字列を逆順にして出力する書き方を教えてください。
string.h をインクルードして、strlenを使うみたいです。
それから、今ポインタをやっているところです。||
0686デフォルトの名無しさん
2006/06/12(月) 22:55:380687デフォルトの名無しさん
2006/06/12(月) 22:58:42辛うじて>>656が分かるくらいだ・・・
0688デフォルトの名無しさん
NGNG#include<stdio.h>
double fact(double n){return (n>1)?n*fact(n-1):1;}
int main(void){int n=10,s=n*(n+1)/2,m=fact(n);for(;;)printf("和:%i 積%i\n",s,m);return 0;}
0689デフォルトの名無しさん
2006/06/12(月) 23:18:24完全に悪質、悪意がある行為だな。人を馬鹿にするにも程がある。
0690デフォルトの名無しさん
2006/06/12(月) 23:19:590691デフォルトの名無しさん
2006/06/12(月) 23:21:50階乗をO(n)のメモリで計算するのは中学レベルの数学を無視した間違った方法だと思わないか?
0692デフォルトの名無しさん
2006/06/12(月) 23:28:020693デフォルトの名無しさん
2006/06/12(月) 23:30:24[2] 問題文(含コード&リンク):最初にキーボードから線分の本数(以下 n とする)を入力し,次にキーボードからn本の線分を入力した後,線分の長さの長い順に出力するプログラムを作成しなさい.
扱う線分の本数は最大で6本とし,本数を指定するとき,不適切な本数(1から6までの整数以外)が指定された場合, "error"を表示し,プログラムを終了すること.
また,長さが同じ線分があった場合は,先に入力したものを先に表示すること.
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 明日(なるべく早くおねがいします)
よろしくお願いします。
0694デフォルトの名無しさん
2006/06/12(月) 23:30:330695デフォルトの名無しさん
NGNG何か問題でも?
0696デフォルトの名無しさん
2006/06/12(月) 23:33:26線分の表現方法は?
0697693
2006/06/12(月) 23:41:27例えばこのような感じです
4
3.0 4.0 5.0 6.0
3.0 4.0 5.0 5.0
0.0 1.0 2.0 5.0
3.0 4.0 3.0 7.0
(0.00,1.00)-(2.00,5.00)
(3.00,4.00)-(3.00,7.00)
(3.00,4.00)-(5.00,6.00)
(3.00,4.00)-(5.00,5.00)
0698デフォルトの名無しさん
2006/06/12(月) 23:48:39ありがとうございます。自分でこれを元にアレコレいじくってみます。
本当にありがとうございました!!
0699デフォルトの名無しさん
2006/06/12(月) 23:53:510700デフォルトの名無しさん
2006/06/12(月) 23:59:43お願いします
0701デフォルトの名無しさん
2006/06/13(火) 00:05:13基本だろ?
日本が>>628の問題やったら0点になりそう。
0702デフォルトの名無しさん
2006/06/13(火) 00:06:46高原がいる限りミリ
0703デフォルトの名無しさん
2006/06/13(火) 00:07:56お願いします
0704693
2006/06/13(火) 00:20:53[2] 問題文(含コード&リンク):最初にキーボードから線分の本数(以下 n とする)を入力し,次にキーボードからn本の線分を入力した後,線分の長さの長い順に出力するプログラムを作成しなさい.
扱う線分の本数は最大で6本とし,本数を指定するとき,不適切な本数(1から6までの整数以外)が指定された場合, "error"を表示し,プログラムを終了すること.
また,長さが同じ線分があった場合は,先に入力したものを先に表示すること.
線分の表現方法↓
4
3.0 4.0 5.0 6.0
3.0 4.0 5.0 5.0
0.0 1.0 2.0 5.0
3.0 4.0 3.0 7.0
(0.00,1.00)-(2.00,5.00)
(3.00,4.00)-(3.00,7.00)
(3.00,4.00)-(5.00,6.00)
(3.00,4.00)-(5.00,5.00)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: なるべく早くおねがいします
先ほどの書き込みにぬけている部分があったので、もう1度かきました。なんども
すみませんが、よろしくお願いします。
0705デフォルトの名無しさん
2006/06/13(火) 00:22:40最近宿題丸投げが多くないか?
0706デフォルトの名無しさん
2006/06/13(火) 00:24:50初歩的なものなら答えられるが、あまりにも複雑で、問題を十分理解しなきゃならないような
面倒なものだと、食いつく人が少ない。
既に無意味な議論がされたが、定石をまとめたサイトが欲しいところ。
素数を求めるアルゴリズムなんざ、わかりきっているしな。
乱数を求めるとか、項目をいくつか作ってまとめたいところだ。
0707デフォルトの名無しさん
2006/06/13(火) 00:45:00ここに来てるヤツラは資格さえとれればよくてプログラムなんてできなくてもいい
そんなヤツラだ
0708デフォルトの名無しさん
2006/06/13(火) 00:47:06ただ、プログラムの授業の最後って、自由課題になる場合が多いかと・・・
0709デフォルトの名無しさん
2006/06/13(火) 00:50:450710デフォルトの名無しさん
2006/06/13(火) 00:51:500711デフォルトの名無しさん
2006/06/13(火) 00:54:02少なくとも素数でアソコまでバカみたく、素数の求め方ではなく
ソースを出した人間の素性にまで話が行き過ぎるのはどうかとw
要するにここのスレの住人の人間性の問題だな。
たかが分かりきったプログラムができるくらいで、できない奴に対してでけぇ面。
そういう奴は、未知なるものへの探究心がない惰性の人生しか歩めないんだろうけど・・・
0712デフォルトの名無しさん
2006/06/13(火) 00:54:16○単位
0713デフォルトの名無しさん
NGNG↓↓↓↓↓↓
0714デフォルトの名無しさん
2006/06/13(火) 01:32:330715デフォルトの名無しさん
2006/06/13(火) 01:35:320716デフォルトの名無しさん
2006/06/13(火) 01:41:59宿題スレは強い
0717デフォルトの名無しさん
2006/06/13(火) 01:44:140718デフォルトの名無しさん
2006/06/13(火) 01:57:17ま、どうでもいいじゃん、とオモタ。
所詮丸投げスレだ。丸投げスレの本質を見失っちゃいかんね。
一つだけトーマス氏と、それに関りたがる人達へ申し上げておきます。
トーマス氏の発言とそれに係る発言にさらさら興味は無いのですが、
ここは丸投げスレですから、議論を持ちたいなら、他のスレ、ないしは他所でお願いしますね。
一言で表せば、一連の発言は「スレ違い」ですよ。
0719デフォルトの名無しさん
2006/06/13(火) 01:58:40#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct { double x0, y0, x1, y1, length; } line_t;
int main(void)
{
line_t line[6];
char str[1024];
int n, i, j;
/* 本数の入力 */
fgets(str, 1023, stdin);
if( !(str[0] >= '1' && str[0] <= '6' && (str[1] == '\n' || str[1] == '\0')) ) {
fprintf(stderr, "error\n");
return 0;
}
/* 線分の入力 */
for( i = 0, n = atoi(str) ; i < n ; i++ ) {
double dx, dy;
scanf("%lf %lf %lf %lf", &line[i].x0, &line[i].y0, &line[i].x1, &line[i].y1);
dx = line[i].x0 - line[i].x1; dy = line[i].y0 - line[i].y1;
line[i].length = sqrt(dx * dx + dy * dy);
}
/* 並べ替え(バブルソート) */
for( j = n - 1 ; j > 0 ; j-- ) for( i = 0 ; i < j ; i++ )
if( line[i].length < line[i + 1].length ) {
line_t tmp = line[i]; line[i] = line[i + 1]; line[i + 1] = tmp;
}
/* 表示 */
for( i = 0 ; i < n ; i++ ) printf("(%.2f,%.2f)-(%.2f,%.2f)\n", line[i].x0, line[i].y0, line[i].x1, line[i].y1);
return 0;
}
0720デフォルトの名無しさん
2006/06/13(火) 02:05:04#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char* argv[])
{
int a;/* 1つ目のコイン */
int b;/* 2つ目のコイン */
int n;/* 実験回数 */
int omote;/* 両方表が出た回数 */
double ans;/* 表が出た確率 */
int i;/* ループカウンタ */
/* 乱数のタネを初期化する */
srand(clock());
/* 実験回数を入力する */
printf("実験回数:");
scanf("%d", &n);
/* サイコロを振る模擬実験 */
same = 0;
for (i = 0; i < n; i++) {
/* 乱数から表かどうかを得る */
a = rand() & (1 << 12); /* 13ビット目を使って判定 */
b = rand() & (1 << 28); /* 29ビット目を使って判定 */
/* 両方表が出た回数をカウントする */
if (a && b) { omote++; }
}
/* 実験結果を表示する */
ans = (double)omote / (double)n;
printf("両者表が出た確率:%f\n", ans);
return 0;
}
0721デフォルトの名無しさん
2006/06/13(火) 02:05:460722693
2006/06/13(火) 02:05:51本当にありがとうございます。一度これで実行してみます!
0723デフォルトの名無しさん
2006/06/13(火) 02:19:48√を使った素数を求めるプログラムマダー?(チンチンAA略)
0724693
2006/06/13(火) 02:34:19プログラム途中に出てくるsqrtとは何のことでしょうか??
0725デフォルトの名無しさん
2006/06/13(火) 02:34:57ありがとうございました
0726デフォルトの名無しさん
2006/06/13(火) 02:37:01int isPrime(int n)
{
int i;
if( n == 2 ) return 1; /* 素数 */
if( n < 2 || (n & 1) == 0 ) return 0; /* 素数ではない */
for( i = 3 ; i * i <= n ; i += 2 ) {
if( n % i == 0 ) return 0; /* 素数ではない */
}
return 1; /* 素数 */
}
0727デフォルトの名無しさん
2006/06/13(火) 02:38:50>>1
ttp://www.linux.or.jp/JM/
の man on WWW に聞いてみなされ。
Googleさんに聞いてもいいけどね。
0728デフォルトの名無しさん
2006/06/13(火) 02:50:26ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27898
0729デフォルトの名無しさん
2006/06/13(火) 02:53:20ありがとうございます!できました。あとよかったらコレ↓教えて欲しいんですが・・
「2枚目にプログラムリスト
3枚目に結果(hを2〜3個変えて)を書く(手書きでよい)」
hを変えるっていうのはどういうことでしょうか?あと実行したのを印刷はできますか?
0730デフォルトの名無しさん
2006/06/13(火) 03:06:46[2] 問題文(含コード&リンク):
x,y,z,w を、要素数 n の int 配列とする。
x[i] + y[j] + z[k] + w[l] = 0 をみたす添え字 i,j,k,l の組み合わせの個数を求める
効率的なプログラムを書け。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 6/13 23:59
[5] その他の制限:
O(n^4) より効率的な解法をお願いします。
末尾再帰を利用せよ(?)
よろしくお願いします。
0731デフォルトの名無しさん
2006/06/13(火) 03:18:25[2] 問題文(含コード&リンク):
unsigned a(unsigned x) {x = (x & 0x5) << 1 | (x & 0xA) >> 1;return x;}
これを利用して文字や文字列を目的通りに交換するコードを作る
[3] 環境
[3.1] OS: W
[3.2] コンパイラ名とバージョン: BCC5
[3.3] 言語: C
[4] 期限:3週間
0732デフォルトの名無しさん
2006/06/13(火) 03:21:26x,y,z,w の配列の中身( x[0] から x[n-1])は何をいれるんじゃ?
単純に ix + jy + kz + lw = 0を解くのを作れってこと?
0733デフォルトの名無しさん
2006/06/13(火) 03:24:292. z+w のあらゆる可能性を列挙する O(n^2)
3. それぞれソートする O(n^2 log n)
4. x+y は大きい順、 z+w は小さい順に見て行き、合計が 0 になる部分を数える
(双方で同じ数が複数出て来た時は個数同士を掛けて加算することに注意)
O(n^2)
とかで良いかしら?プログラムは誰かよろしく!
0734デフォルトの名無しさん
2006/06/13(火) 03:24:46日本語も読めないアフォですか?
とりあえず O(n^2 log n) のアルゴリズムは思いついたけど眠いので実装は明日。
0735732
2006/06/13(火) 03:36:31ごめん、素だから。
え、だって、
・x, y, z, w は 要素数 n の配列
・x[i] + y[j] + z[k] + w[l] = 0
・上式を満足する添え字 i, j, k, l を求める
-> 配列の中身(数値)分からなきゃ無理じゃね?
っていう自分の情け無い思考。誰か助けて。
0736730
2006/06/13(火) 03:48:14すいません。
x[0]〜x[n-1] には、何か数字が入っています。
x[0] = 1, x[1] = 2
y[0] = 1, y[1] = -1
z[0] = -3, z[1] = 0
w[0] = 4, w[1] = 3
の場合 x[i] + y[j] + w[k] + z[l] は 16 通りの値をとりうるわけですが、
和が 0 となる添え字の組み合わせは、(i, j, k, l) = (0, 1, 0, 1) の 1 通りとなります。
この組み合わせの個数を O(n^4) より効率よく求めたいのです。
0738730
2006/06/13(火) 03:51:26なるほど!
x+y と z+w の二つに分ければいいのですね。
やはり、x+y の取りうる値を全て列挙 (O(n^2)) しないとダメですか?
0739デフォルトの名無しさん
2006/06/13(火) 03:51:390740デフォルトの名無しさん
2006/06/13(火) 03:51:48int ZeroCount(int x[], int y[], int z[], int w[], int n);
みたいな関数を実装しろって話でしょ。関数が呼び出された時点で配列の中身は分かってる事になる。
>・上式を満足する添え字 i, j, k, l を求める
i, j, k, lを具体的に求めるんじゃなくて、その組み合わせの数を求めるだけ。
0741732
2006/06/13(火) 04:00:56自分が一番引っかかってたのは、
「え?初期化されてないの?なになに、乱数でも生成しる!ってこと?どうなのそこ」
っていうことだったんだよね。
組み合わせの数を求めるってのもわかってたしさ。
(どのみち、i, j, k, lは求めなければならん)
0742デフォルトの名無しさん
2006/06/13(火) 05:51:07ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2040.c
ちなみに私は >>733じゃないす。
0743742
2006/06/13(火) 06:08:19網羅されていないみたい。
定義値を小さくして
0 1
x: -1 0
y: 3 2
z: 1 1
w: -3 1
x[0]+y[0]+z[1]+w[0] = -1+3+1-3
1 通り
というのが出たが、この場合(0,0,1,0) の他に(0,1,1,0) も解になる。
だから2通りが正しいのだが、後者を得てない。
0744742
2006/06/13(火) 06:15:34多分、 int get_answer(pair_array_info_t *a, pair_array_info_t *b, int n);
の、ai, bi を両側から逆方向へ進めるところの判定、
if(bi > 0 && b->pii[bi].sum_of_pair == b->pii[bi-1].sum_of_pair) bi--; else ai++;
がまずいんだな・・・。
0745742
2006/06/13(火) 06:26:56>>(双方で同じ数が複数出て来た時は個数同士を掛けて加算することに注意)
これ実装してないからか・・・。
ちなみに、数を数えるだけなら、index保存しておく必要ないからもっと簡単になります。
全パターンを表示させようとしたために複雑化させちゃいました。
直すのめんどくさくなったので、俺は逃げる。ノシ
0746733
2006/06/13(火) 09:45:08>>733
3.5 それぞれの列に対して、同じ値の個数を数えて重複を取り除く。
つまり(値, 個数) という列を考える。 O(n^2)
という前処理をするといいかも。
0747デフォルトの名無しさん
2006/06/13(火) 10:17:26基本的な考えは>>733と同じくソートしてから数値をチェック。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2041.c
0748デフォルトの名無しさん
2006/06/13(火) 10:36:45[2] 問題文(含コード&リンク):
1,gets文とputs文を用いて1行づつ入力し、1行づつ表示するプログラムを作る。なお、入力の終わりは、ctrl+dとする。
2、入力した数字が配列中にあるかどうか調べ、見つかれば○、見つからなければ×を表示せよ。なお、検索はゼロを入力するまで続ける。また、配列中に5つの数字5 31 19 71 43を初期値として設定せよ。
3、つぎのプログラムの数値入力、合計計算、合計と平均の表示を関数にせよ。変数はすべてグローバル変数にせよ。すなわち、関数の中で変数を宣言しないこと。
#include<stdio.h>
void main(){
//変数と配列の宣言
int i,n,sum,tab[100];
//数値入力
printf("何個数字を入力しますか?"); scanf("%d",&n);
printf("指定数の数字を入力してください\n");
for(i=0;i<n;i++) scanf("%d",&tab[i]);
//合計計算
sum=0;for(i=0;i<n;i++) sum+=tab[i];
//合計と平均の表示
printf("個数=%d 合計=%d 平均=%5.1f\n",n,sum,sum/(float)n);
}
0749デフォルトの名無しさん
2006/06/13(火) 10:40:40用いてキーボードから入力された整数を見つけ、その整数の添字(配列における順番)を出力するプログラム
を作成せよ。
実行例1:
input data:37
the input number 37 is not in the array
実行例2:
input data:23
the number of the input data is:6
[4]期限
今日の13時まで、よろしくお願いします。
0750デフォルトの名無しさん
2006/06/13(火) 10:52:340751デフォルトの名無しさん
2006/06/13(火) 10:55:482.for文で添え字を回して配列と変数とを比較する。
3.void datainput()
void wa()
void hyouji()を宣言して適当にやってくれ
int datainput(int n)とかやっても同じ。
3とか教官糞ですね。
0752デフォルトの名無しさん
2006/06/13(火) 10:56:52要素に値を設定しない限り。
0753デフォルトの名無しさん
2006/06/13(火) 11:01:400754デフォルトの名無しさん
2006/06/13(火) 11:13:39釣りじゃないなら、そんな宿題出す講義は取らない方がいいよ。
>>752
コンパイラ次第。intの実装もあればcharの実装もある。
0755748
2006/06/13(火) 11:18:150756デフォルトの名無しさん
2006/06/13(火) 11:23:27>>754
どうもありがとうううううううううううううううううううううううuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
0757デフォルトの名無しさん
2006/06/13(火) 11:29:500758デフォルトの名無しさん
2006/06/13(火) 11:42:00[2]
11−5
前回作成したn個のデータの総和を算出するプログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2042.txt
を「動的メモリの確保」を使い、
N個の配列要素を持つ配列を作って、
それを用いる形で実現しなさい。
[3]Linux gcc C言語
[4]6・13
0759758
2006/06/13(火) 11:47:13正しくはこちらです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2043.txt
0760デフォルトの名無しさん
2006/06/13(火) 11:57:10コンパイルエラー多すぎ・・・
0761デフォルトの名無しさん
2006/06/13(火) 12:03:51し、失礼しました…;
これでもう大丈夫なはずです orz
0762デフォルトの名無しさん
2006/06/13(火) 12:06:07[2]
ニューラルネットワークのバックプロパゲーションアルゴリズムを
C++で組め
[3] 環境
[3.1] OS: Windows
[3.2] VC++ 6.0
[3.3] 言語: C++
丸投げすみません。
よろしくお願いします。
0763デフォルトの名無しさん
2006/06/13(火) 12:07:40Cなら適当に作ったのがあるが。
0764デフォルトの名無しさん
2006/06/13(火) 12:24:49っつか、その総和を求める変な関数まで使わなきゃならんの?
そんなことするなら配列を作る意味ないっす・・・
0765デフォルトの名無しさん
2006/06/13(火) 12:41:25http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2045.cpp
数値入力のところ、while文で無駄な変数も多くて気持ち悪かったんで
for文にしちゃったけど、動的メモリの確保は入れてあるんで、提出側も丸投げってことで。
0766デフォルトの名無しさん
2006/06/13(火) 12:48:29しかしトンだ糞教官だ。
というか、あと15分だから、もう意味ないかもしれないけど。ほれ。
LHAアーカイブだから、解凍して見てね。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2046.lzh
0767デフォルトの名無しさん
2006/06/13(火) 12:56:420768デフォルトの名無しさん
2006/06/13(火) 13:22:05あ、ごめん。
無意識にCtrl-Cしてたw
0769デフォルトの名無しさん
2006/06/13(火) 13:25:29最近の宿題って面倒そうなのが多いのな。
問題読むだけで疲れた('A`)
0770デフォルトの名無しさん
2006/06/13(火) 14:30:21そこまで面倒さは感じないが、課題出してる教官の頭の悪さ
は伝わった。俺んときは生粋のパソオタみたいな教官だったが
教える側が低レベルはやばいよなー
0771デフォルトの名無しさん
2006/06/13(火) 14:33:220と1の組み合わせとそれをうまく論理回路で処理する原理に基づいているわけだから
それと数学の基本的な知識がないようなヘタレ指導者は
単にソースや結果をただの文字列としか感じ取ってないのかもね・・・
0772デフォルトの名無しさん
2006/06/13(火) 15:08:34ラムを作成せよ。(ソーティングに関してはどの手法を用いても良い)
丸投げですがよろしくお願いします
0773デフォルトの名無しさん
2006/06/13(火) 15:08:41深さ優先探索と幅優先探索を用いてグラフ探索を行うプログラム"dfs.c"と"wfs.c"を作成せよ。
深さ優先探索はデータ構造としてスタックを、幅優先探索はデータ構造としてキューを利用せよ(再帰方法は認めない)。
以下は対象となるグラフデータを隣接行列で表現したものである。
int maze[16][16]={
{0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0},
{0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0}
}
期限は明日までです、どうかお願いします。
0774デフォルトの名無しさん
2006/06/13(火) 15:12:32#define num_subjects 4
#define num_test 3
int _tmain(int argc, _TCHAR* argv[])
{
static int score[num_subjects][num_test] = {{35,50,65},{75,70,82},{46,83,62},{25,18,53}};
int j,k,n;
int sum;
double average;
char c;
printf(" test1 test2 test3 sum average \n");
printf("============================================\n");
for (j=0;j<num_subjects;j++){
sum = 0;
for(k=0;k<num_test;k++){
sum = sum+score[j][k];
printf("%8d",score[j][k]);
}
average = sum/num_test;
printf("%8d %8.2f \n",sum,average);
}
printf("input enter key to quit program");scanf("%c",&c);
return 0;
}
この表示に加えて最終行のところにtest1, test2, test3 の合計と平均を表示するプログラムを作成しなさい
期限は今日の午後五時です。よろしくお願いします
0775デフォルトの名無しさん
2006/06/13(火) 15:21:230776デフォルトの名無しさん
2006/06/13(火) 15:24:02まぁ、これもなんか気持ち悪い・・・無駄ってわけじゃないが C/C++ にするなら
"stdafx.h" とか _tmain とか _TCHAR とか、書き換えてもおkやな?
0777デフォルトの名無しさん
2006/06/13(火) 15:38:12っつか、各行のsum(合計)、おかしいよね・・・
0778デフォルトの名無しさん
2006/06/13(火) 15:47:53http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2048.c
問答無用の書き換え。結果が出てりゃ文句なし。
0779デフォルトの名無しさん
2006/06/13(火) 15:56:43// 追加
printf("============================================\n");
for(k=0; k<num_test; k++) {
sum = 0;
for(j=0; j<num_subjects; j++) {
sum += score[j][k];
}
printf("%6d",sum);
sum /= num_subjects;
printf("%5d %5.2f \n",test_sum,average);
}
return 0;
0780デフォルトの名無しさん
2006/06/13(火) 16:00:000781デフォルトの名無しさん
2006/06/13(火) 16:01:39まぁ、averageをdoubleで宣言しているなら、結果を求める計算にも
average = (double)sum/(double)num_test;
average = (double)test_sum/(double)num_test;
くらいはせんと、小数以下を表示する意味もあまりないな・・・
0782デフォルトの名無しさん
2006/06/13(火) 16:20:47テキストファイルは
単語\n
単語\n
略
という感じで延々と単語が序列されています。
それを構造体のメンバchar *tangoに入れたいのですが
while ((fgets(a[i].tan,80,fp)) != NULL){
略
}
という感じではうまく動いてくれませぬ('A')
ちなみに構造体宣言は
static struct info{
char *tan;
} a[10000];
です。
fgetsの構文が違うのでしょうか?
0783デフォルトの名無しさん
2006/06/13(火) 16:22:35別配列に入れないとだめなの???
0784デフォルトの名無しさん
2006/06/13(火) 16:22:52(×)それを構造体のメンバchar *tangoに入れたいのですが
(○)それを構造体のメンバchar *tanに入れたいのですが
修正です('A')
0785デフォルトの名無しさん
2006/06/13(火) 16:23:06配列の実体は?
0786デフォルトの名無しさん
2006/06/13(火) 16:23:40俺もそれに疑問を抱いたが、とりあえずaをbに丸々コピーして
bを並び替えておkじゃね?もしかして、本当は並び替えの前と後の比較で使うとか?w
0787デフォルトの名無しさん
2006/06/13(火) 16:25:06配列の実態とは?アホですいません。
構造体宣言時にa[10000]だけではだめということでしょうか?
0788デフォルトの名無しさん
2006/06/13(火) 16:29:43tanはポインタであって、実際に文字列を格納する実体が無いでしょ?
宣言するなら
char tan[80];
にしないと。
0789733
2006/06/13(火) 16:32:14期限がどうでもいい課題がいっぱい投稿されたので、
誰か整理してくれると助かる。
0790787
2006/06/13(火) 16:40:56たとえば、指定されたテキストファイル内容を構造体に一度格納し表示する、というプログラムであれば
static struct info{
char tango[20];
} a[1000];
while ((fgets(a[i].tango,80,fp)) != NULL){
printf("%s",a[i].tango);
i++;
}
こんな感じではだめなのでしょうか?
何度やってもbus error OTL
0791デフォルトの名無しさん
2006/06/13(火) 16:51:31http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2049.c
要らん部分があったら適当に削除してちょっ
0792787
2006/06/13(火) 16:53:35ぐぅ・・・
0793デフォルトの名無しさん
2006/06/13(火) 16:59:13static struct info{
char tango[80];
} a[1000];
int main(void)
{
FILE *fp;
int i=0;
fp=fopen("Test.txt","r");
while ((fgets(a[i].tango,80,fp)) != NULL){
printf("%s",a[i].tango);
i++;
}
fclose(fp);
return 0;
}
で問題無く動いたワケだが
0794787
2006/06/13(火) 17:00:10ちょっとためしてきます。ありがとうございます。
0795デフォルトの名無しさん
2006/06/13(火) 17:01:040796787
2006/06/13(火) 17:20:50課題はレコード型ソートなのでポインタ交換やらあるのでもうちょっとがむばります。
しかし、メンバは普通のchar tango[80]という配列宣言なのに、fgetsなので直接代入はできるのでしょうか?
できないとおもって*tango とかにしてたのですが('A')
0797デフォルトの名無しさん
2006/06/13(火) 17:27:23ついこないだ同じような問題に躓いていた奴がいた。
やっぱりわかってない人多いなぁ。
>>442,446,456
0798デフォルトの名無しさん
2006/06/13(火) 17:27:300799デフォルトの名無しさん
2006/06/13(火) 17:33:29798さんの言うように、構造体メンバのchar tangoにはfgetsでも代入はされていないのでしょうか?
0800797
2006/06/13(火) 17:34:310801デフォルトの名無しさん
2006/06/13(火) 17:40:39京大生wwwさんと同じ勘違いをしている悪寒?なのでいまグーグル先生で検索してまふ。
0802デフォルトの名無しさん
2006/06/13(火) 17:41:210803デフォルトの名無しさん
2006/06/13(火) 17:55:34ポインタ名 = "文字列"; は初期化だろうが代入だろうがいつでもできる。
それを言うなら、配列のほうだ。
0804797
2006/06/13(火) 18:13:00ああ、そのとおりだな。言ったのは自分じゃないけどアンカーしてスマン。
>>801
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2051.txt
適当に今仕立てたんだけど、あげる。
0805797
2006/06/13(火) 18:14:46http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2052.txt
0806797
2006/06/13(火) 18:17:2727行目に
printf("--- ptr = \"foobar\";");
って入れておいてくれ。 orz
0807デフォルトの名無しさん
2006/06/13(火) 18:31:12[2] 問題文(含コード&リンク): 円周率をプログラムで求める。
[3] 環境
[3.1] OS:winXP
[3.2] コンパイラ名とバージョン: ビジュアルスタジオ
[3.3] 言語: c++
[4] 期限: 2006/6/15
[5] その他の制限:下のようなプログラムで円周率を求めたいのですがうまくいきません。
やりたいことは積分によって面積を求めその出た値に4を掛けると円周率が出せるというものです。
→ルートは1-xにかかっています。∫(0から1までの範囲)√(1-x)^2 * 4 = 円周率
#include<math.h>
#include<stdio.h>
double func(double x)
{
if(x < 1.0000)
return (sqrt((1 - x) * (1 - x)) + func(x + 0.001));
else
return(1);
}
int main(void)
{
printf("%f", (double)func(0) * 4);
return(0);
}
プログラムを作ってみましたがうまくいきません。
詳しい方お願いいたします。
0808デフォルトの名無しさん
2006/06/13(火) 18:40:200809デフォルトの名無しさん
2006/06/13(火) 18:43:480810デフォルトの名無しさん
2006/06/13(火) 18:44:12π := 4・∫√(1-x*x) dx
0
の式の事なら微分式だからfor文じゃ無理
0811810
2006/06/13(火) 18:45:490812デフォルトの名無しさん
2006/06/13(火) 18:46:520813デフォルトの名無しさん
2006/06/13(火) 18:47:35double t,dt;
int i;
dt = 2 * T / N;
for(i=0;i<=N;i++)
{
t=-T + i * dt;
}
0814デフォルトの名無しさん
NGNG>√(1-x)^2
=(1-x)なわけだが。
0815デフォルトの名無しさん
2006/06/13(火) 18:49:060816デフォルトの名無しさん
2006/06/13(火) 18:50:23http://smokingblues.web.infoseek.co.jp/column/2003-04_suutikeisan/
0817810
2006/06/13(火) 18:50:24double func(double x)
{
if (x < 1.0)
return ( sqrt( 1.0 - x * x ) + func( x + 0.0001 ) );
else
return ( 0.0 );
}
int main(void)
{
printf("%lf", (double)func(0) * 4.0 / 10000.0 );
return(0);
}
積分と微分を間違ったお詫びだ
0818デフォルトの名無しさん
2006/06/13(火) 19:01:01すいません。(1-x^2)でした。
>>817
ありがとうございます。早速やってみましたがちゃんと動作しません。
頭には#include <stdio.h> #include <math.h>でOKでしょうか?
0819デフォルトの名無しさん
2006/06/13(火) 19:01:490820デフォルトの名無しさん
2006/06/13(火) 19:06:360821デフォルトの名無しさん
2006/06/13(火) 19:14:23全然違うことやってることくらいはわかるだろw
0822デフォルトの名無しさん
2006/06/13(火) 19:15:020823デフォルトの名無しさん
2006/06/13(火) 19:26:54どうやらCPUのせいでprintf("%lf", (double)func(0) * 4.0 / 10000.0 );
の部分の10000までの数値をdouble型で表示出来ないのが原因のようです。
桁を減らしたら出来ました。
ところでprintf("%lf", (double)func(0) * 4.0 / 10000.0 );
の部分でなぜ10000で割っているのでしょうか。
ご教示お願いいたします。
0824デフォルトの名無しさん
2006/06/13(火) 19:33:180825デフォルトの名無しさん
2006/06/13(火) 19:45:23if (x < 1.0)
return ( 0.0001 * sqrt( 1.0 - x * x ) + func( x + 0.0001 ) );
普通はこう書く。(0.0001 = 1/10000)
ttp://ja.wikipedia.org/wiki/%E7%A9%8D%E5%88%86#.E5.8C.BA.E5.88.86.E6.B1.82.E7.A9.8D.E6.B3.95
掛けたものの和も、和に掛けたものも結果は同じ。
ってか、積分大丈夫か?勉強しなおしたほうがいいぞ。
0826デフォルトの名無しさん
2006/06/13(火) 19:47:43テンプレ等↑の中にまとめてあります。貯まってしまったので数が多いですが
どうぞよろしくお願いします。m(_ _m)
0827デフォルトの名無しさん
2006/06/13(火) 19:50:26ありがとうございます。積分はやったのですが余り深く学校でも取り扱っていなかったので
これを機に勉強したいと思います。
0828デフォルトの名無しさん
2006/06/13(火) 19:56:46テキストファイルにする根性があるのなら
このぐらいの問題は楽勝だ。がんばれ
0829デフォルトの名無しさん
2006/06/13(火) 20:02:38(A´・ω・)2時間考えましたがわからないんですよ お願いしますよ
0830デフォルトの名無しさん
2006/06/13(火) 20:04:41これを書いたのはどなたかな?
0832デフォルトの名無しさん
2006/06/13(火) 20:18:39a[4]=12;
temp=a[0];
for(i=0;i<4;i++)
a[i]=a[i + 1];
a[i + 1]=temp;
for([ 0 ];i<5;i++)
printf("%d\n",a[i]);
0833デフォルトの名無しさん
2006/06/13(火) 20:20:30ありゃ
0834デフォルトの名無しさん
2006/06/13(火) 20:24:160835デフォルトの名無しさん
2006/06/13(火) 20:30:02#include<stdio.h>
void main()
{
char moji[]= "aiueo kakikukeko sasisuseso" ;
int len=0;
while(moji[len])
len++;
printf("この文字列%s\n",moji);
printf("の文字数は%d個です。\n",len);
}
0836826,829
2006/06/13(火) 20:42:27ありがとうございますm(_ _m)
>>834
宿題として出されただけなので誰が作ったかはわからないです
残り どなたかお願いしますm(_ _m)
0837デフォルトの名無しさん
2006/06/13(火) 20:43:45間違ってるよ…
a[ i] = tmp
0838デフォルトの名無しさん
2006/06/13(火) 20:43:45http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2054.lzh
しかしだな、本当に分からないのか?
授業は聞いてるか?
教科書や参考資料、はたまたネットは活用したか?(このスレを活用してるっちゃしてるかもしれんが(苦笑))
教官の質も悪いと思うけどな(問題のソースも腐ってるしなぁ)
0839826,829
2006/06/13(火) 20:48:41ちゃんと聞いてるんですけどねぇ・・・ どんどん進むので最初のころは
ほぼ完璧にわかってたんですけど。まぁこれを参考にさせてもらって
もっと勉強してみます。ありがとうございました。
0840デフォルトの名無しさん
2006/06/13(火) 21:00:31[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2055.txt
のクイックソートのプログラムを以下の様に改良せよ
(1)整列する数値データは関数randを使って発生させる。データ数は最大10000個とする
(2)プログラムの実行において、データ対の大小比較を行った回数を計算し出力する
[3] 環境
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C
[4] 期限: 明後日
[5] その他の制限: 特にありません
お願いいたします!
0841315
2006/06/13(火) 22:01:46もう見てないかな?それとも誰かいい答え出したかな。
>>315よりはAIっぽいのを作ってみた。
int AI_move () {
int result = 1; //reverse関数の戻り値を代入する変数
int i, j, temp, Ti, Tj,chk;
temp = 0;
if ( current == BLACK ) printf("AI黒の手番です。\n");
else printf("AI白の手番です。\n");
for (i = 0; i < 8; i++) {
for (j = 0; j < 8; j++) {
chk = isReversible(i, j);
if (chk != 0, temp < count) {
temp = count;
Ti = i;
Tj = j;
}
}
}
result = reverse(Ti, Tj);
return result;
}
あとisReversible関数の、int count = 0; // ひっくり返る石の個数を数える
を、count = 0; に変更した。ローカル変数とグローバル変数で、同じ名前は
ひどいよ。しばらく気づかなかった。この問題、グローバル変数がやたら多いし、質が悪いね。
今回の修正は、要するに8 * 8をすべて洗い出し、一番色が変わる場所を探している、ただそれだけ。
もっとましなのにしたければオセロの定石集が必要ですね。
あ、あと、盤面数8*8以外には対応していません。ま、簡単に直せますが。
0842デフォルトの名無しさん
2006/06/13(火) 22:09:30[2]問題文(含コード&リンク):
出席率(attend)と試験の得点(test)を読み込み、2つの条件を満たす場合
”合格”と表示し、満たさない場合”不合格”と表示してください。2つの条件は以下の通り。
�@出席率が70以上、�A試験得点が60以上。
この課題はif文のネストで、
を
#include<stdio.h>
int main(void){
int attend, test;
printf( "input attend test: " ); scanf( "%d %d", &attend, &test );
if ( attend >= 70 ) if ( test >= 60 ) printf( "合格\n" ); else printf( "不合格\n" ); else printf( "不合格\n" );
}
とするとコンパイルエラーになります
何故でしょうか?
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0843デフォルトの名無しさん
2006/06/13(火) 22:13:310844デフォルトの名無しさん
2006/06/13(火) 22:15:59int main(void){
int attend, test;
printf( "input attend test: " );
scanf( "%d %d", &attend, &test );
if ( attend >= 70 && test >= 60 )
printf( "合格\n" );
else printf( "不合格\n" );
}
[2]問題文:>>773
[3]環境:
[3.1]OS:LINUX
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日の午前中まで
[5]その他の制限:再帰の不使用
度々申し訳ありません、>>773です。
こちらの書き込み方がルールに沿っておらず、スレ汚しをしてしまったので
恥を忍んで再度ここに書かせていただけたらと存じます。
どなたかお力添えよろしくお願いします。
0846デフォルトの名無しさん
2006/06/13(火) 22:17:46[2]問題文(含コード&リンク):
月(month)を読み込み、範囲チェックをして下さい。月が1〜12の範囲なら、"正しい月"
、1〜12意外なら"誤った月"と表示してください。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:論理積演算子(&&)、
論理和演算子(||)を使わないで下さい。
ヘッダint month; は使わないで下さい。
0847デフォルトの名無しさん
2006/06/13(火) 22:19:17警告 W8070 ex065.c 11: 関数は値を返すべき(関数 main )
ってでるけどなんなんでしょう?
実行できたけど
0848デフォルトの名無しさん
2006/06/13(火) 22:20:570849デフォルトの名無しさん
2006/06/13(火) 22:21:06[2]問題文(含コード&リンク):
整数値(n)を読み込み、絶対値を表示して下さい。
−20の絶対値は、20。20の絶対値は、20。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0850デフォルトの名無しさん
2006/06/13(火) 22:21:08C99に対応していないヘタレコンパイラの勘違い警告。
関数の最後にreturn 0;でも加えると良いんじゃないの。
0851デフォルトの名無しさん
2006/06/13(火) 22:21:58>>850
うまくいきました。ありがとうございます。
0852デフォルトの名無しさん
2006/06/13(火) 22:22:28gccとか使ったことないから知らんが
void main (void)にしたら?
0853デフォルトの名無しさん
2006/06/13(火) 22:23:02[2]問題文(含コード&リンク):
西暦の年(year)を読み込み、その年がうるう年
であれば"閏年"、うるう年でないときは"平年"と
表示して下さい。うるう年とは、2月が29日の
年。基本は4年に一回(4で割り切れる年はうる
う年)、それだと多すぎるので100年に1回は
平年とする(100で割り切れる年は平年)、そ
れだと少なすぎるので400年に一回をうるう年
に戻す(400で割り切れる数はうるう年)。
この課題はif文のネス
トで。(論理和、論理
積は使わないで下さい
。)
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
この課題はif文のネストで。(論理和、論理
積は使わないで下さい。)
0854852
2006/06/13(火) 22:24:32カープ負けたし寝る。
0855デフォルトの名無しさん
2006/06/13(火) 22:28:37変な文章ですね
0856デフォルトの名無しさん
2006/06/13(火) 22:36:39課題の文章そのままですが解りづらいですよね
0857デフォルトの名無しさん
2006/06/13(火) 22:37:13[2]問題文(含コード&リンク):
月(month)を読み込み、その月の日数を表示して下さい。
2月は28日とする。
if文で作ってください。
小の月(31日でない月)は、西向く士(ニシムクサムライ、2 4 6 9 11)。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0858デフォルトの名無しさん
2006/06/13(火) 22:40:59[2]問題文(含コード&リンク):
月(month)を読み込み、範囲チェックをして下さい。月が1〜12の範囲なら、"正しい月"
、1〜12意外なら"誤った月"と表示してください。
論理演算子を使ってください。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0859デフォルトの名無しさん
2006/06/13(火) 22:44:150860デフォルトの名無しさん
2006/06/13(火) 22:44:22丸投げスレでこういうことを言うのもバカらしいというか、ナンセンスなんだが
それくらい自分でできるやろ・・・入力された数値を if 文と条件指定を使って
判別すりゃええがな・・・
0861デフォルトの名無しさん
2006/06/13(火) 22:45:460862デフォルトの名無しさん
2006/06/13(火) 22:45:50if文しか駄目って教員がいいます。
>>860
できません・・・・
0863デフォルトの名無しさん
2006/06/13(火) 22:48:34scanf("%d", month);
if (month>=1) && (month<=12) {
printf("正しい月")
} else {
printf("誤った月")
}
0864デフォルトの名無しさん
2006/06/13(火) 22:49:08{
#if FOR_858 || FOR_857 //>>858 >>857
int month;
scanf("%d", & month);
#endif
#if FOR_858 //>>858
printf("%s月\n", month >= 1 && month <= 12 ? "正しい" : "誤った");
#elif FOR_857 //>>857
int day = 31;
if (month == 2) {
day = 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
day = 30;
}
printf("%d\n", day);
#elif FOR_849 //>>849
int n;
scanf("%d", & n);
printf("%d\n", n < 0 ? -n : n);
#endif
return 0;
}
0865デフォルトの名無しさん
2006/06/13(火) 22:50:31#include <stdio.h>
#include <math.h>
#define ABS(n) (n) >= 0 ? (n) : (n) * (-1)
int main(){
printf("%d %d\n", abs(-20), abs(20));
printf("%d %d", ABS(-20), ABS(20));
return 0;
}
0866デフォルトの名無しさん
2006/06/13(火) 23:02:01コンパイルに失敗したました。
>>865
#include <math.h> は使わないで下さい
0867デフォルトの名無しさん
2006/06/13(火) 23:02:28[2] 問題文:n! を計算する float 型の関数 fact(int n),
x の n 乗を計算するfloat 型の関数 beki(float x, int n) を定義し,
正の整数 n,0 以上 1 以下の実数 p,0 以上 n 以下の整数 m を読み込んで,
http://www.vipper.org/vip275102.jpgを計算して表示するプログラムを作れ.
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2006年6月16日(金)8:40まで
[5] その他の制限:標準ライブラリは使ってはいけないです。
よろしくおねがいします
0868デフォルトの名無しさん
2006/06/13(火) 23:04:31よく見ろ、使ってないABSもあるだろ
0869デフォルトの名無しさん
2006/06/13(火) 23:05:02[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2056.txt
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 06/14
[5] その他の制限:ヘッダは<stdio.h><string.h><srdlib.h>のみ用いること。
すみません、12時間やりましたが、コンパイルできずに
コードも中途半端です。助けてください。
0870デフォルトの名無しさん
2006/06/13(火) 23:05:56表示とかできなくね?
0871デフォルトの名無しさん
2006/06/13(火) 23:06:16よくそういう分かりきったエラーを残すもんだとw
0872デフォルトの名無しさん
2006/06/13(火) 23:06:420873867
2006/06/13(火) 23:08:450874869
2006/06/13(火) 23:10:17B=20-2
C=6*1
D=B/C
A=5+D
このデータが入ったtxtデータでの
動作を確認しています。
0875デフォルトの名無しさん
2006/06/13(火) 23:11:260876867
2006/06/13(火) 23:15:270877デフォルトの名無しさん
2006/06/13(火) 23:22:51[2]問題文(含コード&リンク):
n次元ベクトルvとwのユークリッド距離の2乗をdouble変数で返す以下のような関数を作成する。
nは最大20とする。vとwの保持には長さ20のdoubleの1次元配列v[],w[]を予め定義し、その一部分を使用する。
n次正方行列Aとn次元ベクトルvの積Avを求め、結果を配列wにいれる以下のような関数を作成する。
nは最大20とする。Aの保持には20×20のdoubleの2次元配列を予め定義し、その一部分を使用する。vの保持には
長さ20のdoubleの1次元配列v[]を予め定義し、その一部分を使用する。
・乱数rand()を適当に用いて「推移確率行列A」を発生させる
・n次元の単位ベクトル(u1,u2,・・・un)それぞれについて、それを初期ベクトルx0として以下を実行したときの収束先を出力する
x[k+1]=Ax[k]
また、収束までの反復数も出力する。
収束判定はx[k+1]とx[k]のユークリッド距離の2乗をdouble変数で表したものが、0.0と区別出来なくなった時を収束とする。
nとして10を用いたとき、生成された行列、各初期ベクトルに対する結果のベクトルと収束までの反復回数を出力せよ。
[3]環境
[3.1]OS:WindowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明後日
[5]その他の制限:
お願い致します。
0878867
2006/06/13(火) 23:23:47授業ではヘッダーは#include<stdio.h>しかつかってないです。
0879デフォルトの名無しさん
2006/06/13(火) 23:25:42stdio.hは標準ライブラリの一つなわけだが
0880デフォルトの名無しさん
2006/06/13(火) 23:25:440881デフォルトの名無しさん
2006/06/13(火) 23:25:56stdio.hは標準入出力ライブラリで勿論標準ライブラリの一部だよ。
stdio.h以外の標準ライブラリを使わずにとか表現すれば良いんじゃない?
0882デフォルトの名無しさん
2006/06/13(火) 23:26:13#include<stdio.h>の時点で標準ライブラリ使ってんじゃん
0883デフォルトの名無しさん
2006/06/13(火) 23:29:08待ち伏せして即レスすんなよ
0884デフォルトの名無しさん
2006/06/13(火) 23:29:38これ二分木使うまでもなく、一行入力されるごとに、B→C→D→A と計算していけば答出ちゃうじゃん。
わざわざ右辺を文字列で保存していくのか? 無意味じゃね?
0885デフォルトの名無しさん
2006/06/13(火) 23:32:19二分木の学習なんで、わざわざこうしている
そうです。今回は木を構成して、出来上がったか
どうかを表示できればいいみたいです。
お願いします。
0886867
2006/06/13(火) 23:32:47そうです。そのとおりです。これでよろしくおねがいします。
>>883待ち伏せしてくれる人たちに感謝。
0887デフォルトの名無しさん
2006/06/13(火) 23:46:43組み合わせ、乗数の関数くらい自分で解け
#include<stdio.h>
関数定義
int main(void)
{
int x,n;
scanf("%d,%d",&x,&n);
関数使用
return 0;
}
以下関数の中身
0888デフォルトの名無しさん
2006/06/13(火) 23:51:50float fact(int n){
float r;
if(n < 2)r = 1;
else r = fact(n - 1) * n;
return r;
}
float beki(float x, int n){
float r = 1.0;
for(int i = 0; i < n; i++)r *= x;
return r;
}
float kumi(int n, int r){
return (fact(n) / (fact(n - r) * fact(r)));
}
float func(int n, double p, int m){
float r = 0.0;
for(int k = 0; k < m; k++)r += kumi(n, k) * beki(p, k) * beki(1 - p, n - k);
return r;
}
int main(){
printf("%f", func(10, 0.5, 9));
}
0889デフォルトの名無しさん
2006/06/14(水) 00:09:56[2]問題文(含コード&リンク):
月(month)を読み込み、範囲チェックをして下さい。月が1〜12の範囲なら、"正しい月"
、1〜12意外なら"誤った月"と表示してください。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
論理和演算子を使わないで下さい。
stdio.h以外の標準ライブラリを使わないで下さい。
0890デフォルトの名無しさん
2006/06/14(水) 00:11:29[2]問題文(含コード&リンク):
出席率(attend)と試験の得点(test)を読み込み、2つの条件を満たす場合
”合格”と表示し、満たさない場合”不合格”と表示してください。2つの条件は以下の通り。
�@出席率が70以上、�A試験得点が60以上。
この課題はif文一つで。
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限: stdio.h以外の標準ライブラリを使わないで下さい。
0891デフォルトの名無しさん
2006/06/14(水) 00:11:52よほどアホが集まってる学校なんだな
0892デフォルトの名無しさん
2006/06/14(水) 00:13:40#include <stdio.h>
int main() {
int x;
printf("Input Number > ");
scanf("%d",&x);
if(x>=1 && x<=12) printf("正しい月\n");
else printf("誤った月\n");
return 0;
}
はいはい、次次
0893デフォルトの名無しさん
2006/06/14(水) 00:16:44#include<stdio.h>
int main(void){int year;printf("year input >");scanf("%d", &year);
if ((year % 4) == 0)if ((year % 100) != 0)printf("閏年\n");else
if ((year % 400) == 0)printf("閏年\n");else printf("平年\n");else
printf("平年\n"); return 0;}
0894デフォルトの名無しさん
2006/06/14(水) 00:16:45論理演算子を使わないで下さい。
0895デフォルトの名無しさん
2006/06/14(水) 00:18:05#include <stdio.h>
int main() {
int attend,test;
printf("出席率 > ");
scanf("%d",&attend);
printf("試験得点 > ");
scanf("%d",&test);
if(attend >= 70 && test >= 60) printf("合格\n");
else printf("不合格\n");
return 0;
}
はいはい、専門学校生はこの程度のことも自力でやれないんだね
0896デフォルトの名無しさん
2006/06/14(水) 00:19:00>論理和演算子
はぁ?積しか使ってませんが?
0897デフォルトの名無しさん
2006/06/14(水) 00:19:08[2]問題文(含コード&リンク):
九九の表を表示して下さい。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
..................................................................
9 18 27 36 45 54 63 72 81
[3]環境
[3.1]OS:windowsXP
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:明日
[5]その他の制限:
0898デフォルトの名無しさん
2006/06/14(水) 00:19:15これだけあると、Wikiが欲しくなる。
0899デフォルトの名無しさん
2006/06/14(水) 00:20:07それも駄目でした。
0900デフォルトの名無しさん
2006/06/14(水) 00:20:32ttp://kogolab.jp/elearn/c2002/5/ronri.html
アフォ、和は OR だろ。AND しか使ってねーYO!
0901デフォルトの名無しさん
2006/06/14(水) 00:20:48ずれまくり
0902デフォルトの名無しさん
2006/06/14(水) 00:22:01だったらx>=0のさらにレベル下げしたところにx<=12をつければ?
elseは放置しておいても問題ないだろ。そこまでできないとなると
中学生以下だぞ、って性帝トーマス氏に言われる前に相手にされんなw
ブラックリストに入れるから、どこの学校か教えてくれない?
0903デフォルトの名無しさん
2006/06/14(水) 00:23:01#include <stdio.h>
int main(void){
int i,j;
for (i=1;i<10;i++){
for (j=1;j<10;j++){
printf(" %2d",i*j);
}
puts("");
}
return 0;
}
0904デフォルトの名無しさん
2006/06/14(水) 00:23:46#include <stdio.h>
int main(void)
{
int i, j;
for (i=1; i<=9; i++) {
for (j=1; j<=9; j++)
printf("%2d ", i*j);
printf("\n");
}
return 0;
}
0905デフォルトの名無しさん
2006/06/14(水) 00:24:33余計に意味がわからないだけだと思うが・・・
0906デフォルトの名無しさん
2006/06/14(水) 00:25:410907デフォルトの名無しさん
2006/06/14(水) 00:30:072つめで合わないならそのときの対処もしなきゃならん面倒が増えるな・・・
さらに、その下に1つめが合わないときの対処も・・・なんっつー無駄なことを教える学校だw
0908デフォルトの名無しさん
2006/06/14(水) 01:03:10#include<stdio.h>
int main(void)
{
int num;
printf("数値を入力してください : ");
scanf("%d",&num);
switch(num){
case 1 : printf("正しい月\n"); break;
case 2 : printf("正しい月\n"); break;
case 3 : printf("正しい月\n"); break;
case 4 : printf("正しい月\n"); break;
case 5 : printf("正しい月\n"); break;
case 6 : printf("正しい月\n"); break;
case 7 : printf("正しい月\n"); break;
case 8 : printf("正しい月\n"); break;
case 9 : printf("正しい月\n"); break;
case 10 : printf("正しい月\n"); break;
case 11 : printf("正しい月\n"); break;
case 12 : printf("正しい月\n"); break;
default : printf("誤った月\n"); break;
}
return 0;
}
間違ってても知らないぞ♥
0909デフォルトの名無しさん
2006/06/14(水) 01:06:450910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
2006/06/14(水) 01:08:420912デフォルトの名無しさん
2006/06/14(水) 01:11:110913■■■質問■■■
2006/06/14(水) 01:13:09[2] 問題文(含コード&リンク):
でたらめに10個の正の整数値を入力するとき、n番目に入力した数が、
n+1番目に入力した値より大きい場合を数えて、何回あったかを表示する。
■例 3,5,2,8,9,5,1,4,7,5 4回
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2006年6月14日深夜
[5] その他の制限:特にありません、宜しくお願い致します。
0914デフォルトの名無しさん
2006/06/14(水) 01:14:560915デフォルトの名無しさん
2006/06/14(水) 01:18:31int main(){
int i, a[10], cnt = 0;
for(i = 0; i < 10; i++)scanf("%d", &a[i]);
for(i = 0; i < 9; i++)if(a[i] > a[i + 1])cnt++;
printf("%d回", cnt);
return 0;
}
確かめてないけど
0916デフォルトの名無しさん
2006/06/14(水) 01:20:18例に出ている結果の意味も分からんよ・・・
0917デフォルトの名無しさん
2006/06/14(水) 01:21:550918デフォルトの名無しさん
NGNG#include<stdio.h>
#include<stdlib.h>
int main(void){int i,n,c=0,prev=INT_MAX;char tmp[100];for(i=0;i<10;i++)
{fgets(tmp,sizeof(tmp),stdin);n=atoi(tmp);if(n>prev)++c;prev=n;}printf("%i回\n",c);return 0;}
0919デフォルトの名無しさん
2006/06/14(水) 01:24:38だぁ〜〜ら、いつもそうだけど、お主のソース、コンパイルできねーっつーのっw
0920デフォルトの名無しさん
NGNGprev=-INT_MAX;
if(n<prev)++c;
0921デフォルトの名無しさん
2006/06/14(水) 01:26:20http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2057.txt
0922デフォルトの名無しさん
2006/06/14(水) 01:26:49最初の数字から数えてみた
#include <stdio.h>
int main(void){
int a[10],i,count=0;
for (i=0;i<10;i++){
scanf("%d",&a[i]);
if (i!=0 && a[i]>a[0]){
count++;
}
}
printf("%d個\n",count);
}
0923デフォルトの名無しさん
NGNGん?一発で通ったぞ。コンパイラは何使ってるんだ?
0924デフォルトの名無しさん
2006/06/14(水) 01:29:47BCCだとINT_MAXが未定義のシンボル
0926デフォルトの名無しさん
2006/06/14(水) 01:30:20問題はアフォだと思うが、意味は分かるだろ。
0927デフォルトの名無しさん
2006/06/14(水) 01:30:56つか、トーマスの1回多く数えてない?
0928デフォルトの名無しさん
NGNGbccはINT_MAX定義されてねえのか…
0929デフォルトの名無しさん
2006/06/14(水) 01:33:37JaneDoeViewの"ここからツリー化"って便利だな。
いや、それだけなんだが。
0930■■■質問■■■
2006/06/14(水) 01:35:43ありがとうございます。
0931デフォルトの名無しさん
2006/06/14(水) 01:36:00limits.hに定義されてる
0932デフォルトの名無しさん
2006/06/14(水) 01:36:22Borland C++ Builder 6 Personalのだけど.
includes\_lim.h
51: #define INT_MIN LONG_MIN /* minimum signed int value */
52: #define INT_MAX LONG_MAX /* maximum signed int value */
53: #define UINT_MAX ULONG_MAX /* maximum unsigned int value */
limits.hをインクルードすればOK.
0933デフォルトの名無しさん
NGNGん?仕方がないから実行してみたが、
>■例 3,5,2,8,9,5,1,4,7,5 4回
この通りになったぞ。
0934デフォルトの名無しさん
2006/06/14(水) 01:37:39便利だけど使ってない
0935デフォルトの名無しさん
2006/06/14(水) 01:39:02こうマシンガンのごとく宿題が発射されると、
そうでもしないとやってらんね。(もっといい方法があるのかもしれないけど)
0936デフォルトの名無しさん
2006/06/14(水) 01:39:37要するに入力された値を数列にして、先頭から順に次の要素の数値と比較して
値が大きくなる場合の回数を出すってことね。
0937デフォルトの名無しさん
2006/06/14(水) 01:41:49そうか、何度やっても5に
0938デフォルトの名無しさん
2006/06/14(水) 01:41:535回って出た俺はいったい何?
0939デフォルトの名無しさん
NGNG>>920のパッチ適用のこと。
0940■■■質問■■■
2006/06/14(水) 01:42:44あわてて書き込みしてしまいました。
ありがとうございます!
0941デフォルトの名無しさん
2006/06/14(水) 01:44:400942デフォルトの名無しさん
2006/06/14(水) 01:51:450943デフォルトの名無しさん
2006/06/14(水) 01:54:560944デフォルトの名無しさん
2006/06/14(水) 01:56:35まだいたのかしつこいな。
>>728にもあるぞ。
いいかげん寝なさい。
0945デフォルトの名無しさん
2006/06/14(水) 01:56:57そもそも仕様で(limits.h以外で)定義しとけと規定されてない物なんだから
limits.hのインクルード無しでは使えなくても当然だろ
0946デフォルトの名無しさん
2006/06/14(水) 01:56:57大小比較回数とは大小交換回数のことか?
あとクイックソートの比較は配列の真ん中の値で比較するんだぞ、boundの値が違ってい
るぞ
#include <stdio.h>#include <stdlib.h>#define NMAX 10000
#define swap(a,b){int t=(a);(a)=(b);(b)=t;}static int count = 0;
void print(int *array,int N){int i;for(i = 0; i < N; i++){
printf("array[%d] = %d ", i, array[i]);}printf("大小交換回数=%10d\n", count);}
void quicksort(int *array,int lower,int upper){int l = lower;int u = upper;
int bound = array[(lower + upper) / 2];while(l<=u){while(array[l]<bound) l++;
while(array[u]>bound) u--;if (l <= u){count++;swap(array[l],array[u]);l++;
u--;}}if (lower < u) quicksort(array,lower,u);if (l < upper)
quicksort(array,l,upper);}
int main(void){int i = 0;int array[NMAX];while(1){if (i >= NMAX)break;array[i]
= (int)rand();i++;}quicksort(array, 0, NMAX - 1);print(array, NMAX);return 0;}
0947デフォルトの名無しさん
2006/06/14(水) 02:02:08ですがうまくいきません
------ ビルド開始: プロジェクト: C, 構成: Debug Win32 ------
コンパイルしています...
Cプラス.cpp
.\Cプラス.cpp(4) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
ビルドログは "file://d:\My document\Visual Studio 2005\Projects\C\C\Debug\BuildLog.htm" に保存されました。
C - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
となってエラーになります
0949デフォルトの名無しさん
2006/06/14(水) 02:03:59氏ね
0950デフォルトの名無しさん
2006/06/14(水) 02:04:180951921
2006/06/14(水) 02:07:39ハァ?もういっかいクイックソート勉強しなおしてこい。
クイックソートは任意のピボット(普通は要素の先頭)と比較して、小さいか、大きいかで分けるのを、
再帰的に行なうソート手法だ。
2分検索か何かと勘違いしていないか?
0952俺ってやさしい
2006/06/14(水) 03:59:59そのエラー内容を見せられてどうしろと言うの。
「残念だね」って言えば良いの?
とりあえず、拡張子は.cにしよう。
次に、何の関数が戻り値無しでintと仮定されてるのかがわからない。
簡単なのコンソールアプリの例、下記。
#include <stdio.h>
int func(int n);//関数宣言
int main(argc, *argv[])
{
int a = 10;
printf("%d\n",a);//10と表示される
a = func(a);
printf("%d\n",a);//20と表示される
return 0;
}
int func(int n)//関数定義
{
return n+n;
}
組み込みとかだとずっとmain内と関数で電源を切るまで(ログオフかな?)
処理を継続させるためにvoid main(void)にして戻り値無しにするらしい。
0953俺ってやさしい
2006/06/14(水) 04:00:54に訂正ね
0954デフォルトの名無しさん
2006/06/14(水) 04:02:40先生ですか?
0955デフォルトの名無しさん
2006/06/14(水) 04:38:52http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2058.txt
適当に書いてみた。間違ってたらスマソ
0956921
2006/06/14(水) 07:00:10すまん、間違ってたのでこっちを。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2059.txt
が、もうすでに手遅れな気もする。
0957デフォルトの名無しさん
2006/06/14(水) 07:42:40ありがとうございました!
0958デフォルトの名無しさん
2006/06/14(水) 08:01:17[2] 環境コンパイラ:VisualC++6.0
[3] OS:Windows XP
[4] 提出期限:6月24日
[5] 問題内容
MFCとOpenGLによる3次元アニメーションプログラム。
作品のタイトル自由、作品には以下の基本要素が含まれるようにして下さい。
�@ OpenGLによる3次元キャラクター
�A キャラクターが動く(あるスポーツの動作、あるいは、ダンスの動作をシュミレートする)
�B MFCによるダイアログ(メニューからダイアログを開く)
�C ダイアログには、キャラクターの大きさ、動きの速さ、動きの角度などを設定する
コントロールがある。
【OpenGL参考プログラム】:http://www.fileup.org/fup88925.zip.html
【受信pass】:OpenGL
【参考ホームページ】:http://odalab.spub.chitose.ac.jp/~oda/lang/opengl.html
http://www4.plala.or.jp/tamo/opengl/win_ogl.html
【注意】
OpenGL参考プログラムをUPしました。
参考プログラムには、適当なキャラクターとアニメーションが設置されています。
あとは、ダイアログを設置して、キャラクターの大きさ、動きの速さ、動きの角度などを
コントロールできる機能を追加すればOKです。簡単なもので結構です。
よかったら、キャラクタを自由な形に変更して下さい。
完成したら、アップローダにUPしといてもらえば助かります。
よろしくお願いします。
0959デフォルトの名無しさん
2006/06/14(水) 08:24:09[1] 授業単元/言語:C++/C++
[2] 環境コンパイラ:VisualC++6.0
[3] OS:Windows XP
[4] 提出期限:6月24日
[5] 問題内容
MFCとOpenGLによる3次元アニメーションプログラム。基本要素は含まれているので。
参考プログラムには、適当なキャラクターとアニメーションが設置されています。
あとは、ダイアログを設置して、キャラクターの大きさ、動きの速さ、動きの角度などを
コントロールできる機能を追加すればOKです。簡単なもので結構です。
よかったら、キャラクタを自由な形に変更して下さい。
【OpenGL参考プログラム】:http://www.fileup.org/fup88925.zip.html
【受信pass】:OpenGL
【参考ホームページ】:http://odalab.spub.chitose.ac.jp/~oda/lang/opengl.html
http://www4.plala.or.jp/tamo/opengl/win_ogl.html
【注意】
OpenGL参考プログラムをUPしました。
完成したら、アップローダにUPしといてもらえば助かります。
よろしくお願いします。
0960デフォルトの名無しさん
2006/06/14(水) 09:46:41クイックソートについては仕組みから理解すべし
ttp://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/quick-sort.html
ttp://www.geocities.jp/ky_webid/algorithm/020.html
0961デフォルトの名無しさん
2006/06/14(水) 09:47:440962デフォルトの名無しさん
2006/06/14(水) 10:06:53あっちだと間違いなくこっちに誘導されるね。
それにしても、WinXPにVC6かぁ。滅多にない組み合わせだな。
0963デフォルトの名無しさん
2006/06/14(水) 10:17:18ぼるじょあがC/C++の宿題を片づけますYO! 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0964デフォルトの名無しさん
2006/06/14(水) 10:53:17http://pc8.2ch.net/test/read.cgi/tech/1147902222/
↑えぇ〜〜〜、こっちだYO!
0965デフォルトの名無しさん
2006/06/14(水) 11:23:020966デフォルトの名無しさん
2006/06/14(水) 11:46:380967デフォルトの名無しさん
2006/06/14(水) 12:00:07髪に祈っててくれ
0968デフォルトの名無しさん
2006/06/14(水) 12:04:450969デフォルトの名無しさん
2006/06/14(水) 12:26:400970デフォルトの名無しさん
2006/06/14(水) 13:21:53いえ、ここは勉強になるのでよく来てます
まだ見ていました。
質が悪いというのは同感w
講義でもたいした説明はありませんでしたし、
C言語初心者クラスなのに、、、
それはともあれ
どうもありがとうございました
参考にさせていただきます
0971デフォルトの名無しさん
2006/06/14(水) 13:24:08いや、なんでもない。外付けHDDにでもデータを移して
システム(OS)を稼動させるディスクを空けやすくしておくと良いYO!
0972デフォルトの名無しさん
2006/06/14(水) 14:04:380973デフォルトの名無しさん
2006/06/14(水) 14:34:24ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2061.c
暇つぶし。
0974構造体の中身を調べるプログラムだそうです
2006/06/14(水) 14:49:19#include <stdio.h>
#include <stdlib.h>
main(int argc,char **argv)
{FILE*fp;
charbuffer[20];
inti;
intc;
if(argc !=2)exit(0);
if(NULL==(fp=fopen(argv[1],"r")))
{
puts("\aFILEOPEN ERROR.\n");
exit(-1);
}
for(i=0;i<0x7fff;++i)
{
gets(buffer);
if((buffer[0]=='e') || (buffer[0]=='E'))break;
c=fgetc(fp);
printf(" No. %08d\n",i);
printf(" ===> characterdata id : %c\n",c);
printf(" ===>_ptr is : %08lx\n", fp->_ptr);
printf(" ===>*_ptr is : %02x\n", *fp->_ptr);
printf(" ===>_cnt is : %04x\n", fp->_cnt);
printf(" ===>_base is : %08lx\n", fp->_base);
printf(" ===>*_base is : %02x\n",*fp->_base);
printf(" ===>*_flag is : %02x\n", fp->_flag);
printf(" ===>*_file is : %02x\n\n", fp->_file);
}
fclose(fp);
}
0975デフォルトの名無しさん
2006/06/14(水) 14:53:20全角スペースが入っているわ、int で宣言するときに変数に指定している文字とintを
くっつけているわ、ボロボロだな。それ以外のコンパイルエラーは中身の問題。
0976デフォルトの名無しさん
2006/06/14(水) 15:19:22えらいことになってるね
0977デフォルトの名無しさん
2006/06/14(水) 15:24:44C言語/C++言語の宿題を片付けます 65代目
http://pc8.2ch.net/test/read.cgi/tech/1147902222/
0978974
2006/06/14(水) 15:32:51>>976
いや、そのボロボロなのはコピペ時に改行制限に引っ掛かって
やむなくあちこち打ち直した事によるものなのです
こちらが疑問視しているのはそれらを訂正した後に出てくるエラーの
問題で、_ptrがメンバーでない云々と出てきてばかりで解決出来ず
悩んでいるのはそこなのです
このソースはアスキー刊「実習C言語」からのものです
図書館から勉強用に借りてきたのですが版が1990年刊のものと古く、
内容的にも現在のCの規格と合わざる所があるかもしれませんが
とりあえずはこれで勉強していたわけです
で、このソースにぶつかったらコンパイル出来なくてつまづいたと
そう言う事です
どこか訂正すればコンパイル出来るのでは、今はそう思うのですが
そこはどうでしょうか
0979デフォルトの名無しさん
2006/06/14(水) 15:38:24_ptr < これが謎
0980デフォルトの名無しさん
2006/06/14(水) 15:41:02標準ではFILEが何かは規定されていない。
そのコードはFILEが構造体で、_ptr, _cnt, _base, _flag, _fileというメンバを持っていることを前提にしているから
そうでない環境でエラーになるのは当然。
0981974
2006/06/14(水) 15:53:00そうなりますとおかしいのは本の側と言う事になりますね
実はこのソースを載せたページの辺りを読んでもろくな説明がなく、
そしてそのまま次へ進んでしまっているんですよ
コンパイル出来なくて当然ですね
どうやらあれは糞本だったようです
現在刊行されている同書はその辺り補足していろいろ書かれているかも
知れませんが、今手元にある本は理解には役に立たないものと言えそうですね
大体これで納得出来ました
ありがとうございます
0982デフォルトの名無しさん
2006/06/14(水) 16:02:50発売日:2002/02/14
0983デフォルトの名無しさん
2006/06/14(水) 16:15:58おっかしいなー、こちらが持っているのは
1990年刊で三田典玄が著者なんですよね
同じ本なのはわかるけど何かの事情で変わったのかな??
0984デフォルトの名無しさん
2006/06/14(水) 16:16:250986デフォルトの名無しさん
2006/06/14(水) 16:46:30過去スレ一覧に引っかからないと何度言ったら理解できるんだ?
0987デフォルトの名無しさん
2006/06/14(水) 16:52:25http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2062.txt
引用だけどね。
0988デフォルトの名無しさん
NGNG過去スレ一覧に引っかからないと何か問題でもあるのか?
どうせ誰も過去スレなんか見ないだろが。
0989デフォルトの名無しさん
2006/06/14(水) 17:14:33いや、そもそも。
・スレタイが微妙に異なる
・今からじゃスレの版数が合わない
の2点で却下だ。
使う理由は無い、いずれdat落ちするんだから放っておけば良い。
0990デフォルトの名無しさん
2006/06/14(水) 17:20:14【前スレ】
C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149350525/
0991デフォルトの名無しさん
2006/06/14(水) 17:21:45【次スレ誘導】
http://pc8.2ch.net/test/read.cgi/tech/1150273052/
0992デフォルトの名無しさん
2006/06/14(水) 17:39:33> そうなりますとおかしいのは本の側と言う事になりますね
おかしいのではなく、環境依存であると言う事。
0993デフォルトの名無しさん
2006/06/14(水) 17:40:03ここのスレもいずれ消滅するし、
>>977に書かれている過去ログもここの>>1の過去ログも
次スレに移行してしまえば特に意味はない。
だからここで最後の最後まで質問する人を残さず
すぐに誘導した方が良いし、消化しきれていないスレに誘導してもなんら問題ないよ。
0994デフォルトの名無しさん
2006/06/14(水) 17:47:300995デフォルトの名無しさん
2006/06/14(水) 17:55:42>>977に誘導するのではなく、
>>977から>>991に誘導すれば済む話。
0996デフォルトの名無しさん
NGNGスレタイが微妙に異なると何か問題でもあるのか?
版数がずれてると何か問題でもあるのか?
どうせ誰も過去ログ見ないんだからタイトルの微妙な違いだの版数だのを気にしても
意味がない。
0997デフォルトの名無しさん
2006/06/14(水) 18:04:22昔の本なんだし、DOS全盛の頃と見えるから、
Unixを対象に入れていないならおかしくもなんともないと思う。
ttp://www.kumei.ne.jp/c_lang/intro/no_18.htm
0998デフォルトの名無しさん
2006/06/14(水) 18:09:44元々イレギュラーに建ったスレなんざ利用するまでもない、というポリシーに基づくまで。
0999デフォルトの名無しさん
NGNG2chには「出された物は残さず食べる」というグローバルポリシーがあるわけだが。
1000デフォルトの名無しさん
2006/06/14(水) 18:30:3510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。