宿題みてあげるっ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001怜
NGNGかわいい弟クンのために、宿題みてあげるね。
でも、丸投げとかしたらおこっちゃうよ。まずは自分で考えてね。
前スレ
http://pc.2ch.net/test/read.cgi/tech/1003838158/
0002怜
NGNG自分でインターネットで検索した方が早いかな。
http://www.google.co.jp/
で検索してから質問してね。
0003デフォルトの名無しさん
NGNGint a=1;
a=a+-+a;
aの値は、環境依存?
0004デフォルトの名無しさん
NGNG別に環境依存でもないんじゃ?
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGReading specs from /usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/specs
gcc version 2.95.2 19991024 (release)
0
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009怜
NGNGうーんとね、
単項の+,-は二項形高い優先順位を持つのね。で、右から左に結合するの。
だから、a=a+-+aっていうのは
→a=a+-(+a)→a=a+(-(+a)) っていうふうに解釈される。
だから、>>4さんが言ってくれてるように、環境依存ではないと思うよ。
0010怜
NGNG>二項形高い優先順位
「二項形式より高い優先順位」ね。二項形式っていうのはa+bみたいなやつ。
単項は-aとかいう感じのね。
0011デフォルトの名無しさん
NGNG0012怜
NGNGその仕様って獲物クラスについてだけだよね?
ゲームを管理するクラスとか、ハンタークラスについて
スケルトンはもらってない?
メソッドについてはいくらでも追加していいと思うよ。
でも一応privateで宣言しようね。
0013933(生徒)
NGNGデバッグは一応終わりました…
ダミークラスつくるのはちょっと方針上あきらめました。
コンパイルが通ったやつです。
↓
import java.util.*;
public class Game{
private int N; /* nxn の正方格子の定義 */
private int x,y; /* 正方格子のX座標 Y座標 */
private int see; /* 見える範囲のマス数 */
/* 5方向の箱を作ります */
int[] mode_dir=new int[5];
/* ハンターを監視するための箱を作ります */
int[][][] Hunt=new int[N+2][N+2][3];
Hunter[] h=new Hunter[3];
0014933(生徒)
NGNG@param i 獲物のx座標
@param j 獲物のy座標
*/
public Game(int i,int j,int n){
x = i;
y = j;
N = n;
for(int e = 0;e <= 4;e++){
mode_dir[e] = e;
}
for(int a = 0;a <= N+1;a++){
for(int b = 0;b <= N+1;b++){
for(int c = 0;c <= 2;c++){
Hunt[a][b][c] = 0;
}
}
}
}
/** nxn の正方格子数を設定します
@param n nxn の正方格子数
*/
public void setN(int n){
N = n;
}
/** 正方格子を設定します。
@param x 正方格子のX方向
@param y 正方格子のY方向
*/
public void setXY(int i,int j){
x = i;
y = j;
}
/** 見える範囲のマス数を設定します
@param see 見える範囲のマス数
*/
public void setSee(int s){
see = s;
}
/** X座標を取得します
@return X座標
*/
public int getX(){
return x;
}
/** Y座標を取得します
@return Y座標
*/
public int getY(){
return y;
}
0015933(生徒)
NGNG@param h1,h2,h3 ハンターの位置情報
*/
/* ハンターの位置情報を箱に確保します */
/* 視界の中にハンターがいればフラグを立てます */
public void escapeGame(Hunter h1,Hunter h2,Hunter h3){
h[0] = h1;
h[1] = h2;
h[2] = h3;
int flag;
flag = 0; /* フラグの有無 */
for(int a = 0;a <= N+1;a++){
for(int b = 0;b <= N+1;b++){
for(int c = 0;c <= 2;c++){
if((0 < (x - h[c].getX())) && ((x - h[c].getX()) <= ((see-1)/2)) && (y == h[c].getY())){
Hunt[a][b][c] = h[c].getX() - x;
flag += 1;
}else if((0 < (y - h[c].getY())) && ((y - h[c].getY()) <= ((see-1)/2)) && (x == h[c].getX())){
Hunt[a][b][c] = h[c].getY() - y;
flag += 1;
}else if((0 < (h[c].getX() - x)) && ((h[c].getX() - x) <= ((see-1)/2)) && (y == h[c].getY())){
Hunt[a][b][c] = h[c].getX() - x;
flag += 1;
}else if((0 < (h[c].getY() - y)) && ((h[c].getY() - y) <= ((see-1)/2)) && (x == h[c].getX())){
Hunt[a][b][c] = h[c].getY() - y;
flag += 1;
}
}
}
}
0016933(生徒)
NGNG/* 壁があります */
/* 壁がない方向の箱を拾って壁がある方向の箱は控除します */
if(x == 1){
mode_dir[0] = 5;
/* これ以上上に行けません(上への進路無効化)*/
}else if(y == 1){
mode_dir[1] = 5;
/* これ以上左に行けません(左への進路無効化)*/
}else if(x == N){
mode_dir[2] = 5;
/* これ以上下に行けません(下への進路無効化)*/
}else if(y == N){
mode_dir[3] = 5;
/* これ以上右に行けません(右への進路無効化)*/
}else{}
/* ハンターの位置が視界内・視界外の判定をします */
if(flag == 0){
for(int g = 0;g <= 100;g++){
int modeA;
int modeB;
int modeC;
modeA = (int)(Math.random() * 5 );
modeB = (int)(Math.random() * 5 );
modeC = mode_dir[modeA];
mode_dir[modeA] = mode_dir[modeB];
mode_dir[modeB] = modeC;
/* mode_dirの内容をシャッフルすることで入れ替えます */
}
}
0017933(生徒)
NGNGfor (int c = 0;c <= 2;c++){
if(Hunt[h[c].getX()][y][c] <= 1){
mode_dir[0]= 5;
}else if(Hunt[x][h[c].getY()][c] <= 1){
mode_dir[1]= 5;
}else if(Hunt[h[c].getX()][y][c] >= 1){
mode_dir[2]= 5;
}else if(Hunt[x][h[c].getY()][c] >= 1){
mode_dir[3]= 5;
}else{}
}
/* 〜ハンターがいない方向をランダムに選びそちらへ進みます*/
/* 視界にハンターがいますが近いハンターから遠ざかる方に動きます */
/* 移動可能な方向に限定してランダムに動きます */
}else if(flag >= 2 ){
for (int c = 0;c <= 2;c++){
if(Hunt[h[c].getX()][y][c] <= 2){
mode_dir[0] = 0;
}else if(Hunt[x][h[c].getY()][c] <= 2){
mode_dir[1] = 1;
}else if(Hunt[h[c].getX()][y][c] >= 2){
mode_dir[2] = 2;
}else if(Hunt[x][h[c].getY()][c] >= 2){
mode_dir[3] = 3;
}else {
mode_dir[4] = 4;
}
}
}
/* 塞がれて動けなければその場にとどまります */
if(mode_dir[0] == 5
&& mode_dir[1] == 5
&& mode_dir[2] == 5
&& mode_dir[3] == 5){
mode_dir[4] = 4;
}
0018933(生徒)
NGNGprivate int p = 0;
private int r = 0;
private boolean breakflag = true;
do{
r = (int)(Math.random()*100);
p = (r)%5;
switch(mode_dir[p]){
case 0:/* 上に動く */
y -= 1;
breakflag = false;
break;
case 1:/* 左に動く */
x -= 1;
breakflag = false;
break;
case 2:/* 下に動く */
y += 1;
breakflag = false;
break;
case 3:/* 右に動く */
x += 1;
breakflag = false;
break;
case 4:/* その場にとどまる */
breakflag = false;
break;
case 5:/* 抽選しなおす */
p++;
break;
}
}while(breakflag);
}
}
0019933(生徒)
NGNGこっからやっといろいろいじくれます…
まだコンパイルが通っただけですが…。
0020怜
NGNGここからが本当のデバッグの開始だからがんばっていこうね。
まず、mode_dirとHuntをコンストラクタの中で初期化してるけど、
これは、escapeGameを呼び出すたびに初期化する必要があるのよね。
まず、そこは直さないとね。
Hunt[a][b][c] = h[c].getX() - x;
ってやってるから、Hunt[a][b][c]にはマイナスが入ることもあるわよね?
だから、flag == 1のときに、
if(Hunt[h[c].getX()][y][c] <= 1){
}else if(Hunt[h[c].getX()][y][c] >= 1){
みたいな、判定をするのは、何か違う気がするの。0より大きい、もしくは小さい
でいいんじゃないの?
それにマイナスになる事考えると、
flag >= 2のときの、
if(Hunt[h[c].getX()][y][c] <= 2){
とかいうのも明らかにおかしいのよね。
Math.abs(x)とやれば、xの絶対値が得られるからこれも上手く利用するといいか
も。
まあ、とりあえず目についたのはこれくらいかな。
これくらいといっても、基本的な部分で問題があるから、修正すると他にも色々
間違えそうだけど。
プログラムなんて、デバッグをどれだけ頑張れるかで力がついていくものだから、
頑張ってね。
0021933(生徒)
NGNGescapeGame の中で初期化させろということですか?
移動すればいいんですよね?了解です。
マイナスをつけているのは左←→右にいる、上←→下にいる、っていうのを
1回でわかるようにするためにつけています。
だから距離だけじゃなくて方向も導入した方がいいと思いまして。
ただ、それだと確かに全体で筋が通らないのも事実で…
これをどうしようかと今考えてます。
それと、自分がageるべきなんでしょうか?やっぱ。
0022933(生徒)
NGNGなんでじゃ〜!!
0023怜
NGNG>マイナスをつけているのは左←→右にいる、上←→下にいる、っていうのを
>1回でわかるようにするためにつけています。
その意図はわかるんだけど、だったらまず、flag == 1のとき、
if(Hunt[h[c].getX()][y][c] <= 1)
とかじゃなく、
if(Hunt[h[c].getX()][y][c] < 0)
とかすべきよね、ってこと。
あと、flag == 2のときも、
if(Hunt[h[c].getX()][y][c] <= 2){
じゃなくて、
if(Hunt[h[c].getX()][y][c] <= -2){
とか。
あと、publicとかprivateとかつけるのはクラスのメンバ変数(クラスのメソッド
の外で定義されて、クラス全体で使う変数のことね)だけで、メソッドの中で定義
される変数にはつけないものなの。
publicとかprivateとかの意味はわかる?
0024933(生徒)
NGNG>>18 の
private int p = 0;
private int r = 0;
private boolean breakflag = true;
はうそです…
自分がここにコピペする時つけてもいいだろうと思ってたのでつけましたが
コンパイル通すと叱られました…
これらと flag は escapeGame より上のクラスで
private 指定しないといけないものなのですか?
というより、こういうことするのはおせっかいですかね?
0025933(生徒)
NGNGpublic や private の意味とかはわかります。
語句の意味は。
だけど、そのプログラム的な扱い方なんかがホントわかってないんです。
言われて「あ、そっか…」と思ってます。
クラスのメンバ変数、っていう考え方があって
その上で「これからクラス内でこの変数を使いますよ〜」っていう宣言は
クラスより上で指定されなければいけないってことですか?
0026933(生徒)
NGNGprivate int p = 0;
private int r = 0;
private boolean breakflag = true;
っていうのは private 外すとひょっとしたら class Game 外の他の値を
参照してしまう危険があるわけですよね?
だけど escapeGame 内で指定するのは間違ってるってことですよね。
0027怜
NGNGprivateをつけると、クラスの外部から参照される事がなくなるとか、
publicをつけると、クラスの外部からも参照、書き換えができるように
なるとかそういうものなの。
クラス全体で使うものはメソッド(関数)の中ではなくて、
public class ●●{
の直下で、宣言しないといけないのね。
0028933(生徒)
NGNGおかしいってことでしょうか?
一応 int p , int r , boolean breakflag , int flag
全て最初のクラスの下に private をつけて宣言しなおして
コンパイル正しました。
p = 0 ; , r = 0 ; , breakflag = true ; , flag = 0 ; は
全てそのままにしてあります。
こういう処理の方がいい、ということですよね?
0029933(生徒)
NGNGNの大きさ、seeの範囲、3人のハンター及び獲物の位置情報などを
入力して実際に動作確認をしてみたいのですが、
どの場所に main を置くのが正しいのか
または完全に独立させてメイン文書いたほうがいいのか
よくわかってません。
オブジェクト思考がなんたるかに沿いながら解説していただけると
非常に助かります。
(ホントなんでおれ講義出なかったんだよ…)
0030933(生徒)
NGNGint[] mode_dir=new int[5];
int[][][] Hunt=new int[N+2][N+2][3];
Hunter[] h=new Hunter[3];
の前にも private をつけました。
現在の仕様:
↓
private int N; /* nxn の正方格子の定義 */
private int x,y; /* 正方格子のX座標 Y座標 */
private int see; /* 見える範囲のマス数 */
private int flag;
private int p;
private int r;
private boolean breakflag;
private int[] mode_dir=new int[5];
private int[][][] Hunt=new int[N+2][N+2][3];
private Hunter[] h=new Hunter[3];
public Game(int i,int j,int n){
x = i;
y = j;
N = n;
}
public void setN(int n){
N = n;
}
public void setXY(int i,int j){
x = i;
y = j;
}
public void setSee(int s){
see = s;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
0031デフォルトの名無しさん
NGNGこの933ってのは何人もいるのか?
0032デフォルトの名無しさん
NGNG↑これ書いたの誰だよ。
0033933(生徒)
NGNG自分だけです。
>>31
0034デフォルトの名無しさん
NGNG2001 12/10 12:28
えむえす
誰かつぎの問題のプログラムを制作してください。お願いします
問題1
n個の中から、r個を選ぶ組み合わせの数nCrををもとめる再帰呼び出しを使った
プログラムを作成せよ。ここでnCrには、次の関係式が成り立つ。
nCr=n-1Cr+n-1Cr-1
また、常に、nC0=1,nCn=1が成り立つ。
0035味噌醤油醸造株式会社
NGNGint C(int n, int r)
{
return C(n-1,r)+C(n,r+1);
}
int main()
{
printf("%d\n", C(-100, -10));
return 0;
}
0036デフォルトの名無しさん
NGNG0037怜
NGNGテストするならダミークラスをつくらなくちゃ。
少なくとも、Hunterと、ゲーム進行を管理するクラスが必要。
ゲーム管理だからGameManagerとか名前付けたいんだけど、
獲物にGameなんてつけてるからそれじゃ解りにくくなっちゃうわね。
私なら獲物じゃなくて逃亡者(Runaway)とか命名するんだけどなぁ。
とにかくテスト用にこんな風にクラスを作ったらどうかな。
// 933君のGameクラス
class Game{
private int x;
private int y;
public void escapeGame(Hunter h1, Hunter h2, Hunter h3){
x = h1.getX() + h2.getX() + h3.getX();
y = h1.getY() + h2.getY() + h3.getY();
}
// デバッグ用データ出力メソッド
public void debugPrint(){
System.out.println("[Game] x = " + x);
System.out.println("[Game] y = " + y);
}
}
//テスト用Hunter
class Hunter{
private int x;
private int y;
public void setPos(int posx, int posy){
x = posx;
y = posy;
}
public int getX(){return x;}
public int getY(){return y;}
}
//テスト用Main
public class Main{
public static void main(String[] args){
Hunter hunter1 = new Hunter();
Hunter hunter2 = new Hunter();
Hunter hunter3 = new Hunter();
Game game = new Game();
hunter1.setPos(10,10); //hunterの位置をセット
hunter2.setPos(20,20); //hunterの位置をセット
hunter3.setPos(30,30); //hunterの位置をセット
game.escapeGame(hunter1,hunter2,hunter3);
game.debugPrint(); // escapeGameの結果出力
}
}
これをベースに、必要な処理を付け加えてね。
コンパイル、実行のやりかたはわかるわよね?
0038怜
NGNG933君はフィールドとローカル変数の違い、ちゃんと理解してる?
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGたしかに(W
0041怜
NGNGうそ教えちゃかわいそうよ。
int C(int n, int r)
{
if(r == 0 || r == n) return 1;
return C(n-1, r) + C(n, r-1);
}
int main()
{
printf("%d\n", C(-100, 10));
}
0042怜
NGNG>非常に助かります。
とりあえず、本当にわかっていないっぽいので、簡単にオブジェクト指向について
説明するわね。ちょっと語弊ある言い方するかもしれないけど、感じをつかむという
意味でね。
オブジェクト指向っていうのは、簡単に言えばプログラムを部品化したいのね。
内部で何をしているかを気にせずに、ある機能を持つプログラムを使いたいと。
この場合獲物のクラスっていうのがあるわよね? この場合、獲物がどのような
事を考えて行動を決めるかっていうのは、ゲームを管理するクラスからは興味ない
の。単にこういう場合にどういう行動したか、その結果が欲しいだけなの。
だから、内部で色々分析するのに使った変数なんて、外部からは見たくないし、
また見せたくないのよね。だから、そういうのは全部privateで宣言するの。
それで、このGameクラスっていうのは、獲物そのものを表現してるのね。だから、
これ単独で使うことはないから、mainはここにはいれないものなの。
実際にどうするかっていうと、多分先生が用意するゲームを管理するクラスで
933クンが作ったGameクラスのインスタンスを作るの。インスタンスっていうのは、
なんていえばいいのかな。まあクラスに実体を持たせたものというか・・うーん。
その辺から説明しないといけないか。
今、獲物を表すクラスを作ったよね。でも、これは獲物の一般的な定義なわけね。
これに対し「獲物A」みたいなの作りたいの。だから、このGameクラスのインスタンス
っていうのを(まあ変数みたいな気分ね)作ることによって、「獲物A」ができるの。
何個もインスタンスを作ることで「獲物B」「獲物C」、とかも作れるわけね。
このときに、大切なのは、このクラスのメンバ変数っていうのは(ここでいうと
例えばNとかxとかy等のクラスの中で定義され、メソッドの外で定義されてるもの)、
「獲物A」「獲物B」「獲物C」それぞれ違う値をもっているの。だから、獲物Aに
逃げろっていえば、獲物Aのxとかyとかの値に従って、escapeGame()を実行すること
になるのよね。で、このメンバ変数っていうのは、「獲物A」とかが無くなるまで
保持されるの。でも、メソッドの中で定義された変数はそのメソッドが実行しおわって
しまうと消えてしまうわけ。
まあ、そのインスタンスを作って、それに「こういう状況だけど逃げろ」って感じ
でゲームを進めていくわけね。
・・・って、説明難しい。とりあえずオブジェクト指向については、少ししっかり書いて
あるページでもみてみてね。
0043933(生徒)
NGNG共同制作の友達と大学で夜を明かして完成に至りました。
奇跡のように動くので感動してます。
(プログラムソースは…希望者があれば貼ります)
ここの住人の方々にはスレ消費などの迷惑をかけてしまい申し訳ないです。
以後もまたここでつたない質問などして茶を濁すかもしれません。
オネエさんの説明も今になってようやくわかります。
他にも砕身してくださった方、ありがとうございました。
0044あ
NGNG0045デフォルトの名無しさん
NGNG0046
NGNG0047デフォルトの名無しさん
NGNG0048
NGNGWhile使うのはどうやって。。
素人なんでごめんなさい。
0049デフォルトの名無しさん
NGNG比べた後にフラグレジスターを見て条件付きジャンプ命令で飛ぶ。
0050デフォルトの名無しさん
NGNG万能機でも作るのか?
0051デフォルトの名無しさん
NGNG僕のかわりに書け
0052デフォルトの名無しさん
NGNG4年生はAちゃんという女の子一人しかいない小学校で,彼女は一生懸命ごんぎつねの感想文を書いた.
しかし,悲しいかなそれに答えてくれる同学年の子供は彼女の学校にはいないのである.
Aちゃんの感想文は先生の力によってホームページに載った.
それから暫くして日本中の学校から「感想文の感想」が送られてたのである.
いまでは「絵」あり「まんが」ありのとても充実した学習ページになっている.
彼女は一人ではなかったのである.
もちろんAちゃんの先生がコンピュータができるだけの人でなく,コンピュータの本来の使い方を知っていたということが最大のポイントであることは言うまでもない.
これもコンピュータがあればこそのことである.
0053
NGNG加算のチューリングマシンは
M+=(K2)^2LlTlB こんな感じになってました
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGその記号何語?
0057デフォルトの名無しさん
NGNG「人数を入力してその人数分の成績を入力すると
合計点、平均点、最高点、最低点が表示される
ようにせよ」という問題です。
0058デフォルトの名無しさん
NGNG0059
NGNGB ヘッドが見ている駒にBを書く
らしいですが・・・
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGforでもwhileでもそれだけじゃ無理だ。
○×は禁止。ならともかく。
0062Kusakabe Youichi
NGNG> C言語ですが(for文だけで)
> 「人数を入力してその人数分の成績を入力すると
> 合計点、平均点、最高点、最低点が表示される
> ようにせよ」という問題です。
変な課題出すひとですね。
でもまあ、そんな授業でも、聞いてなくて
こんなところで質問するのはかなりマヌケですが。
0064デフォルトの名無しさん
NGNG入力は分かるね。合計点は全部足せば良いし
平均点はそれを人数で割ればよい。
最高点は一番大きい数を更新すればよいし
最低点はその逆だ。何がわからん?
0065デフォルトの名無しさん
NGNG小一時間問いつめたい。
むしろ俺なら「whileを禁止する無意味さ」を論文にして回答として提出するね。
0066デフォルトの名無しさん
NGNG#include<limits.h>
main()
{
int nin,i;
int ten,max=INT_MIN,min=INT_MAX,sum=0;
float avel;
printf("人数いれろ >> ");
scanf("%d",&nin);
printf("---------------\n");
for(i=0;i<nin;i++){
printf("点数いれろ >> ");
scanf("%d",&ten);
if(ten>max) max = ten;
if(ten<min) min = ten;
sum += ten;
}
avel = (float)sum;
avel /= nin;
printf("---------------\n");
printf("合計点%d\n",sum);
printf("平均点%f\n",avel);
printf("最高点%d\n",max);
printf("最低点%d\n",min);
}
0067Kusakabe Youichi
NGNG> #include<stdio.h>
> #include<limits.h>
こうやって書くやつは例の入門書読んだのだろうか? :)
0068デフォルトの名無しさん
NGNG作ってわかるCプログラミング?
0070デフォルトの名無しさん
NGNGあっちこっちに書くな、鬱陶しいなあ
0071怜
NGNG丸投げはダメって言ったでしょ?
どこがわからないか言ってごらん。
1.e.πをどうしう式で表していいかわからない。
2.それをどうプログラムで表現していいかわからない。
2の場合、特にどのあたりで困っているか。
100桁っていう、doubleとかで扱えない桁数の処理かな?
0072デフォルトの名無しさん
NGNGバブルで昇順にするのなんですけど
整数のはできたけど小数が入っている場合が
よく分からないので
どこをかえればいいか教えてください。
0073Kusakabe Youichi
NGNG> ファイルから数値を読み取り
> バブルで昇順にするのなんですけど
> 整数のはできたけど小数が入っている場合が
> よく分からないので
> どこをかえればいいか教えてください。
小数が入っているとどうわからないのか、
整数のときはどう書いたのか、が書いてあれば答えてもらえるでしょうね。
0074デフォルトの名無しさん
NGNG変換の方のプログラムはできるんですが、
キーボードから5桁の2進数を入力してそれを配列に格納する方法がわかりません。
色々検索して似たようなものを見つけたはみつけたのですが、
ttp://robotics.me.es.osaka-u.ac.jp/~masutani/Jouki/Kyouzai/binary.html
atoiとかを使ってやるのかなと考えたのですが判りません。
ダレか教えてください。
0075デフォルトの名無しさん
NGNGfgets()
0076デフォルトの名無しさん
NGNG判らないなら、
if(strcmp(str,"00000") == 0) return "0";
if(strcmp(str,"00001") == 0) return "1";
if(strcmp(str,"00010") == 0) return "2";
とか並べればぁ?
0077デフォルトの名無しさん
NGNG変換方法はわかってるって言ってるじゃん。
0078デフォルトの名無しさん
NGNGmy $message2;
my $msg;
$message = param('input');
$message2 = param('input2');
$substract = 2001-$message2;
if($substract>1981)
{
$msg="20以下は駄目";
}
ここまでなんとかやったんですけど
40以下は、駄目って表示したい場合、どうやればいいんですか?
andみたいな奴ってあります?
0079デフォルトの名無しさん
NGNGmy $message;
my $message2;
my $msg;
$message = param('input');
$message2 = param('input2');
$substract = 2001-$message2;
if($substract>1981)
{
$msg="40以下は駄目";
}
0080電気科の人
NGNG#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05+1;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品は%d円になるぞ。\n",b);
}
0081電気科の人
NGNGすみません。
0082電気科の人
NGNG#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05+1;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品は%d円になるぞ。\n",b);
}
このプログラムだと
なんか900円くらいまでは大丈夫みたいなんですけど、
1000円以上になると値がおかしくなるんです。
なんでですか??
1をプラスしないと答えが合わないのはなぜですか??
(1000円以上だとこっちのほうは答えがあう)
誰か教えてください。
0083デフォルトの名無しさん
NGNG1を足す意味がわからない。
0084デフォルトの名無しさん
NGNGCの初心者HP逝って「型」を調べてみてね。
0085デフォルトの名無しさん
NGNGint型にしているのは小数点以下を切り捨てるためだと思うが。
0086デフォルトの名無しさん
NGNG・・・・・無駄だな。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGgoto 85
0090とても親切な人
NGNG>1をプラスしないと答えが合わないのはなぜですか??
なぜ1をプラスすると答えが合うって言うんだい?
よし、仮に入力が1だったとしよう。
int(1 * 1.05 + 1) を計算すると答えは2だね。
で、キミの住む町というか妄想世界では1円の商品を購入
すると消費税1円が加算されて2円請求されるという事かい?
もしそうなら悪いことは言わない、早くその町というか
妄想世界から引越しなさい。
そうすれば、そのプログラムは b=a* 1.05; とするだけで
普通に答えが合うようになるぞ。
それとも「消費税を計算できるもてもてやす君16歳」
というのを忠実にシミュレートするプログラムだと
そうするしかないのかな?
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGなんか、あってるんだけど。どこがおかしいの?
0093デフォルトの名無しさん
NGNG取り合えず+1はやめれ 意味不明
全部floatでやって最後にintにキャストすりゃいいだろ
009492
NGNG1500→1575(+1無しで)
0095デフォルトの名無しさん
NGNG0を入力して見ろよ。
それでも合ってるって言うのかお前ってヤツは!!
009792
NGNG何がおかしいのか分からん。
小数点以下もちゃんとでないし。ちなみにVC++6。
0098デフォルトの名無しさん
NGNGまいりました。
0099デフォルトの名無しさん
NGNG質問の意図をはずしていると思われる。
まず元のソースを変更せずにコンパイルし、
900以下の数値を入力して得られる結果を「正しい」と思い、
1000以上の数値を入力して得られる結果が「おかしい」と思う
ところからスタートしなさい。
0101デフォルトの名無しさん
NGNG010299
NGNG>ちゅうか、ソース見て+1の効果が分からんの?
+1の効果?
バグの原因て意味ならわかるけど正解を導く為に必要ってんならわからないです。
82は「800→841でOK」だけど「21000→21001はNG」と言っていますけど。
0104デフォルトの名無しさん
NGNG切り上げの店が多いな。
だから足すなら1じゃなくて0.5だ。
はい、次の質問〜
010592
NGNG>82は「800→841でOK」だけど「21000→21001はNG」と言っていますけど。
841でOK、ってどこに書いてあるの?800円のモノ買ったら841円
請求されんの?マジで?消費税って5.125%になったの?
010799
NGNGなんか900円くらいまでは大丈夫みたいですよ。
>>82より引用。
>このプログラムだと
>なんか900円くらいまでは大丈夫みたいなんですけど、
>1000円以上になると値がおかしくなるんです。
>なんでですか??
#スレ荒らしてしまったみたいなのでこれでやめる
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111電気科の人
NGNG今までチャット&ご飯だった。
+1は結果を合わそうとして無理矢理付け加えたもの。
0としたら1円だった。それおかしいと思った。
ただ+1を抜かすと、100と入力したら104円になった。
要するに言いたいことは
〜〜〜〜〜+0除いたソースの場合〜〜〜〜〜
1.入力100とすると出力104←×
2.入力1000とすると出力1050←○
〜〜〜〜〜+1を付け加えたソースの場合(82のソース)〜〜〜〜〜
1.入力100とすると出力105←○
2.入力1000とすると出力1051←×
〜〜〜〜〜本来なるべき結果〜〜〜〜〜
1.100と入力すると出力105←○
2.1000と入力すると出力1050←○
文はごちゃごちゃになってしまいましたが(あしからず)
「〜本来なるべき結果〜」出力のソースお願いします。
では一旦お風呂タイムっす(笑)
0112デフォルトの名無しさん
NGNGY + (Y * 5) /100 円
0113デフォルトの名無しさん
NGNGならねーよターコ
0114デフォルトの名無しさん
NGNGY + Y /20 円
端数切り上げなら
Y + Y / 20 + (Y % 20 ? 1 : 0)
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGマクロがいい。
0117電気科の人
NGNGなるんです。ちなみにコンパイラは
LSIC(?)試食版で
エディタはLCPADです。
>115さん
へいっ!!結構貴重っぽいアドバイスありがとうございます。
>116さん
プリプロセッサ指令??
#include <stdio.h>
main()
{
int a,b;
printf("やす君:消費税を計算できるもてもてやす君16歳だべ。\n");
printf("やす君:商品は何円っスか。\n");
scanf("%d",&a);
b=a*1.05;
printf("入力者:%d円です。\n",a);
printf("やす君:その商品はd円になるぞ。\n",b);
}
これだと少なくとも(入力したら)100円の時と400円の時はおかしいス。
0118デフォルトの名無しさん
NGNGおかしくない。
ちなみにVC++6.0 Pro
0119デフォルトの名無しさん
NGNG感電して氏ね!!
0120デフォルトの名無しさん
NGNG自動型変換をするからfloatにする必要はないと思われ。
うまくゆかなかったらコンパイラが悪い。
0121デフォルトの名無しさん
NGNG> なるんです。ちなみにコンパイラは
> LSIC(?)試食版で
ずいぶん誤差が大きいんだな >LSI-C
とりあえず>>104を欲嫁。
> エディタはLCPADです。
そんなもん誰も生糸欄。
0122質問
NGNG0123デフォルトの名無しさん
NGNGstringだろ。
0124デフォルトの名無しさん
NGNGプログラミング言語C第二版の189ページに書かれていることからして、
stringのsだと思う。
0125怜
NGNGありがとー。荒れるの防止に一役かえてるなら嬉しいわ(w
質問者が理解していない可能性があるから、ちょっとフォローしてくわね。
>>112 >>114さんが言ってくれたみたいにやればいいと思うよ。
これは、b = a * 1.05;
って書くとa * 1.05を計算するときには浮動小数点で計算されるの。
このときに、コンピュータの内部では二進数で計算するのね。
だから、微妙に誤差が出ちゃうわけ(丸め誤差っていうから覚えとこう)。
で、浮動小数点→整数に変換されるときには、小数点以下は切り捨てられるの。
だから、もしほんの少し誤差がでて、計算した結果が、
a = 104,99999999999999999999999
みたくなったら、a = 104 になってしまう。
誤差がどういう風に出るかによって結果が違ってくるから上手くいく場合といかない
場合があるのよね。
この誤差を防ぐには、>>114さんが書いてくれたように全部整数で計算すればいいわけね。
0126デフォルトの名無しさん
NGNG消費税率かわるたびに再コンパイル?
そのうち地方によって消費税率が異なるようになったら大変だな。
0127デフォルトの名無しさん
NGNG各要素の値を少数第8位まで出力しなさい。
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
int main(void)
{
double root[11];
for(int x=0; x<11; x++)
root[x]=sqrt(3.0+x/10.0);
cout << setiosflags(ios :: fixed);
for(x=0; x<11; x++)
cout << setprecision(8) << root[x] << endl;
return 0;
}
ってやったんですけどうまくいきません。何が悪いんでしょうか?
0128Kusakabe Youichi
NGNG> 大きさ11の配列rootの各要素に3.0(I$3.1(I$%%%%%4.0の平方根を求めてから、
文字化けしてます。
> 各要素の値を少数第8位まで出力しなさい。
少ない数?
> #include<iostream.h>
> #include<math.h>
> #include<iomanip.h>
この書き方...へんな入門書でも読みましたか? :)
> for (int x = 0; x < 11; x++)
> for (x = 0; x < 11; x++)
> ってやったんですけどうまくいきません。何が悪いんでしょうか?
うまく行かないってのは、コンパイルエラーでも出たのですか?
だったらそのエラーを読めばいいじゃん。
0129デフォルトの名無しさん
NGNG二つめのfor(x=...)で引っかかってるでしょう。
for(int x=..)で解決。
0130デフォルトの名無しさん
NGNGKusakabeってマジ?それともネタ?
0131デフォルトの名無しさん
NGNGfjの昔からある荒し専用コテハン
2ちゃんではごく最近なので誤解している人多数
0132デフォルトの名無しさん
NGNGの名前だという説もある。フランスのブルバキみたいなもの(そんな
立派ではないか)。
0133電気科の人
NGNGわかりました。それ理解することできました。
でも大変申し上げにくいことが・・・w
>一緒に考えてくれた人達
LSIC(?)でも成功する方法を発見しました。
これは先パイの友に聞いた方法なんですが・・・
#include <stdio.h>
main()
{
int b;
float a,c;
a=1.05;
printf("入力せよ\n");
scanf("%d",&b);
c=a*b;
printf("%.0f\n",c);
}
でLSIC(?)でもできます。
100と入力したら105。となる。
1000と入力したら1050。となる
・・・一緒に考えてくれたみなさん。ありがとうございました。
とりあえず万事解決です!!
0134デフォルトの名無しさん
NGNGだからそれが丸め誤差だっつーの。
覚えときなさいよ、まったく。
0136デフォルトの名無しさん
NGNG使ってるコンパイラは何?VC6ならそれでうまくいくんだけど、
g++だと>>129の言うようにしないとだめ。
for文の()内のスコープがコンパイラによって違う。
このへんの話しはKusakabeちゃんが大好きな話しだよね。
素直に話しちゃくれないだろうけど。
話し。
0137デフォルトの名無しさん
NGNGやす君はクビですか?
0138デフォルトの名無しさん
NGNG0139Kusakabe Youichi
NGNG> for文の()内のスコープがコンパイラによって違う。
標準規格に適合しているかどうかの問題でしょ?
> このへんの話しはKusakabeちゃんが大好きな話しだよね。
はなしし?
0140デフォルトの名無しさん
NGNG0141Kusakabe Youichi
NGNG> 「話し」は「話す」の連用形です。連用形は単独で名詞的に使われますね。
連用形と名詞は別箇ですよ。
(連用形が名詞化したものは多いですが)
0142デフォルトの名無しさん
NGNGあれだけfloatにしろって言われたのに友達の先輩から
言われるまで頑なに拒み続けた電波科の人。何しにこのスレに来たのか?
0143デフォルトの名無しさん
NGNG説明不足が悪い。
floatにして、floatのままprintfで表示することが大切だが、そこまで説明
してなかったから。floatにして、intにキャストしてたら結果は一緒だよ。
0144名前なし
NGNGJAVAで二分探索木を作りたいんですが
ポインタがないジャバでノードとパスをどのようにすればいいんでしょうか?
そのようなクラスとかメソッドがあるんでしょうか?
0145デフォルトの名無しさん
NGNG次の人のインスタンスを自分自身のメンバに持っちゃうクラスを作る
0146デフォルトの名無しさん
NGNGTreeMap
というそのものズバリがあることはあるが
ご要望に添えるかどうかは仕様を見て自分で判断してくれ。
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/util/TreeMap.html
JDKにはソースもたぶんついてくるからそれを見て参考にするのもよし。
Javaにポインタが無いといっても「参照」と呼ばれる物は
制限付きのポインタと思ってもほぼ間違いないものなので
LinkListやTreeもちゃんと作れるよ。
0147怜
NGNGJavaのクラスを表す変数は気分的には全てポインタと思ってもらって構わないよ。
ポインタがないというより、ポインタしかないと言うべきかな。
c++とか知ってると少し混乱するかも。コピーコンストラクタとかないからね。
intとかdoubleとかの基本型はまた別。
0148デフォルトの名無しさん
NGNGルンゲクッタで数値計算するときに、
double x1[100][720]のように配列を指定すると実行できるのですが、
double x1[50][7200]にすると実行できなくなります。
同じようなソースで、double x1[150][1200],x2[150][1200]ですると動きます。
配列:50*7200=360000、150*1200*2=360000なので
メモリーに問題は無い気がするのですが、どうなんでしょうか?
上手く実行する方法ないでしょうか?
メモリーを節約する方法とかないでしょうか?
お願いします。
0149デフォルトの名無しさん
NGNGスタックが不足してる、コンパイラのHELP見てスタックを広げるか
constにしちゃえ、或いは*x1[50]としてmallocするか
ルンゲクッタはちょっと勘弁 w
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGただの丸(Z軸は考えない)は(sin(x),cos(x),0)のxを変えて書けたんですが、
Z軸が入る球はどうすればよいのでしょうか・・・?
なんか頭がこんがらがってきました。
ちなみにC++です。
0152デフォルトの名無しさん
NGNG149の言うようにヒープから確保すればよい。
0153デフォルトの名無しさん
NGNG何が問題?
一次変換、投影、陰線処理などは解決済?
0154デフォルトの名無しさん
NGNG配列のインデックスをポインタ代わりに使うってのも楽かもしれない
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGy=sinθ sinφ
z=cosθ
0157148
NGNG調べてやってみます。
0158デフォルトの名無しさん
NGNG関数f1が→double型で f1= exp(1/x[k][i])で表現できる時、
main文の前に
double f1(double x)
{
return();
}
のように宣言したいのですが、
double f1(double x[50][50])
{
return(exp(1/x[k][i]);
}
にするとコンパイルできません。
配列を使って宣言する方法を教えて下さい。
ちなみにmain文の中に、
double f1とf1= exp(1/x[k][i])をいれると動きます。
0159デフォルトの名無しさん
NGNGmainからはどういうカタチで呼び出したいのかも書いてくれ。
0160デフォルトの名無しさん
NGNGkとiを受け取っていないからじゃないか?
0161デフォルトの名無しさん
NGNGdouble f1(double x)
{
return exp(1/x);
}
main()
{
double x[50][50];
double ans;
int k,i;
ans = f1(a[k][i]);
}
0162訂正
NGNG正 ans = f1(x[k][i]);
0163デフォルトの名無しさん
NGNGdouble f1(double (*x)[50])
{
return exp(1/x[k][i]);
}
そりゃー、全角のカッコ使ったりカッコの数が合ってなかったりしたら、
コンパイルは通らん罠。
0164デフォルトの名無しさん
NGNGやらせたいことを具体的に数式で表現してくれ
0165161
NGNG0166デフォルトの名無しさん
NGNG{
return (1/x[k][i]);
}
main(){
double x[50][50];
double ans;
int k,i;
k = hogehoge1(); // 1次元の配列番号決定処理
i = hogehoge2(); // 2次元の配列番号決定処理
ans = f1(x, k, i);
}
こういうことをしたいのかな?
へんなプログラムだけど。
0168166
NGNGそうなんだけど、>>158にあるのは
>double f1(double x[50][50])
>{
>return(exp(1/x[k][i]);
>}
だから、無理に合わせてみました。
0170デフォルトの名無しさん
NGNG遅くなって申し訳ありません。
実際の概略はこんな感じです。
void ans(x[50][50],y[50][50])
{double k1;double k2;double k3;double k4;
k1=exp(1/x[k][i]);
k2=exp(1/(x[k][i]+k1/2);
k3=exp(1/(x[k][i]+k2/2);
k4=exp(1/(x[k][i]+k3);
y[k][i+1]=y[k][i]+(k1+k2+k3+k4)/6;
}
main()
{
double x[50][50],y[50][50],z[50][50];
int k,i,a;
a=3;
for(k=0;k<50;++k){
x[0][0]=0;
y[k][0]=1;
for(i=0;i<50;++k){
ans(x,y);
z[k][i]=10*y[k][i];
}
x[k+1][i]=x[k][i]+a*z[k][i];
}
}
これを
double f(double x[50][50])
{
return(exp/(x1[k][i]));
}
void ans(x[50][50],y[50][50])
{double k1(double x[50][50]);double k2(double x[50][50]);
double k3(double x[50][50]);double k4(double x[50][50]);
k1=f(x[k][i]);
k2=f(x[k][i]+k1/2);
k3=f(x[k][i]+k2/2);
k4=f(x[k][i]+k3);
y[k][i+1]=y[k][i]+(k1+k2+k3+k4)/6;
}
main()
double x[50][50],y[50][50],z[50][50];
int k,i,a;
のように書きなおしたいのですが、できませんでした。
実際はもっと代入する式が多いので、f=exp(1/x[k][i])を
k1,k2,k3,に代入しない形にしたいのです。
何かよい方法ないでしょうか?
0171デフォルトの名無しさん
NGNG全部グローバル変数にしなさい
0172デフォルトの名無しさん
NGNGどうせルンゲ-クッタだろ?
本にかいてある通りに書き写しなさい。
0174デフォルトの名無しさん
NGNGルンゲです。ここに書いたのは概略だったので、動かないと思います。
申し訳ないです。
0175デフォルトの名無しさん
NGNGvoid main(){
char s[100],m[100];
scanf("%s",s);
gets(m);
printf("%s\n%s\n",s);
}
でgetsが飛ばされて実行される理由は何ですか?
0176デフォルトの名無しさん
NGNGprintf("%s\n%s\n",s,m);
です
0177デフォルトの名無しさん
NGNG入力バッファに'\n'が残っていてgets()はそれを取ってきてしまう。
対処法はgets()のまえにffluch(stdin);
これって宿題なのか?
0178デフォルトの名無しさん
NGNGバグ
gets() は絶対に使用してはならない。データを知ることなし に
gets() が何文字読むかを先に知る事はできず、 gets() がバッ
ファの終りを越えて書き込み続けるため、使用は大変危険 で あ
る。この事はコンピュータのセキュリティを破るのに使われてき
た。代わりに fgets() を使うこと。
0179デフォルトの名無しさん
NGNG折れんとこそれ駄目だったよ(gcc on Linux)?
#include <stdio.h>
int main()
{
char s1[100], s2[100]; /* ←名前が悪いから176みたいなことになる */
scanf("%s\n", s1); /* ←こうすればよい */
fgets(s2, sizeof(s2), stdin); /* ←178参照 */
printf("%s\n", s1);
printf("%s\n", s2);
return 0;
}
0180デフォルトの名無しさん
NGNGダメって fflush 使ってもちゃんと動かなかったって話?
ffluch (c じゃないだろ) が無いとかいう話?
0181デフォルトの名無しさん
NGNG# と言うかスペル間違えてるよー (^ ^;
0182179
NGNGfirst_str[RET]
firat_str
$
↑聞きやがらねぇ
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG読み込み用にオープンされたFILEに対するfflush()の動作は、
未定義じゃなかったか。
たまたまペンディングされたデータを捨てる処理系もあるが。
>>179
glibcにはfpurge()というのがあるが、Linuxではサポートされ
てないと書いてあるな。
0185デフォルトの名無しさん
NGNG0186177
NGNG>未定義
あっ、そうだったんすか…
>185
iyan...
0187デフォルトの名無しさん
NGNG>>177
http://www.freebsd.org/cgi/man.cgi?query=fflush&apropos=0&sektion=0&manpath=FreeBSD+4.4-RELEASE&format=html
を見てfflushの機能についてレポート提出の事。
0188デフォルトの名無しさん
NGNG宿題を出されるスレだたのか!(((( ;゚Д゚)))ガクガクブルブル
0189デフォルトの名無しさん
NGNG0190177
NGNGfflush はバッファの中を消すのでなく (消すのは fpurge)
行使 (変な表現ですが…) するのですね。
しかし、行使するにあたって、出力用バッファは書き出すところが決まっているのに対し、
入力用バッファは書き出す (というか受け取る) ところが決まってないので、
入力用バッファは行使 (fflush を適用) されるべきものではない。
みたいな感じでしょか?
0191177
NGNGfflush は入出力にあたってバッファリングされているもので
宛先が決まっているもの (つまり出力用ストリーム) を行使する。
fflush に出力用にオープンされたストリーム (FILE*型) を渡すと
そのストリームのバッファを書き出し、
NULL が渡されると、すべての出力用ストリームのバッファを書き出す。
以上、こんなかんじで勘弁して下さい。
0192名無しさん
NGNG[for文 関数文を使用する事]
Sr=1/(1・2)+1/(2・3)+1/(3・4)+・・・・+1/{r・(r+1)}
注意:上記の級数はr→∞で1に収束する。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
っつー問題が出されたんですけど、プログラム知識ない状態で授業とったんで
何がなんだかサッパリ判りません。
やってもらえませんか。
0193デフォルトの名無しさん
NGNGint sr(int r)
{
double n = 0.0;
int i = 0;
start:
n += 1/(double)r*(r+1);
i = i +1;
if (i < r) goto start;
}
0194デフォルトの名無しさん
NGNGfloat sr(int n)
{
float r ;
r=1-1/(n+1.0) ;
for(;0;) ;
return r ;
}
0195デフォルトの名無しさん
NGNG0196怜
NGNG>>1に書いたけど、丸投げすると怒っちゃうよ。
判らないからやって、じゃなくて、解ろうと努力したんだけどこの辺
がわからないとかどういう部分で詰まってるかとかを書いて頑張ってる
姿勢みせてくれないと、チョット教えてあげる気にならないなぁ。
0199デフォルトの名無しさん
NGNGまずは先生に「"関数文"って何ですか?」って聞くことが先決だな。
0200デフォルトの名無しさん
NGNGずさささーーー
0201デフォルトの名無しさん
NGNGこれでどうよ?
#include <stdio.h>
double sr(int n){return n?sr(n-1)+1.0/(n*(n+1)):0;}
int main(void){printf("%f\n",sr(10));return 0;}
0202デフォルトの名無しさん
NGNG0203怜
NGNG0204理奈
NGNGと出題されました。
今週の宿題のラスト一問なのです。他は出来たのですが、
一日中Cプログラムの本調べてたんですけど 最後のきてもう頭が回りません。
よろしければお願いします。すみません。
0205デフォルトの名無しさん
NGNGmain()
{
int a[SIZE];
int *p = a;
memset(p,0,sizeof(int)*SIZE);
}
0206201
NGNGんで、修正。
#include <stdio.h>
double sr(int n){return n?sr(n-1)+1.0/(n*(n+1)):0;}
int main(void){int i;for(i=0;i<1;i++)printf("%f\n",sr(10));return 0;}
0207デフォルトの名無しさん
NGNGまあポインタを使えっていう要求をそのままとれば、
>>205のmemsetのところを
for(int n = 0; n < SIZE; n++) *(p++) = 0;
みたくすれば。
0208205
NGNGちゃんとポインタつかってるじゃんよーー
0209デフォルトの名無しさん
NGNG配列の要素の型が float だったらどうするの?
0210美咲キティー
NGNGごめんなさい、投げてます。
よろしければお願いします。
0211デフォルトの名無しさん
NGNGvoid strcat2(char* s, const char* t)
{
memcpy(s+strlen(s), t, strlen(t));
}
sは十分なメモリ領域を指しているものとする(ゲラ
またsとtが指す領域は重なっていないものとする(ゲラゲラ
> ごめんなさい、投げてます。
あやまる前に、自分で少しは考えてみたら?
> よろしければお願いします。
いやです。(私が書いたことを逆説的にとらえれば、何すべきか分かる筈)
0212デフォルトの名無しさん
NGNG別解
#include <string.h>
char* strcat2(char* s, const char* t)
{
char* (* pointer)(char * dst, const char * src);
pointer = strcat;
return (*pointer)(s, t);
}
0213デフォルトの名無しさん
NGNG自分に突っ込んでるよオイ…
もちろん、211で突っ込んだのは美咲キティーチャソに、です
0214デフォルトの名無しさん
NGNGIEEE754なら0なので正しい。
0215デフォルトの名無しさん
NGNGもう少し気の利いた回答の仕方を勉強しれ。
この文章、君の普段の行動パターンが目に浮かぶようで非常に痛いよ・・・
0216理奈
NGNG返信有難うございます。速くてビックリしています。
おかげで提出課題がお全て終わりました。
他にもここのページを見ている大学の仲間(残り組み)も助かったと思います
いや、わたしだけかな。。。
なにより本当に有難うございました。
0217デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGほんのちょっとしたヒントでも何でもかまいませんので返信下さい。
文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
0220デフォルトの名無しさん
NGNGdouble Sr(int r) /* わざと一ヶ所バグを仕込んである */
{
double n;
double sum=0.0;
if (r<=0) /* 引数が自然数でない場合は0.0を返す */
return 0.0;
for (n=1.0; n<=(double)r; n+=1.0)
sum+=1.0/n*(n+1.0); /* (*´Д`*)ハァハァ... */
return sum;
}
0221デフォルトの名無しさん
NGNG(特にまる投げ)
0222デフォルトの名無しさん
NGNGほんのちょっとしたヒントでも何でもかまいませんので返信下さい。
文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
すみませんC言語です。
0223デフォルトの名無しさん
NGNGwchar_t *squeez( const wchar_t *s, const wchar_t *excl)
{
wchar_t *ret = (wchar_t*) malloc( wcslen(s) + 1 );
wchar_t *p = ret;
for( int i=0; i<wcslen(s); i++ )
{
if( wcschr(excl, s[i] ) )
continue;
*p++ = s[i];
}
*p=0;
return ret;
}
0224デフォルトの名無しさん
NGNG0225211
NGNGなんだかなぁ…
> まったく持って歯が立たないのです。
弱い歯ですね:)
> 文字列s1の文字のうち、s2にある文字と同じ文字を全て取り去る関数squeeze(s1,s2)を作りなさい
ゴメン、愚痴らせてくれ。
なんで命令口調?
問題丸投げどころか、“問題文”をコピペですか:)
とか言いたくなりません?
sub squeeze {
my($s1, $s2) = @_;
$s1 =~ s/$s2//g;
return $s1;
}
0226デフォルトの名無しさん
NGNGfor (j=0; s1[j] != '\0'; j++)
if (s1[j] == s2[i])
s1[j] = s1[j+1];j--;
こんな感じ?
0227222
NGNG今後は特に注意します。
その上の御返答まことに有難うございます。
0228デフォルトの名無しさん
NGNG体当たりすれば何とかなるよ
0229デフォルトの名無しさん
NGNGvar
I: Integer;
begin
Result := '';
for I := 1 to Length(s1) do
if Pos(s1[I], s2) = 0 then
Result := Result + s1[I];
end;
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG私はわからないなりにこう考えてみました。
char squeez(char s1[],char s2[],int a,int b){
int i,j;
for(i=0;i<a+1;i++){
for(j=0;j<b+1;j++){
if(s1[i]=s2[j])
s1[i]=0;
}
}return(s1[256]);
}
しかし、指定した消す文字の後ろから全部が消えてしまうのです。。。
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGs1[i]=0
を
s1[i]=0x20
にしたらどぉ?
0234デフォルトの名無しさん
NGNG割礼(洗礼)です。
0235デフォルトの名無しさん
NGNGs2[]="abc"のとき、s1[]のなかのa, b, cを個別に消したいんじゃないのか?
それはこの関数を使えば実現できる(指摘されていることを正しくあらためれば)。
#include <string.h>
char *strpbrk(const char *s1, const char *s2);
あと、「消す」というのは、s2="abc"のときに
"Kusakabe Youichi" → "Kus k e Youi hi"
なのか
"Kusakabe Youichi" → "Kuske Youihi"
なのかはっきりさせるべきだ。
0236デフォルトの名無しさん
NGNG{
int i,j,k,flag;
char *tmp;
printf("%sから%sに含まれる文字を削除します\n",s1,s2);
i = 0;
k = 0;
if ((tmp=(char *)malloc(strlen(s1)+1))==NULL){
printf("メモリの確保に失敗\n");
exit (0);
}
while (s1[i] != '\0'){
flag = 0;
for (j=0; s2[j] != '\0'; j++){
if (s1[i] == s2[j]){
flag = 1;
}
}
if (!flag) {
tmp[k] = s1[i];
k++;
}
i++;
}
tmp[k] = '\0';
strcpy(s1,tmp);
}
ダサいdeath、tmp使わないやり方教えてください。。。
0237231
NGNG"日下部"を"日部"にしたいんです。
文字コードはISO-2022-JPとUTF-8でお願いします。。。
0238デフォルトの名無しさん
NGNGこれは空白への置換になるから後の方で良いんじゃないかな
つーか答え出てるな
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGmemmove(3)
0241デフォルトの名無しさん
NGNGtmp = s1;
でいい。
0242カオリネコ
NGNG0243Kusakabe Youichi
NGNG> Cソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方
> お願いします。
自分でつくりましょう。
案外簡単だし、ちょうどいい練習になりますよ。
" " の中みたり \ を処理したり、
#defineの中にあったらどうするか、とか。
最初のうちは
なかなか「完全」なものが作れなくて、
しばらく練習になるでしょう。
(機能的には同じ程度の完成度でも(たとえば8割り程度)、やりかたによって
コードがすごく複雑になったり簡単になったり、おもしろいですよ)
でも、100%の完成度を求めると一般性を持たせたCのparserまでかくはめになるでしょうね。
0244デフォルトの名無しさん
NGNG8わりり?
0245デフォルトの名無しさん
NGNGそっとしておいてあげなさい。
久々に自分でも回答できそうなネタがあったので、
嬉々として慣れない長文を書いているのですから…
0246Kusakabe Youichi
NGNG> そっとしておいてあげなさい。
> 久々に自分でも回答できそうなネタがあったので、
> 嬉々として慣れない長文を書いている
「ということにしたい」が抜けてますよ :)
0247カオリネコ
NGNG> お願いします。
自分のプログラムですが。。。
char reverse(chaq *c){
int count=0;
int i;
char *s;
char t[count];
while(*c!=0x20){
t[count]=*c;
count++;
*c++;
}
for(i=count;i>0;i--)*s=t[i-1];
return(0);
}
ってかんがえたんだけど。
*cは文字列がはいっています。
エラーがでてしまってダメです。。。
どなたかお願いします。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG重傷ですね。
0250デフォルトの名無しさん
NGNG0251Kusakabe Youichi
NGNG> 重傷ですね。
ケガなのですね?
0252デフォルトの名無しさん
NGNG完全版は自分も作れなくていま様子うかがってるとことよ
0253デフォルトの名無しさん
NGNG先生、避難スレでみんな待ってるんですから
こんなところで油を売らずに早く来てください。
0254デフォルトの名無しさん
NGNGプ。
来てほしくないから避難してるんじゃなかったのか。バーヤ
0255カオリネコ
NGNGCソースプログラムから全てのコメントを取り去るプログラムを作くってくれる方
お願いします
*コメントはプログラムの説明で\*〜*\で区切られている部分です。
0256デフォルトの名無しさん
NGNGこういう考えもあるよ。リングバッファの応用。読み込みポインタと書き込みポインタ。
void sqeeze(char *s1, const char *s2)
{
char *pw, *pr;
pw = pr = s1;
while(*pr){
if(strchr(s2, *pr) == NULL)
*pw++ = *pr;
pr++;
}
*pw = '\0';
}
0257デフォルトの名無しさん
NGNGの意味がわからないわ。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGおそらく /* 〜 */ と言いたいのでしょう。
バックスラッシュの \ とスラッシュの / を勘違いしていると思われ。
0260カオリネコ
NGNGint count=0;
int i;
char *s;
char t[count];
while(*c!=0x20){
t[count]=*c;
count++;
*c++;
}
for(i=count;i>0;i--)*s=t[i-1];
return(*s);
}
まで出来たんですけど。。。エラーはまだ。。。
0261デフォルトの名無しさん
NGNG0262カオリネコ
NGNGおっしゃるとおりです。m(__)m
0263カオリネコ
NGNGおっしゃるとおりです。m(__)m
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG全部取り除けばOK.
0266デフォルトの名無しさん
NGNGchar。。。
0267236
NGNG>>256さん、有難う。きっとこれが模範解答でしょうね。
こう言うのを見るとポインタって良いなぁと思ってしまいます。
>カオリネコ
Perlじゃ駄目なの? ^^
0268カオリネコ
NGNG0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG第一弾
#!/usr/local/bin/perl
use strict;
open (SRC,"hoge.c");
0272デフォルトの名無しさん
NGNG駄目。 無理。 面倒。
0273デフォルトの名無しさん
NGNGhttp://www.google.com/search?sourceid=navclient&q=C+%83%5C%81%5B%83X+%83R%83%81%83%93%83g+%8D%ED%8F%9C
0274デフォルトの名無しさん
NGNGcppのparser程度で充分と思われ。
0275デフォルトの名無しさん
NGNGhttp://www.s34.co.jp/cpptechdoc/misc/smc/smc_j.html
こんなところが。
0276カオリネコ
NGNG最高〜☆
0277怜
NGNG丸投げクンに一言。
宿題って出す方としても、全員が自力で解けるなんては思ってないわ。
だから、人が書いたソースを参考に自分も書くっていうのは許容され
る範囲ね。でも、せめてそこで人のを参考に書き直す際に何をやって
るかくらいは理解して欲しいの。これが最低限要求することかな。
だから、ここで答え聞いてソースを書いてもらったら、それが何を
やっているかくらいは理解して欲しい。全く解ってない人には、それ
を見ても何をやっているか理解できるわけないから、教えてもしょう
がないと思ってしまうのよね。最低限、答え教えてもらったら、そこ
で何をやっているかは理解できるくらいにはなってから質問して欲し
いなって、こと。みんなキミタチのこと思って冷たくあしらってるん
だから、その辺のこと理解してね。
0278Kusakabe Youichi
NGNG> Kusakabe Youichi は受け売りだと思うからそっとしてあげて。
「と思いたい」のですね? :)
> 完全版は自分も作れなくていま様子うかがってるとことよ
そう思いたいのですね? :)
0279Kusakabe Youichi
NGNG> 先生、避難スレでみんな待ってるんですから
> こんなところで油を売らずに早く来てください。
書いてもいいのですか? :)
(だれかダメだって言ってたような)
0280Kusakabe Youichi
NGNG> *コメントはプログラムの説明で\*〜*\で区切られている部分です。
変わったコメントですね。
0281Kusakabe Youichi
NGNG> プリコンパイラに通せば全部空白になりませんでしたか?
そういうコンパラーもありますね(第1フェイズで全部とりのぞく)、
でもそういうのはごく少数ですよ。
0282Kusakabe Youichi
NGNG> > でも、100%の完成度を求めると一般性を持たせたCのparserまでかくはめになるでしょうね。
> cppのparser程度で充分と思われ。
同じことでしょう。
0283デフォルトの名無しさん
NGNGじゃあ、このスレにも書いちゃダメって言えば今後書かないでいて
くれますか?
0284デフォルトの名無しさん
NGNGコンパラーとかプリコンパイラってのははつみみだが、
通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。
極めて古いものだと空白も入れないかも知れない。
0285Kusakabe Youichi
NGNG> じゃあ、このスレにも書いちゃダメって言えば今後書かないでいて
では向こうには書いていいのですか? それは保証してくれます?
0286Kusakabe Youichi
NGNG> 通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。
プリプロセッサーが別パスになっているものはいまどき少数派ですよね。
0287デフォルトの名無しさん
NGNG保証するから出てって!!!
0288デフォルトの名無しさん
NGNG> > 通常のCプリプロセッサは、デフォルトの動作としてコメントを取り除く。
>
> プリプロセッサーが別パスになっているものはいまどき少数派ですよね。
プリプロセッサがコメントを取り除くことと、プリプロセッサが別パスに
なっているかどうかということに何の関係があるんでしょうか。
0289Kusakabe Youichi
NGNG> > プリプロセッサーが別パスになっているものはいまどき少数派ですよね。
>
> プリプロセッサがコメントを取り除くことと、プリプロセッサが別パスに
> なっているかどうかということに何の関係があるんでしょうか。
何か関係があるとだれか言ったのですか?
0291仕様書無しさん
NGNG0293竹村さん
NGNGSqrt 関数をつかえない状況なんです。
これを使わずに求める方法ありませんかね?
たとえばルート2 とか3とか・・・
0294デフォルトの名無しさん
NGNGニュートン法か
筆算と同じ方法でやればいんじゃない?
俺は忘れたけど(笑)
0295竹村さん
NGNG筆算ってどうやるんですか?
0296デフォルトの名無しさん
NGNGキーワード教えてもらったら、とりあえず検索してみなよ。
0297竹村さん
NGNG0298デフォルトの名無しさん
NGNG> Sqrt 関数をつかえない状況なんです。
他に何か縛り(使えない関数)はありますか?
そもそも対象言語は何ですか?
> いや・・ニュートン方とかそんな高度なことはできないので・・
あなたにはできなくてもサンプル探してくれば、
賢いコンピータちゃんが計算してくれます。
294さんがキーワードくれたんだから、まずは調べてみては?
ちなみに“ニュートン方”で検索しても中々見つからないかもしれません。
“ニュートン法”で“平方根”を求めるんでしょ?
0299デフォルトの名無しさん
NGNG0300筆算てーと。
NGNG1 √2 00 00 00
1 1
24 1 00
04 96
281 4 00
001 2 81
2824 1 19 00
0004 1 12 96
2828 6 04
こんなかんじだったかな。
まぁ、x*x - n = 0をニュートン法で解く方が早いな。
0301竹村さん
NGNGおとなしく電卓でやっときます。・・
レスありがとう。
0302デフォルトの名無しさん
NGNGつまり、300年前にガイシュツってこと。
>>295 は大至急、タイムマシンにのって300年前のイギリスに逝って直接ニュートンに質問してこい。
ついでに「りんごが落ちたのは万有引力のせいですよ」って教えてやれ。
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG電卓でやるってどういうことよ・・・
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNGあらかじめ計算して、定数をコードに書いておくのかな?
0307デフォルトの名無しさん
NGNG3*3=9だから
3より小さいだろう
2*2=4だから
2より大きいだろう
以下同様
ってやつじゃないの
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNGでます。よろしくお願いします。
#include<stdio.h>
void qsort(char v[],int left,int right);
main()
{
char *data[]={"zbr","uuuuu","sa","ki","niino","aaa"};
int i;
for(i=0;i<5;i++){
printf("%s\n",data[i]);
}
qsort(*data,0,5);
for(i=0;i<5;i++){
printf("%s\n",data[i]);
}
}
void qsort(char v[],int left,int right)
{
int i,last;
void swap(char v[],int i,int j);
if(left >=right) return;
swap(v,left,(left+right)/2);
last=left;
for(i=left+1;i<=right;i++){
if(v[i]<v[left]) swap(v,++last,i);
}
swap(v,left,last);
qsort(v,left,last-1);
qsort(v,last+1,right);
}
void swap(char v[],int i,int j)
{
char *temp;
*temp=v[i];
v[i]=v[j];
v[j]=*temp;
}
0313デフォルトの名無しさん
NGNGsegmentation faultが出る以前に、swapでコンパイルエラーに
ならないか?
0314312
NGNGいや、いちおうgccはとおるんですが。どこが間違ってるんですかね?
0315デフォルトの名無しさん
NGNG0316313
NGNGエラーにはならないね。
でも、文字列の交換にはなってないね。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG{
char temp;
temp=v[i];
v[i]=v[j];
v[j]=temp;
}
0319デフォルトの名無しさん
NGNGあぁ、ごめん間違えたわ。swap だけ見てた。
とにかく、
void swap(char v[],int i,int j)
{
char *temp;
*temp=v[i];
v[i]=v[j];
v[j]=*temp;
}
これだと、未初期化の temp が指す場所に v[i] を代入して
segmentation fault になるとだけ言っておく。
0320318=319
NGNG#include <stdio.h>
#include <string.h>
void qsort(char* v[],int left,int right);
main()
{
char *data[]={"zbr","uuuuu","sa","ki","niino","aaa"};
int i;
for(i=0;i<6;i++){
printf("%s\n",data[i]);
}
puts("");
qsort(data,0,6);
for(i=0;i<6;i++){
printf("%s\n",data[i]);
}
}
void qsort(char* v[],int left,int right)
{
int i,last;
void swap(char* v[],int i,int j);
if(strcmp(v[left], v[right]) >= 0) return;
swap(v,left,(left+right)/2);
last=left;
for(i=left+1;i<=right;i++){
if(strcmp(v[i], v[left]) < 0) swap(v,++last,i);
}
swap(v,left,last);
qsort(v,left,last-1);
qsort(v,last+1,right);
}
void swap(char* v[],int i,int j)
{
char* temp;
temp=v[i];
v[i]=v[j];
v[j]=temp;
}
0321312
NGNG昇順にソートされてないのはなぜなんですかね?
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGzbr
uuuuu
sa
ki
niino
aaa
aaa
ki
niino
sa
uuuuu
zbr
それとも前のプログラムのどこが間違っているかをしりたいってこと?
ポインタのポインタと、標準の文字列関数 str---() を勉強しましょう。
0324デフォルトの名無しさん
NGNG0325312
NGNGおかしいなあ。なぜかうちのだと
zbr
uuuuu
sa
ki
niino
aaa
zbr
uuuuu
sa
ki
niino
aaa
となってソートされないんですよ。なんでなんだろ。
0326デフォルトの名無しさん
NGNG>qsort(data,0,6);
6?
0327デフォルトの名無しさん
NGNGmain():
× qsort(data,0,6);
○ qsort(data,0,5);
qsort():
× if(strcmp(v[left], v[right]) >= 0) return;
○ if(left > right) return;
0328厨房
NGNGswapの引数のchar* v[]はchar*vじゃいけないんですか?
あと、こういう宿題の時に最適化とかして良いものなのでしょうか?
0329327
NGNGqsort():
× if(strcmp(v[left], v[right]) >= 0) return;
○ if(left >= right) return;
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG> swapの引数のchar* v[]はchar*vじゃいけないんですか?
いけない。
> あと、こういう宿題の時に最適化とかして良いものなのでしょうか?
コンパイルオプションの話?
それとも、再帰を使わないようにするとか、
ある程度短くなったら選択ソートに切替えるとかいう話?
0332デフォルトの名無しさん
NGNG_asm{
push [a]
mov [a],[b]
pop [b]
}
}
//??
0333328
NGNG明示的に配列であることを引数の時から示さないといけないのですね…
いつもそう言う風にしてた(ぉ
勉強に為りました。
最適化は329さんみたいにアセンブリにするのも含みます。
(なんか変ですが。
0334328
NGNG0335デフォルトの名無しさん
NGNGちょっと待った!
char* v[] と char*v の違いは
>明示的に配列であることを引数の時から示さないといけないのですね…
という話とちょっとずれていると思うよ。
何をスワップしているのか、もしくは char* v[] とは「何もの」であるかを
自分の知る限りにおいてレポートしてみて。添削してあげるから。
0336デフォルトの名無しさん
NGNG0337328
NGNGすいません。
>336
いえ、便乗質問ですw
さすがに厨房相手にcで書いて来いなんて宿題はナイでしょう。
今の日本に。
0339お願いがあります…。
NGNG2.キーボードから入力された学生証番号、氏名、住所をディスプレイに表示するプログラム(このとき実行した人がキーボードから入力した学生証番号などが表示されるようにする)
3.ディスプレイに 整数nを入力するように表示し、0 からキーボードから入力された n 以下の偶数の和を求めその結果をディスプレイに表示するプログラム(2づつ数を増やすには +=2 を用いる)
4.ディスプレイに和を求める 番号 n を入力するように表示し、1,6,11...のような 5飛びの数の1から入力された番号nまでの和を求めてディスプレイに表示するプログラム(注意。k番目の数は 1+5*(k-1) で与えられる。)
5.10人の身長のデーターをキーボードから入力して、その平均をディスプレイに表示するプログラム(繰り返し文を使用すればよい)
6.ディスプレイに二つの 実数を入力するように表示して、キーボードから入力された二つの実数の 和、差、積、商(始めに入力された数割る二番目に入力された数)をそれぞれディスプレイに表示するプログラム
7.優、良、可にする最低点を実行時初めに設定できるようにし、その後キーボードから入力された学生の点数によって成績を優、良、可に振り分けるプログラム
8.キーボードから二つの実数を入力するように表示し、入力された二つの数を大きい順に並べて表示するプログラム
9.個人情報として、 氏名、年齢、住所、電話番号、趣味 を含んだ構造体を用いて、個人情報を入力できるプログラム
10.乱数を用いて 丁半 を表示するプログラム
解ける人は全て解いてみてください。…というよりお願いします(涙)
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGでも、丸投げとかしたらおこっちゃうよ。まずは自分で考えてね。
0342339
NGNG俺は大学行ってなくて、友達から「この問題、なんとかならん?」と頼まれた物です。
「ネットで質問すれば何とかなるかもしれない」と思い、質問させてもらったんですが…。
>340
これはそんなに簡単な問題なんですか?
プログラムとか、俺には全然わからない事なので…(汗)
0343デフォルトの名無しさん
NGNGできるなら本人つれてきた方がいいんでない?
ここで聞いて1時しのぎにはなってもそん次で困ることになるだろうし。
0344デフォルトの名無しさん
NGNG>>343さんが良い事言ってるね。
その友達は大学生なんですね。
もしプログラマ志望なら今すぐ諦めるように言ってやってください。
0345339
NGNG本人、一応自分で頑張ってみると言ってて、1と2が出来たらしいんですが…。
自宅にパソコンが無いらしく、大学行かないとネットに繋げない…との事なので代わりに俺が…という事情なんです(汗)
レポート?提出の期間が迫っていて、一時しのぎでもいいから、という事なんだと思います。
友達として、第三者の力を借りてでも協力できれば…と思っていたのですが、ちょっと甘かったですね…(^^;
それでも何とか答えて貰えないでしょうか?う〜ん…。
0346339
NGNGいや、彼は全然そういうタイプじゃないと思います(笑)
何を目指しているかは知りませんが、マスコミ関係かな・・・?バイト先を考えると。
パソコンの事とか、あんまりわかってないみたいなので、プログラマー志望では無いんじゃないかと思います。
ちなみに…ここはsage進行ですかね?(^^;)
0347デフォルトの名無しさん
NGNGやっぱり氏んだほうがいいよ。
0348デフォルトの名無しさん
NGNGまあ、この板には後輩に教えたりとか、TAやったりとか、
宿題出す側の人間が多いのよ。
だから、丸写しさせるために教えてあげたいとは思わない
人がおおいんじゃないかな。
0349怜
NGNG丸写しされちゃ困るから、ところどころ空欄にしとくから、
これ以上は自分で考えるように言ってね。
あと、全部#include<stdio.h>は必要よ。念のため。
3番
main(){
int k, n;
<nを入力するように表示し、変数nに入力された値を代入>
k = 0;
while(■){
printf("%d ", k);
<kに2を足す>
}
}
4番(番号nまで、というのはn番目の数までと解釈)
main(){
int k, n, sum;
<nを入力するように表示し、変数nに入力された値を代入>
sum = 0;
for(k = 0; k < ■; k++){
sum += ■;
}
printf("%d", sum);
}
0350怜
NGNG5番
main(){
int k, sum, l;
for(■){
<lに数を入力>
sum += l;
}
printf("%d", sum / 10);
}
6番
main(){
float k, l;
scanf("%f", &k);
<lに実数を入力させる>
printf("和:%f", k + l);
<k,lの差、積、商をそれぞれ表示>
}
0351怜
NGNGmain(){
int a, b, c;
printf("優の最低得点を入力してください\n");
scanf("%d", &a);
<良の最低得点をbに、可の最低得点をcに入力させる>
<判定したい得点を入力させる>
if(■){
printf("優");
}else if(■){
printf("可");
}else if(■){
printf("良");
}else{
printf("不可");
}
}
8番
main(){
float a, b;
<a, bに実数を入力させる>
if(■){
print("%d\n%d", a, b);
}else{
print("%d\n%d", b, a);
}
}
0352怜
NGNGstruct parson{
char name[16];
int age;
char address[32];
char tel[11];
char hobby[32];
}
main(){
struct parson a;
printf("氏名=");
scanf("%s", a.name);
<以下略>
}
10番目
#include <stdlib.h>
main(){
int t;
t = rand() % 2;
if(t == ■){
printf("丁");
}else{
printf("半");
}
}
0353怜
NGNG実際のプログラムで、rand() % 2で、二つのうちどちらかを
ランダムに選択させようとすると、処理系によっては痛い目に
あうことがあるから気をつけてね。
#rand()は下位ビットはランダム性がない場合があるの。
0354怜
NGNGfor文の前に一行入れる必要があるね。
8番もprintfの中の%dっていうのが嘘だわね。
他にも何か色々間違えてそう。
0355デフォルトの名無しさん
NGNGつづり間違えて提出すると起こられちゃうよ〜
0356355
NGNGにしても怜さん親切。
お年玉だねw
いざとなったら友達に家に来させてという手も。
0357339
NGNGとても親切にありがとうございます。
文章をそのままプリントアウトして友達に見せてあげることにします。
これで解けるのかどうか俺には判断できませんけど、彼にも少し努力してもらった方が良いと思いますし。。。
問題は
ttp://www.geocities.co.jp/SiliconValley-Cupertino/7774/c/report/index.html
から出されているとの事でした。
0359デフォルトの名無しさん
NGNGださっ!
0360デフォルトの名無しさん
NGNG大学でスペースくれないのか?
0361デフォルトの名無しさん
NGNGにはワラタ
0362デフォルトの名無しさん
NGNGについてるcheck10.cppって、なんかすごいぞ、なんつか、まぁいいや。
ほかのも見てみよう…
0363デフォルトの名無しさん
NGNGプログラミングの教育について、考えさせられるページですね。
ださっ!ていうより、学生がかわいそうっていうか…
0364デフォルトの名無しさん
NGNGそこまで壊滅的にダサくはないだろ。
もう少し読みやすくはしてほしいが。
0365デフォルトの名無しさん
NGNGリテラシーについては、あんなもんだと思うが…
第12章 クラスの概念のcalculator.hとかみてみそ、すごいから。
0366デフォルトの名無しさん
NGNG見たよ〜。あのソースにツッコミたいけど(多すぎるから)やめとくよ〜。
>>363
>学生がかわいそうっていうか…
激しく同意だよ〜。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG↑ここで多用されている「Hellow」はどうかと思うぞ。教育的に(ワラ
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG約18,300件中1 - 50件目 ・検索にかかった時間0.05秒
日本のサイトが多いのには泣かされる。
0371デフォルトの名無しさん
NGNG配列aをcharにするとちゃんとできるんですが、intではなぜだめなんですか?
#include<stdio.h>
main()
{
FILE *fp;
int a[30];
int i;
fp=fopen("data1","r");
fgets(a,30,fp);
for(i=0;i<30;i++){
printf("%d\n",a[i]);
}
}
0372デフォルトの名無しさん
NGNGそれは、fgersがchar*を前提に作られてるからです。
fgets((char *)a,30,fp);
にすれば、コンパイル時のエラーはでなくなるでしょうが、あなたの思ったとおりの動作にはならないでしょう。
0373371
NGNGではintでファイル入力を行うにはどうすればいいんですか?
0374怜
NGNGどういう形式でファイルに入力をしたいかによるわね。
まあ、基本的には、
fgets((char *)a, 30 * sizeof(int), fp);
ってやればいいのかしら。ちょっと自身ないけど。
そのファイルを保存するときも同じ方法でね。
もし、別のプログラムとかエディタで書いたデータを読ませたいんだったら
その形式にしたがって読んでいく処理を書かないと駄目ね。
0375デフォルトの名無しさん
NGNGfread()を検討してみてはどうか?
0377デフォルトの名無しさん
NGNGintは32bit環境ではたいていの場合4バイトの領域を占める。
fgetsはaから始まる領域に読んだデータを詰め込んでいく。
したがって、371の例ではint7.5個分読み込まれている。
0379371
NGNG55 4 3 89 ・・・というばらばらの数字をファイルからとって
昇順にソートするという課題なんですよ。ソートのやり方はわかるんですけど
入力の方法がわからないんです。
0380デフォルトの名無しさん
NGNGテキストファイルなのかぁ?
それだったら, fscanfとか。
0381デフォルトの名無しさん
NGNGfscanfか、一文字ずつ読んでいってatoiでがんばるか。
好きなほうを選んでくれれば、もうちょっと詳しい説明つきます。
0382371
NGNGなるほど。ではatoiでやろうと思うんですが、どういうふうにやれば
いいんですかね?
0383デフォルトの名無しさん
NGNG1文字づつ読む方法は調べてね。
atoiも調べてね。
そしたら自ずと答えが。
0384吉野家オフ
NGNG0385デフォルトの名無しさん
NGNGwhile( ch = fgetch(fp), ch != EOF ){
if( isdigit( ch ) )
digit = digit*10 + ch - '0';
if( isspace( ch ) )
{ array[ptr++] = digit; digit = 0; }
}
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG難しいじゃねーかドルァァァァ!
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGこちらで勉強してきなさい。(w
ttp://www.geocities.co.jp/SiliconValley-Cupertino/7774/c/report/index.html
0392デフォルトの名無しさん
NGNG正直漏れは丁と半という意味がわからん…。聞いたことはあるが。
奇数と偶数という意味か?
逝ってこよう・・・。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGネタ?でなければ教えてやるよ。
0396デフォルトの名無しさん
NGNG丁は偶数 半は奇数
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG2.file1に格納されたテキスト中に出現する全ての相異なる単語の出現回数を求めその一覧をfile2
に格納する。ここで単語はテキストに出現した順に並べるものとする。
また、大文字は小文字に読みかえ、両者は区別しないものとする。
3, 2と違い単語をアルファベット順にならべてfile3に格納する。
4,file1,2,3をそれぞれの見出しをつけて標準入力に書き出す。
0399398
NGNGどうやって単語という単位で処理するんでしょう?
文字数なら簡単なんだけど・・・
自己参照構造体を使うと聞いたけどどうやって
使っていいのかわからない・・・
0400麻衣
NGNGファイルに格納してるからファイルサイズは判るよね?
だからメモリ上に読んで、英字以外の文字を 0 にしてしまうと簡単だよ。
それで単語数を数える方法は、
うんとね、ポインタ+カウンタの配列を作って
”挿入ソート”と同じ方法で
一致するのがあれば カウンタを1増やす
一致が無ければ挿入
でいいと思うんだけど?
麻衣はお兄ちゃん バカ怜に取られて落ち込んでたけど、もう大丈夫。
0401398
NGNGファイルサイズ? も何のことかわからないですけど
スペースが出たら1単語と言うやり方でできますよね?
それと挿入ソートと言うものを知らなかったので検索して調べたんですけど、
それを単語処理にどう使うかわからないです・・・
0402デフォルトの名無しさん
NGNG0403怜
NGNG>麻衣は単語の区別は英字以外を区切りにしたらいいんじゃないかと思うよ
やっまり麻衣ちゃんは子供ね(^^)
英文の中には数字もあるし、「英字以外を区切り」にしたら
I'm や don't みたいな単語が二つに分かれちゃうわよ。
0404麻衣派
NGNGきっと「I'm」は「I」と「am」に分けるんです!
難しい問題ですね!
麻衣タンを子ども扱いしないでください!
0405麻衣派
NGNGfseek(fp,0,SEEK_END);
size=ftell(fp);
fseek(fp,0,SEEK_SET);
これでsizeにファイルサイズが入る。
麻衣タンがいってるのは
This is a pen This is a cat
をカウントしながら辞書順にソートして
-----------------------
a cat is pen this
2 1 2 1 2
-----------------------
こうだよ。
0406麻衣派
NGNGあ、やばい。
ごめん麻衣タン…君を守れなかったよ。
∧||∧
( ⌒ ヽ
∪ ノ
∪∪
...
0407怜派
NGNG自己参照型構造体を使うのは3.だけだね。
ちなみに2.も3.もソートなしで書けるよ。
>>怜タン
>英文の中には数字もあるし、「英字以外を区切り」にしたら
>I'm や don't みたいな単語が二つに分かれちゃうわよ。
さすが怜タン。頭イイね!
0409麻衣派
NGNGはやとちりで逝くところだったよ。
0410怜
NGNG>>398クンは、「線形リスト」は理解してる?
もしわかってなければそこから。挿入ソートというのも基本的に線形リ
ストを使ってする処理だからね。知らなかった下のページとかも参考にし
てみて。(まあ、リストを教えないで自己参照構造体とか教えることはな
いだろうから、授業で教えてくれたとは思うけど・・・)
http://www.d1.dion.ne.jp/~ecb/c/14_03.html
構造体に、その単語が何回でてくるかっていう要素を持たせちゃってもい
いいかな。
で、2の処理をしたい場合は、ドキュメントを前から順番に単語ごと区切
って読んでいく。で、今単語を一つよみ終わったとしよう。
ここで線形リストを前から順に辿っていって、同じ単語がないか探すわ
けね。で、みつからなければ、新しくその構造体をmallocして、リストの
最後に付け足すの。みつかれば、その単語の出現回数を+1すればいいわ
ね。
3の場合は、リストは常に辞書順にならんでるようにしとくわけ。
これをどうすればいいかっていうのが、挿入ソートの話ね。
ある単語を読んだら、リストを前から順に辿っていって、目的の
単語か、その単語よりも辞書順で後に出てくる単語を探すわけ。
目的の単語が見つかった場合はカウントを+1して、辞書順で
後ろの単語がみつかったら、新しくmallocしてその単語の前に
挿入するのね。
# 辞書順で後ろの単語が見つかったら、それより後に目的の
#単語がないことが保証されるからね。
って、読み返してみたけど少し説明わかりにくいなぁ。わからないところ
はきいてね。
0411デフォルトの名無しさん
NGNG(ある割合で客が来てエレベータに乗って行くような)
作れという課題が出たんですけど、
時間の概念ってどう考えればいいんですか?
0413デフォルトの名無しさん
NGNGまさか関西の私立大学の課題じゃないよね…。
問題が一語一句同じなんだけど…鬱だ。(漏れはもう終わらせたが)
0414怜
NGNG時間の概念は、適当に決めちゃえばいいんじゃないかな?
while文か何かでグルグルまわして、1stepを時間の最小単位と
するのね。で、1stepにある確率で客が到着するように設定する
のね(1人来るか、1人もこないかの二択ね。これを二択にする
のがいやならポアソン到着とか考えるべきなんだけど、今回は必
要ないでしょう)。
で、エレベータは扉あいてから、何ステップ待つか、階を1つ
上げ下げするのに何ステップかかるか、とかを適当に決めて、1
stepごと動かしていくわけ。
エレベータはどういうアルゴリズムで動かすのかな。まあ、円
運動が基本とかいう話もあったような。
0415398
NGNGおお、解説ありがとうごぜーます!!
今日は無理なのでまた明日やってみます!
>413
そのとおりだ・・・R大学。
どこのクラスよ?
俺はDクラス。
0416デフォルトの名無しさん
NGNG本気で打つだし脳。
というかポインタ、文字列の扱い、構造体、ファイル操作をそれぞれ一週間で教えている時点で糞なんだよな。
課題には「事故参照構造体を使うと点数アップ」なんてDQNなこと書いているから
みんなこぞって事故参照構造体に突っ込んでる。リスト構造も満足に教えないくせに。
あのハゲの授業では大半の人が理解不可能だろうな。
とりあえず望洋のポインタ本かっとけ。
後半にリスト構造がわかりやすく載ってる。
実際のやりかたは怜さんの説明で完璧だしな。
0417デフォルトの名無しさん
NGNG> http://www.d1.dion.ne.jp/~ecb/c/14_03.html
http://hp.vector.co.jp/authors/VA000124/index.htm
「目指せプログラマー!」かよ^^)
よりによって、そんなダメなサイト、初心者に勧めるなよ。
0418413=416
NGNGmallocとcallocどちらがいいんですか?
漏れはmallocを使ってたんだけど、ポインタ本ではcallocのほうがいいようなことを書いてるし。
0419デフォルトの名無しさん
NGNG0420418
NGNGmallocで十分だと思うけど、望洋がcallocのほうがいいって言うとちょっと考えてしまう。
mallocではだめでcallocにしないといけないなんていう状況はあるんだろうか?
0422デフォルトの名無しさん
NGNG0423418
NGNGなんでですか?
0424デフォルトの名無しさん
NGNG保証されてるうよ
0425デフォルトの名無しさん
NGNGBohyohもびっくり!
0426デフォルトの名無しさん
NGNGマジ?
0428デフォルトの名無しさん
NGNGセキュリティの問題じゃん?
0429デフォルトの名無しさん
NGNGまあね。ごとむさんもびっくりってやつだ
0431398
NGNG0432418
NGNGハゲの授業受けてるYO!
0433デフォルトの名無しさん
NGNG「1.1アルゴリズムとは」を見た瞬間、ダメダメ。
0434デフォルトの名無しさん
NGNG>callocはゼロクリアが全ての処理系で保証されてるわけじゃないからね。
手元の「新ANSI C言語辞典」には、0クリアされると書いてあるけど…
0435仕様書無しさん
NGNGそこいらじゅうの処理系がみんな ANSI 準拠だったらねえ。
でも現実は、一番普及している処理系が一番 ANSI から遠いのだ。
0436怜派
NGNG>フローチャートは何のために作るのでしょう?
>図で示されているので、文章だけよりもわかりやすく、プログラムにしやすい
>バージョンアップなど改良する際に効率よくできる
>1つのプログラムを複数人で作るときに、手分けしやすい
>同じような処理は、再利用できる
最初の項目は分からなくもないんですけど…。
残りの3つは僕の理解を大幅に超えてます。
誰か詳しい解説きぼんぬ!
0437デフォルトの名無しさん
NGNG漏れ、本人の目の前で
「お前の教え方、すっげーわかりにくいよな」
って直接ゆーのが趣味なんだ。
その教授の名前おしえてちょ。
0440デフォルトの名無しさん
NGNG広く普及してる処理系なら、たいてい大丈夫だと思うが。
calloc()で0クリアされない処理系とは、たとえばどれ?
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG「んなわけねーだろ」<詳しい説明
0443ほたる
NGNG「蟻の捕食活動シュミレーションによるマルチエージェントシステムと遺伝的アルゴリズム」
という題材でVC++を使ってプログラミング。
概要;蟻はたくさん
餌もたくさん
蟻は前後左右に動く
餌があれば捕食
終了条件;餌を全部捕食
規定時間をオーバー
んで、そっから遺伝させて、繰り返して
優秀な蟻軍団をつくっちゃおう!!
これを人生初プログラミングでやれって・・・。
ちなみに提出は1月20日・・・、これってできんのってかんじ??
0444デフォルトの名無しさん
NGNG何を遺伝させるんだろうね・・・
「右に動くのが好きな性格」 とかを遺伝させるの?
0445怜
NGNGはっきりいって、それをはじめてのプログラミングでやるのは
無理じゃないかなぁ
先生に「プログラム経験ないんですよ〜」と言ってなきつくし
かないと思うわ・・。
>>444
一種のライフゲームだよね。
おそらく、動き方を遺伝させるんでしょうね。
マルチエージェントだから、みな同じように動くと同じところに
集まってしまって、餌を全部とれないわけだからぁ・・・
上下左右に自由に動けばいいのかなぁ・・・と思っても、全くの
ランダムだと壁の近辺と、中心部分に密度の差ができちゃうかな。
この辺をうまくバランスがとれた蜂集団ができればいいってこと
なのかなぁ・・・。ランダムウォーク的な要素をプログラムの段階から
組み込んで、ある方向にn歩歩いたとき、どのような確率でどの方向
に曲がるか、っていうのを遺伝子として持ってがんばるのかなぁ・・。
それとも、動きに全くランダム要素を入れないのかな。遺伝子から
一意に動き方が決まって・・・、軍団としてみるときれいに役割分担
してるように見える・・とか、なんかこっちの方がそれっぽいかな。
でも、収束しそうもない気はするわね。
うーん・・・
0446デフォルトの名無しさん
NGNG>ちなみに提出は1月20日・・・、これってできんのってかんじ??
むりっぽいね。
友達に頼ってください。
0447デフォルトの名無しさん
NGNG掲示板で聞かれても地道にやりなさいとしか
言いようがない
0449デフォルトの名無しさん
NGNGアリを一日観察し続けてパターンを見極めるか
ファーブル昆虫記を読みなさい。
アリはあれでなかなか賢い生き物だよ。
0450なんや
NGNG2分木の高さ(根の高さ=1)を求めるプログラム
以上2つを適当な例を使ってFORTRANで作成して下さい。
お願いします。
0451怜派
NGNGと言うか、全てを他人任せにしちゃダメだよ。
(;´Д`)怜タンハァハァ…。
0452デフォルトの名無しさん
NGNGCでよければ簡単だな。
チミがCとFORTRANの両方を知っていれば、Cでの解答を書く
ところだけど、文面からしてそれは無理くさいのでヤメ。
0453398
NGNGプログラム作る以前の問題で自己参照構造体がわからない・・・
ttp://www.ht-net21.ne.jp/~sgwr-t/sec15-5.htm
ここの例みてるんですけどadd_listをループさせるところ、
なんでデータが順番に入ってくかわからないんです。
mallocも初めてなもんで。
データってstruct list型のポインタpに順番にはいってくんですよね?
最初に*pを作ってデータを入れて、2回目も*p作ってデータ入れたら
上書きされるんじゃないんですか?
mallocで領域確保する意味もわからなくて、*pを宣言したらその中に
そのままデータ入れればいいじゃないかと思ったのですが、
もしかしてmallocで領域確保するとそこにあったデータは後ろにずれるんですか?
*pのデータは*(p+1)に行くってことかな?
う〜ん、でもループで毎回*pを宣言する意味もわからないなぁ・・・
0454日下部圭子 ◆ib749tYo
NGNGhttp://www.ht-net21.ne.jp/~sgwr-t/index.htm
初心者のためのポイント学習C言語
どうでもいいですけど、うそばっかり書いてあるひどいサイトですね。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0455デフォルトの名無しさん
NGNGお前、どこを指しているんだよ・・・・
0456デフォルトの名無しさん
NGNG>>398
疑問点と問題点をはっきりさせろ。
0457デフォルトの名無しさん
NGNG0458日下部圭子 ◆ib749tYo
NGNG> お前、どこを指しているんだよ・・・・
失礼、>>453でした。
陽一さんと違って手作業で書いてるからたまにミスをします。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0459デフォルトの名無しさん
NGNG初心者のためのポイント学習C言語
ここはいいよ。
0460459
NGNGてめー、せっかくフォローしてやろうと思ったのに割り込みやがって。
0461日下部圭子 ◆ib749tYo
NGNG> ここはいいよ。
よくないですよ。
ウソが多い。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0462デフォルトの名無しさん
NGNG具体例を挙げなければ荒し煽り以外の何者でもない。
人の揚げ足取りをする前に、まず自分が有益な言葉を吐いたらどうだ?
スレの主旨とも外れてきているだろう。
0463日下部圭子 ◆ib749tYo
NGNG> 具体例を挙げなければ
たとえば「printf()はCRT画面に出力する」など、
おかしい部分がたくさんありますよ。
初歩的なことが多いので自分でわかって欲しいですね。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0464デフォルトの名無しさん
NGNG個人サイト叩きならどっか他所へ逝け。
0465怜派
NGNG今解いてる問題は2.だよね?
君が書きたいプログラムは、あのサイトを見ただけでは難しいと思うよ。
>最初に*pを作ってデータを入れて、2回目も*p作ってデータ入れたら
>上書きされるんじゃないんですか?
mallocで確保される領域は毎回別の場所になる。
だから上書きされる事はないよ。
>mallocで領域確保する意味もわからなくて、*pを宣言したらその中に
>そのままデータ入れればいいじゃないかと思ったのですが、
関数を抜けたらローカル変数は無くなるんだよ。
だからpにデータを入れても意味ないよ。
mallocで確保された領域は関数を抜けても無くならないよ。
>もしかしてmallocで領域確保するとそこにあったデータは後ろにずれるんですか?
そんな事ない。
しかし…、mallocも使った事なくて自己参照構造体を使わせられるのは厳しいね。
どういう教育されてんのかなぁ…。
0466デフォルトの名無しさん
NGNGまぁ、とんでもなくへんなわけでも、すごくわかり易いわけでもなく。
気にするようなサイトじゃないっすね。
0467453=398
NGNGちなみにmallocは全然習ってないわけではないんですけど
よくわからなかったもんで・・・
自分で使ったことは無かったんです。
さぁ本題に挑戦しようかな・・・
0468デフォルトの名無しさん
NGNGかなりダメダメなサイトだと思うが。
Cで初心者が間違えやすい有名な落とし穴っていくつかあるけど、
そういうの落ちまくってるし。
0469半角住人の宿題
NGNGマルチポスト業者に対して、メンバーページの画像直リンや
接続ソフト解析をして、業者を晒しageています。
続々と各板から応援に集まっていただいてますが、
接続ソフト解析等、初心者には難しいこともあるので、プ板住人のお知恵を貸してただけませんか?
2chから、悪徳宣伝業者を追い出しましょう!
■宣伝カキコ業者の画像や動画をばらまくスレPart2■
http://wow.bbspink.com/test/read.cgi/ascii/1010876229/
0470467=398
NGNG何も起こらないんですけど・・・
ただ^Zって表示されるだけで。
しかもどうにもならないから一回閉じてもう一回実行すると
共有違反・・・
どうすればいいんでしょう?
0471デフォルトの名無しさん
NGNGたのですが、それを利用してボタンを押したらソフトを動かすコマンドをJavaのGUI
で作りたいのですが・・・(ソフト名<入力ファイル>出力ファイル)
0473470=398
NGNG今家だからWindowsで1もやり直したんです。
そしたら予想外の壁に・・・
0474デフォルトの名無しさん
NGNG0+0=0,0+1=1+0=1,1+1=0
っていふうになるとして、
k次元のベクトルa1,a2,a3....を考える。
n1,n2,n3...が0か1の数だとして
あるK次元のベクトルsを
s=n1*a1+n2*a2+n3*a3...(有限個)
って表すために
n1,n2....を決める。
もし、s=n1*a1+n2*a2+n3*a3...(有限個)
となるn1,n2...がない場合はFalseを返す。
いいアルゴリズムありますか?
0475デフォルトの名無しさん
NGNG最初の0,1の世界ってかいてあるってことは
ベクトルの要素もすべて0か1ってこと?
いずれにしても、sのある要素に対して、左
辺の該当要素を計算してやれば済むことじゃ
ないかな。
とくに凝ったアルゴリズムは必要ない気がす
るけど。
0476怜
NGNGうーん・・・。
データをファイルからでなく、標準入力から手打ちで入れたって
ことだよね? UNIX環境だとCTRL+Dってやればうまくいってたのが、
WINDOWSだとCTRL+Zっていれても上手くいかないってこと?
うーん、ちょっと症状聞いただけだとわからないなぁ。とりあえ
ず、a.out < hoge.txt みたいにファイルで入力してみたら?
0477475
NGNG左辺の → 右辺の
0478デフォルトの名無しさん
NGNGそうです。
例えば、
a1=(0,1,0,1,0,1)
a2=(0,0,0,1,1,1)
で
a3=a1+a2なら
a3=(0,1,0,0,1,0)
となります。
つまり
左から1bitずつ割り当てた場合
ベクトルの足し算は
エクスクルーシブオアで計算できます。
0479デフォルトの名無しさん
NGNG>辺の該当要素を計算してやれば済むことじゃ
これだと
最悪2^(足し合わせるベクトルの数)回試さないとダメですよね。
もっと、効率のよいアルゴリズムはないでしょうか?
0480怜
NGNG>>475さんも書いていてくれてるけど、n1, n2, n3.....を決定したい
だけならn1, n2,,,の全ての組み合わせを考えればいいと思うよ。
a1, a2, a3,,,,を定めたいなら・・・0, 1しかなくても、やっぱ
a1, a2, a3を一次独立になるようにとればいいのかな。
0481473=398
NGNGそうです。
まぁとりあえず2番やります・・・
0482
NGNGそれだと遅過ぎて・・・
>a1, a2, a3を一次独立になるようにとればいいのかな
一次独立かどうかのチェックも結局は全部しらみつぶしになってしまう
ような・・・
0483475
NGNGうーん
0484怜
NGNGうーん、遅すぎるのね・・・。
ちょっとしっかり考えてないけどこういうのはどうかしら。
ベクトルの各要素に着目するのね。で、そこで、制約式を出すの。
もちろん、この制約式の導出段階でfalseがわかることもあるわね。
例えばa1 = (1, 0, 1), a2 = (1, 1, 0), a3 = (0, 1, 1)
とすると、
s = (1, 1, 1)なら
n1 + n2 = 1
n2 = 1
n3 = 1
さらに、ここで左辺を引き算して、式を簡単にしていく。
行列を使った連立一次方程式の解法が応用できるかな。
(ここで書く+は全部排他和ね)
何か間違ってそう。。
0485デフォルトの名無しさん
NGNG0486怜
NGNG制約式は
n1 + n2 = 1
n2 + n3 = 1
n3 + n1 = 1
ね。
0487デフォルトの名無しさん
NGNG>一次独立かどうかのチェックも結局は全部しらみつぶしになってしまう
>ような・・・
一時独立かどうかは、同じベクトルがあるかどうかできまるんやないかな
(あ、反転ベクトルも考えないかんけどね。)
だから、一次独立の判定だけなら、そんなに負荷にならないはずやけどな。
0488475
NGNG|n1|
|n2|
|n3| を ベクトルN、 |a1,a2,a3,...|を行列A
|n4|
|: |
として、Aの逆行列を ^A とした場合、
問題から
s = N × A
したがって
s × ^A = N
というわけでAの逆行列を計算する問題にできるけど、
それって高速にできるのかな。
0489デフォルトの名無しさん
NGNGそれは違うと思うよ。
>>484の
a1,a2,a3は一時独立でしょ
0491デフォルトの名無しさん
NGNG掃き出しでrankを求める
0492怜
NGNG0493デフォルトの名無しさん
NGNGいえ、答えが一つでればOKです。
>>488
それは0,1の世界の場合使えるのでしょうか?
もし可能であれば、LU分解っていう便利なのがあるんですが
a1,a2,a3,a4...は固定なんです。
0495デフォルトの名無しさん
NGNG解がある場合は、係数を求めたいのです。
というか、確率的なアルゴリズムでもOKです。
10%の確率で、解があるにもかかわらず
FALSEを返してしまうとか・・・
0497487
NGNG0498デフォルトの名無しさん
NGNG逆行列が求められるなら、LU分解もできるので
できるかもしれませんね。
ちょっと考えてみます。
0499デフォルトの名無しさん
NGNG0500475
NGNGスマソ。自信ないす。
・・・数学板向きカモ。
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGなら出てこなくてヨロシ!
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGうん
0506デフォルトの名無しさん
NGNGそうだった
とりあえず、また明日にでも
0507デフォルトの名無しさん
NGNGあとは、k<Nの場合の処理を入れれば終了やね。
0508デフォルトの名無しさん
NGNGちなみに、どんな教科での宿題なの?というか、どういう問題から派生してきた問題なの?
0509デフォルトの名無しさん
NGNGやっぱ無理です。
LU分解って正方行列じゃないと使えない。
0510デフォルトの名無しさん
NGNGk<Nのばあい、前述した、一次従属条件で引っかけて、
k=Nにもちこめるでしょうが。k>Nの場合は、Sが一次従属
でない限り解はない。
0511デフォルトの名無しさん
NGNG0512481=398
NGNG実行結果がおかしくて、ソースのどこがおかしいかわかりません。
というかすごい自信ないソースなんですけど・・・
見てもらえたらありがたいです
http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/file1.txt
http://www2.nasicnet.com/~hila/file2.txt
repo02がソースで、file1を読み込んでfile2を出すというやつです
0513デフォルトの名無しさん
NGNG> fprintf(fp2,"%10c :%3d \n",p->word,p->count);
の%10cが間違い。
その実装では、Am 4 が与えられたとき、
am : 1, 4m : 1という出力になるとおもう。
最初の初期化は止めて、compする前に
NULL文字を詰めてはどうか。
getchをうける c はintであるべき。
0514512=398
NGNGもう少し詳しくお願いします・・・
初期化はtempのことですよね?
最初に初期化するのを止めてcompの前に初期化って事ですか?
compする時にはtempに単語が入ってるんですけど・・・
それとgercうけるのはintということは文字は全部intで処理したほうが
いいのかな?
でも単純にこの中に出てきたcharを全部intに置き換えても
うまくいかない・・・・・
0515デフォルトの名無しさん
NGNG考えようや。
getcの返す値のうち、EOFのみがcharの範囲にない。
だから、その部分だけintで処理すればいい。
あとついでに、isalphaとかつかおうや。
0516514=398
NGNGちょくちょく直してみましたがまだ来ません・・・
うう、時間がない・・・
0517デフォルトの名無しさん
NGNG>の%10cが間違い。
(´Д`)y-~~ とっととなおせや。
05188945
NGNGhttp://www.puchiwara.com/hacking/
0519516=398
NGNGこれってどこがちがうんですか?
0520デフォルトの名無しさん
NGNGprintf("%10s\n", "hello World!");
0521519=398
NGNGなんとかだいぶ近づいたんですけどまだカウントされない
単語があるみたいでうまくいきません・・・
http://www2.nasicnet.com/~hila/file2.txt
0522デフォルトの名無しさん
NGNG少なくとも3つ出ているはずだが。
0523521=398
NGNG0524デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG「-Wallをつけなければ。」 gccで -Wallをつけるのは
常識だと思っていたが。
0527523=398
NGNGcompどこがおかしいんでしょう?
コンパイルはウインドウズでやってるのでgccじゃないんです。
http://hp.vector.co.jp/authors/VA009829/ft/etcdown.html
これつかってます。
警告でないです・・・
0530怜
NGNGLU分解じゃなくて、行列を基本変形させていく方法で解けない?
0531527=398
NGNGありがとうございます!
でも単語出てきた順番が逆・・・
まぁいいや、次がんばろう・・・
0532怜
NGNG今、add_listで、リストの先頭に付け足してるよね?
そうじゃなくて、リストの最後に付け足すようにしないとね。
0534531=398
NGNGってほとんどコピペしたのとかわらんけど・・・
後ろに付け足す場合、一つ目のデータをmallocした時にまだ二つ目の
データのアドレスがわからないですよねぇ?
これはどうやって指定するんでしょう?
0535デフォルトの名無しさん
NGNG0536怜
NGNGえーと、*P以外にもう一つポインタ作って、headから辿っていけばいいん
じゃないかしら? あと、新しく作られた構造体は、一番最後につくはずだ
から、nextはnullが入るよね?
蛇足かもしれないけど、compの中で、最後まで読んでみつからなったとき
に、addした方が二回リストを辿らなくていいから効率いいと思うよ。
0538怜派
NGNG(;´Д`)ハァハァ…。
0539デフォルトの名無しさん
NGNGWindows 用の gcc もあるって。
Cygwin 入れろ。
0540デフォルトの名無しさん
NGNGmallocした構造体の数が膨大になると辿るのも時間かかるから、
最後にmallocした構造体のポインタを記憶しておく
0541デフォルトの名無しさん
NGNGでも、mallocするときってのは、無い単語のときだけだから
結局一回最後まで辿るんじゃないの?
0542534=398
NGNGNULL入れると先頭がNULLになってまずいですよね・・・?
http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/file1.txt
http://www2.nasicnet.com/~hila/file2.txt
0543怜
NGNGソースはまだ見てないけど、NULLにしといて、head == NULLの場合だけ
別の処理をするようにするのが普通かな?
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGSとIとp∈Sを固定した時、決定性有限状態オートマトン(S,I,δ,p,F)
は全部でいくつあるか。|S|と|I|の式で表せ。
0546デフォルトの名無しさん
NGNG引っ掛け問題だな。正解は全部で常に1
0547542=398
NGNGputlistのところ、最初にint i=0;をつけて
ループのところを
while(i<=1){
fprintf(fp2,"%15s :%3d \n",p->word,p->count);
p=p->next;
if(p=NULL)
i++;
}
としたんですが、コンパイルしたあと実行すると応答が無くなって
閉じてからもっかいやり直すと共有違反がでて再起動しないと
直らなくなります・・・
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGfor(p=head; p ; p=p->next)
fprintf(fp2,"%15s :%3d \n",p->word,p->count);
あ、547のは、if(p=NULL)がtypoかどうかにかかってると思う。
0550怜
NGNG要するに、初期状態と、遷移関数の組み合わせの数だよね?
初期状態は、|I|(ちょっと記号に自信ないけど、入力アルファベットの数
でいいんだよね?)通り。
遷移関数だけど、ある状態A∈Sから、入力iがきたときに考えられる遷移
は|S|通り。これを考えられる全ての入力について考えなければいけないか
ら、一つの状態について、|S|^|I|通り考えられわけね。
そして、これを全ての状態について考えなければいけないから、
(|S|^|I|)^|S|通りの状態遷移関数が考えられるわけ。
だから、答えは、
|I|*(|S|^|I|)^|S|
かなぁ・・・。あんまりしっかり考えてないから間違ってるかもだけど。。
0551デフォルトの名無しさん
NGNGi++;ってのも止めた方がいいよ。それにしても、i<1だろうけど。
0552怜
NGNGとりあえず、if(p=NULL) はif(p == NULL) じゃないかしら?
0553デフォルトの名無しさん
NGNG単に無限ループしてるだけとちゃうんかい。
iに構造体のポインタ代入しないと。
0554547=398
NGNGえーと、headは最初がNULLなので2回目のNULLでおわらそうと思って
それを数えるためにiをつかったんです。
p==NULLにしてもだめだった・・・
>>549
この関数の中にはheadはないんです。
mainのheadをpに読み込んでるので・・・
あとforの真中のpってどう言うことですか?
0555デフォルトの名無しさん
NGNGなら、headを引数でもってこいや。
if( p ) は if( p != 0 )と等価。
0556デフォルトの名無しさん
NGNGputlistに入ったとき、headがNULLなら、そのまま帰るべきだし、
(そうでないなら、NULL->nextを実行させたい、ってことやで)
そうでないなら、「最初NULLだから2回目の」なんて妙な条件を
付ける必要はないし、つけてはいけない。
0557554=398
NGNG549のpはどういう意味なんですか?
headを引数で持ってきてpとしてるように思えますが・・・
でもそれだとこの関数の中にはheadがないし・・・
0558557=398
NGNGえーと、最初にmainでheadを定義したときheadの先頭ポインタをNULLと
したんです。
で、それに続けてデータを入れていく、という風にしている(つもり)です。
う〜〜ん、わけわからん用になってきた・・・
0559デフォルトの名無しさん
NGNG箇条書きでもなんでもいいから、もう一度考えて書いてみることを薦める。
0560558=398
NGNGはずれてはないと思うんだけど・・・
あぁ、今日1日中やってるのにできない(;´Д`)
明日中に4番まで終わらせたいんやが・・・
0561デフォルトの名無しさん
NGNG0562558=398
NGNG0563デフォルトの名無しさん
NGNG0564558=398
NGNG0565558=398
NGNGそれともheadの最初のNULLを避けるようにputlistのループをまわすんですか?
0566デフォルトの名無しさん
NGNG次の要素が入ったときには、head->nextが実体化する。
headがnullってことは、リストが空って事さ。
0567565=398
NGNGこれで先頭がNULLになるんですよね?
で次のデータはNULLの後ろに入るのではないんですか?
だからheadの最初がNULLだからputlistのループがすぐ終わってしまって
結果がこうなる↓のじゃないかと思ってるのですが・・・
http://www2.nasicnet.com/~hila/file2.txt
その考え方自体ちがうのかな・・・??
0568565=398
NGNG0569デフォルトの名無しさん
NGNGhead=NULL;で、
head->next = malloc(,,,);
などという愚行をやっていないことを祈る。
0571デフォルトの名無しさん
NGNGfprintf(fp2,"%15s :%3d \n",p->word,p->count);
とするのは止めないといけないのでは?
0572565=398
NGNGまた明日がんばろう・・・
0573565=398
NGNGheadの最初にNULLをいれないじゃなくて。
0574デフォルトの名無しさん
NGNG・getcのループが終わったとき、変数headがリストのケツを指している。
のをなんとかしろ。
0576デフォルトの名無しさん
NGNGあってないと思ったら、自分の回答書いてみたら?
0578Riva ◆RivaByXA
NGNG0581573=398
NGNGまた明日考えます・・・
0582おわんねー
NGNGレイトレの並列化してます。
エラーの意味がわかりません。
neg**non-integral: DOMAIN error
これって、どんなときにでるエラーですか?
ねむくてしにそう・・・
0583Riva ◆RivaByXA
NGNGhttp://proxy.ymdb.yahoo.co.jp/users/9d41a928/bc/test.c.c?bcP14k8AF6CJiUXL
↑
これではだめかい?
0584デフォルトの名無しさん
NGNGいずれにせよ、head == NULL のとき、
q=head;
q->next=p;
で、core。
0585Riva ◆RivaByXA
NGNG0586Riva ◆RivaByXA
NGNGこうかな?
0587デフォルトの名無しさん
NGNGq=head;
while(q->next != NULL){
q->nextでcoreかと。
0589587
NGNG0591Riva ◆RivaByXA
NGNG↑
答えは上にあるけど、自分でやってね。
0592582
NGNGぼくは、ここにきたの初めてでした。
ログ読む暇もないくらいテンパってます・・・
>583さん
みれないよー(涙)
0593麻衣派
NGNG0594連立方程式が解けません・・
NGNG#include <stdio.h>
#include <math.h>
#define N 5
#define EPSILON 1.0E-10
float a[N][N]={{1.0, 1.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 1.0, 1.0, 0.0},
{0.0, 1.0, 1.0, 0.0, 1.0},
{0.0, 0.0, 1.0,-1.0,-1.0},
{1.0,-1.0, 0.0, 0.0, 1.0}};
float b[N]={10.0, 10.0, 20.0, 0.0, 0.0};
int k;
float x[N];
void main()
{
int i,j;
void gau_sei();
printf("\n\n ===係数行列と定数 ===\n\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++) { printf("%10.4f",a[i][j]);}
printf(" %10.4f\n",b[i]);
}
gau_sei();
printf("\n\n ===解 ===\n\n");
printf("繰り返し回数 = %d\n\n",k);
for(i=0; i<N; i++) printf(" x[%d] = %10.4f \n",i+1,x[i]);
}
void gau_sei()
{ int i,j;
float Nk,xx;
k=0;
for(i=0; i<N; i++) x[i]=0.0;
do
{
k=k+1;
Nk=0.0;
for(j=0; j<N; j++)
{
xx=b[j];
for(i=0; i<N; i++) if(i!=j) xx=xx-a[j][i]*x[i];
xx=xx/a[j][j];
Nk=Nk+fabs(xx-x[j]);
x[j]=xx;
}
} while(Nk>EPSILON);
}
0595連立方程式が解けません・・
NGNGx[2]=1.#INFとか出るんですけどこれの意味が
あと同じく 1.#INDってのも
0596怜
NGNGソースしっかり読んでないけど(どういった手法で解こうとしてる
かくらいは書いて欲しいな・・・)、xx=xx/a[j][j];ってところで、
0で割っちゃってるんじゃないかな?
0597連立方程式が解けません・・
NGNGすいません
0598連立方程式が解けません・・
NGNG0600連立方程式が解けません・・
NGNG0601怜
NGNGあ、人違いだったのね、ごめんね。
で、問題のプログラムだけど、前に書いた通りxx=xx/a[j][j];で0で割ってる
のがいけないんだと思う・・。
ガウスサイデル法知らなかったから、今調べてきたところなんで余りアテ
にはならないかもしれないけど、対角成分は全部0であったらまずいんじゃな
いかな? だから、行を入れ替えて対角成分が全部0にならないようにする
んだと思うわ。 もし行を入れ替えて対角成分を全部0じゃなくできないなら
答えがあることは保証できないしね。
0602411
NGNG>>414のエレベータの円運動って何なんですか?
あとエレベータのアルゴリズムはまださっぱりわかりません。
0603怜
NGNGエレベータが今、6階にいるとするよね?
それで、3階と9階でボタンが押されてたとしよう。
このとき、エレベータはどっちにいけばいい?
うまくやらないといつまでもエレベータが来なくなっちゃうよね?
そのため円運動みたいなことを考えるの。
今、1階から上に上っていって、6階で客を降ろしたとすると、
今、上に上っている最中だから、まず最上階までで下に下りてくる
の。ただ、このときに6階から上で全くボタンが押されてなければ、
最上階まで行って、6階まで降りていくというのは無駄だよね?
だから、この過程を省略したと考えて、この場合は下りはじめる
ってことね。
0604411
NGNGありがとうございます。
話が戻ってしまうんですけど時間の概念で
whileで1stepずつ増やしていくのはわかるのですけど
エレベータの移動に10stepかかるとしたら
10step後までエレベータは何もしないようにするには
どうすればいいのですか?
0605582
NGNG0606怜
NGNG何step待ってるかというのを、何か変数でもって、10溜まるまでは
単にその変数を+1するだけ。で、その変数が10になったならば、
エレベータを動かす処理をする。じゃだめかな?
0607デフォルトの名無しさん
NGNGRTOSの下で? それともWindowsアプリとして?
0608411
NGNGただのC++の課題です。
UNIXで作っています。
クラスを何にしていいのかすらわからない状態で
課題が終わりそうにないです。
0609麻衣
NGNG色んな実現方法があるから困ってしまうよね
麻衣なら
1)操作ボタンクラス 外の上・下のボタン 中の階ボタン類
これらは1インスタンスで1ボタン
押されたら管理クラスにメッセージ
2)管理クラス
エレベータ現在位置とボタンクラスからのメッセージからどこに行くか決定
到着したらボタンクラスにメッセージ
3)コントロールクラス
次にどの階に行くかを実際にコントロールするクラス
4)エレベータシミュレータ
重力、慣性を適当に作る
5)タイマー 10mS毎にそれぞれのインスタンスにメッセージを送る
こんな感じで設計するかな
0610411
NGNGエレベータクラスは作らないのですか?
それともエレベータクラスがこれらのクラスを持っているということですか?
0611麻衣
NGNGもしかして同時に2台以上動かすとか必要?
0612デフォルトの名無しさん
NGNGmain()
{
printf("おまんこ\n");
}
このプログラムは何点ですか?
0613デフォルトの名無しさん
NGNGmain()
{
printf("山崎ホウセイはlinuxユーザー\n");
}
なんてん?
0614デフォルトの名無しさん
NGNG減点要素
×main は帰値型を付けていないのでintを返さなければいけない
×mainの定義が正しくない
×将来性のかけらも感じられない
×ギャグにもなっておらず寒すぎ
0615411
NGNGエレベータは2台あるので同時に動かさないといけないです。
0616デフォルトの名無しさん
NGNGもちろん10点満点中だよね?
0617デフォルトの名無しさん
NGNGエミュ
0618怜
NGNGそれによってアドバイスが変わってくるから・・・
0619411
NGNGエレベータとフロアと客をクラスで作ろうかなと思っているくらいで
まだ先が見えてこない状態です。
0620怜
NGNGじゃなくて、
プログラムできるの?
ね。
どれくらいプログラミング経験あるのかなーとか、
どの程度、複雑なプログラムなら組んだことあるのかなーとか、
0621411
NGNG0622411
NGNGプログラムは大学で習ったくらいです。
そんなに複雑なプログラムは作ったことないです。
今回出た課題が一番難しい課題です。
0623怜
NGNGじゃあ、麻衣ちゃんを見習って私ならこうクラスを設計する、
っていうの書いてみようかな。
★乗客クラス
乗客のクラスね。●階から○階へ移動したいと思ってるという
情報を持ってるのね。
★フロアクラス
各階の情報ね。待ってる乗客のオブジェクトを持っていたりする。
で、上・下のボタンが押されているかどうか、というのも持ってる
のね。
●エレベータクラス
エレベータのクラスね。
まず、中に乗ってる乗客のオブジェクトを持ってないとね。
あと、各階のどのボタンが押されてるかも知りたいから、
各階のクラスへのポインタでも持たせておくといいかな。
もちろん、今何階にいるとかいう情報ももたせないとね。
どうやって動くかというロジックはここに書くのかな。
このときもう一方のエレベータとも連携させないといけ
ないから、もう一方のエレベータへのポインタも持たせて
おこうね。
とりあえずは、こんなところかな?
0624怜
NGNGきに、その結果をリアルタイムで観察させたいなら、ってことね)
と対応させるにはどうすればいいかってことだけど。
麻衣ちゃんが言ってたみたいにタイマー使ってもいいし、それ
が面倒なら課題レベルならビジーループ(時間をかけるために無
意味にループさせる)させてしまっていいと思うよ。
0625デフォルトの名無しさん
NGNG0626581=398
NGNGありがとうございます!!
見ながらやってなんとかできました!(あたりまえ)
う〜ん、こうやるんですねぇ・・・
で、いくつかわからないところがあるんですけど、
僕がexit(1)でおわらしてるところreturn(0)に書き換えてますよね?
これはなんでなんでしょう?
あとstruct dataのメンバは3つだけど、struct data型の引数は3つですよね?
これもOKなんでしょうか?
0627Riva ◆RivaByXA
NGNG>僕がexit(1)でおわらしてるところreturn(0)に書き換えてますよね?
>これはなんでなんでしょう?
特に理由はないんだけど・・。(w
main関数は基本的にint型の返値を持たせるため。
exit(1)でもいいよ。
ただ、gccとか使ってコンパイルすると警告がでてきてしまう。
0628Riva ◆RivaByXA
NGNG>これもOKなんでしょうか?
headとpとqのことかな?大丈夫だよ。
これは単にmallocで作ったデータの住所を保持してるだけだから。
このプログラムを実行すると
[]→[]→[]→[]→[]→[]→NULL
↑
head
という構造ができて、その先頭のオブジェクトの住所がどこかを記憶してるのが
headというポインタ変数。だから、
struct data *temp;
だけだと、tempは何も指さないNULLデータ。
mallocでオブジェクトを生成させると、そのオブジェクトの住所が入る。
で、temp=head->next;とすると、
[]→[]→[]→[]→[]→[]→NULL
↑ ↑temp
head
となって、headの次のオブジェクトにアクセスできるようになる。
0630626=398
NGNGなるほどぉ。
628のほうは時間が無いので後で考えます(爆)
で、>>398の3番の問題をやりはじめたのですが(2番をちょこちょこいじっただけ)
コンパイルのときにエラーがでてどこが間違ってるのかわかりません・・・
自分で作った関数compはパラメタリストにないと出るのですが・・・
http://www2.nasicnet.com/~hila/repo03.c
0631デフォルトの名無しさん
NGNGそれはともかく、mainで、中括弧{}がそろってない。
まともなエディタ使ってるか?
0632デフォルトの名無しさん
NGNG乗客クラスはいらないんじゃないかな?
次に何階に行くかは、エレベータクラスが情報として持っていればよい。
何階で呼んでいるかは、フロアクラスが持っていればよい。
実際、エレベータに人が乗らなくても、ボタンさえ押せば運行できるわけ
だから、そのほうが自然だと思う。
0633Riva ◆RivaByXA
NGNGプログラムはエラー箇所が結構あると思う。
3番のような問題は2番のような線形リストではなく、
二分検索木などを使う。
スタックを使ってもできるかもしれないけど、ちょっと強引かな。
0634632
NGNG0635630=398
NGNG明日の朝学校にもって来たいから今日の夜中におわらしたいけど
むりかなぁ・・・・
0637Riva ◆RivaByXA
NGNG負になったら、前のデータと、今比較したデータの間に
加えたいデータをつなげる。
0639636=398
NGNGところで標準入力でCtrl+ZをおしてもEOFが返されないみたいで、
^Zと表示されるだけでなにも起こらないんですけど・・・
あ、Windowsでの話です。
0641639=398
NGNGコンパイラこれです。
でもこれエラーが1つずつしか表示されないので別の使うことにします・・・
0642デフォルトの名無しさん
NGNGどこまで逝った?
問題2、3のソースを見せて、たのむ!
0644デフォルトの名無しさん
NGNGちなみに言語はprologかc言語でお願いします
learn+linear+logic=prolog
0645怜
NGNG・・・ってソース読んでみたら、これって、標準入力から受け取ってる
んじゃなくて、ファイルから読み込んでるんじゃないの?
それだったら、何も起こらないのはあたりまえだけど・・・
0646Riva ◆RivaByXA
NGNGmainの型が宣言されていない。
>>comp(char *cdata,struct data *p)
構文がおかしい。括弧の数などが違う。
0647641=398
NGNGえ〜と、>>398みてもらえばわかると思いますけど、ほんとは標準入力
からよんでfile1に出力し、そのfile1を読み込みfile2を出し、
またfile1を読んでfile3を出し、最後にfile2とfile3を出力するという
ひとつのプログラムなんです。
標準入力からEOFをかえせないから飛ばしてファイルよむところから
やってるんです。
だいぶ警告減ってきました、もう一息。
>>646
main()にも型の宣言いるんですか?
0648641=398
NGNGもしかしてうちの学校の人だったり・・・?
まぁいいや・・・
ぐ・・・コンパイルできたけど出てきたfile3は空っぽ(爆)
http://www2.nasicnet.com/~hila/repo02.c
http://www2.nasicnet.com/~hila/repo03.c
0651デフォルトの名無しさん
NGNG神よ!!サンクス!
0652デフォルトの名無しさん
NGNG丸写しするとバレルから気をつけな
0653デフォルトの名無しさん
NGNGラジャー♪
0654648=398
NGNGやっぱりうちの学校か・・・
2はできたけど3はまだやから。
まぁ何とか今晩中におわらしたい。
あと課題は全部くっつけなあかんやろ?
あと丸写しはせんといて、微妙に変えて使ってくれ・・・
0655割り込み名無しさん
NGNGn = p->next;
f = strcmp(n->word,word);
if(f == 0){ /* 等しい */
m = makeNewItem();
strcpy(m->word,word);
m->next = n;
p->next = m;
break;
}
elseif(f>0){ /* wordのが小さい */
m = makeNewItem();
strcpy(m->word,word);
m->next = n;
p->next = m;
break;
}
elseif(f<0){ /* wordのが大きい */
if(n->next == NULL){
m = makeNewItem();
strcpy(m->word,word);
m->next = NULL;
n->next = m;
break;
}
p=p->next;
}
}
struct data* makeNewItem(void)
{
return (struct data*)(malloc(sizeof(struct data)));
}
リスと入れ替え部分のみだが、こんなんかな?
0656デフォルトの名無しさん
NGNGちなみに言語はprologかc言語でお願いします
learn+linear+logic=prolog
簡単すぎて誰も相手にしてくれないのかな?ほんとお願いします。
覆面算の例でもいいからだれか書いておいてください
0657654=398
NGNGてかうちの学校何人おるんやろ。
番号!
いーち!
0658デフォルトの名無しさん
NGNG理論的に、解ける、というので十分かね?それだと、ブルートフォースで終わりだけどな。
矢張り、実用的な時間内に解かないといけない?
0659割り込み名無しさん
NGNGwhileの下3行は
}
p=p->next;
}
こちらです。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGだから、丸投げすると怒っちゃうって。考え方だけね。
文字の種類は、a, c, e, g, i, l, n, o, p, r
の10種類? 覆面算って全部違う数字である必要があるんだっけ?
だったら、10^10通りの組み合わせを全部試して・・・しまったら
ちょっときついかな。枝狩りをしていくしかないね。
じゃあ、
各桁について、式をたててみようか?
g = (c + r + n) % 10
o = ( (c + r + n) / 10 + r + a + i ) % 10
l = ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g
みたいな式がたつよね。
これを上から順に決めていくの。
まず、一つ目の式にあうようにg, c, r, nを仮定する。
で、次に二番目の式にあうように、新たに、o, a, iを仮定する。
ここで、上手くo, a, iを定められなかったら、g, c, r, nを決めなおす。
で、次に三番目の式にあうように、新たに、e, gを仮定する。
これが決めれないなら、o, a, iを決めなおし。
で、あと全体の式が合うように、pが定まればいいわけね。
0662657=398
NGNGおお、なんか書き方がうまいなぁ・・・
で、内容についてですけど場合わけ3つもいるんですか?
F==0の時はmallocしなくていいのでは・・・?
あと410の怜さんのやり方だと辞書式にあとの単語が出てきたときに処理すれば
いいのでF<0の時だけでいいと思ったんですけど・・・
それはまた別なやりかたなんでしょうか?
僕のやりかたってまったく検討違いなのかなぁ?
0663怜
NGNG0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGにーって、俺がいちだな。解けた?
だって解らないからしょーがないじゃん。
オリジナルで覆面算作るのもいがいとできないしさ。
だれかほんとお願いします。
>658
プログラムが必要なんです。ブルーフォース?何ですかそれ。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGべつにどーでもいい話やけど。
全部違う数字なら、総当たり回数は10!になるんやないの?
0669デフォルトの名無しさん
NGNG0670怜
NGNGあと、
l = ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g
は
l = ( ( (c + r + n) / 10 + r + a + i ) / 10 + a + e + g ) % 10
ね。念のため。
0671割り込み名無しさん
NGNG>F==0の時はmallocしなくていいのでは・・・?
まったくそのとおりです。脳みそ眠ってました(藁
>・・・いいのでF<0の時だけでいいと思ったんですけど・・・
そうなのですが、もう一度ループまわすのが嫌いなのでそうしました(藁
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG02/01/16 01:33ってどういうことやねん。
0676デフォルトの名無しさん
NGNG先生は簡単に作れるみたいな事言ってたけどできないんすよ。自分で作ったのを
(例えば haha+titi=ryousin)
と打ったら成り立つか、成り立たないかを判定してくれるHPはあるんですけど意外と成り立たないんですよ。適当に考えても無理なんですかね?
0677デフォルトの名無しさん
NGNG?覆面算をつくるのか解くのか両方か、どっちでもないのか、どれさ?
0678怜
NGNGいる人にはやさしいけど、丸投げクンには冷たいよ。
覆面算作るのは、適当に式作って、1はnとか適当に決めて各桁の数字を
置き換えるだけでいいんじゃないのかな? 意味をもたせたいなら、辞書
用意しないと無理だしね・・。
0679657=398
NGNGm->next = NULL;
って言うところありますけど、新しい単語をmに作って
次のポインタNULLにしたら辞書順に後ろの単語はどこへいくんでしょう・・・?(爆)
ちなみにおいらはryuukokuちゃうますぜ
0681デフォルトの名無しさん
NGNG0682怜
NGNG0683679=398
NGNGなにそれ・・・??
0684デフォルトの名無しさん
NGNGsend+more=money、base+ball=games
とかの有名問題のことばを入れ替えるだけでできますよね。そんなのでいいのかな〜
0685怜
NGNGあー、自分でってプログラムじゃなくて、手で作るってこと?
それはどうだろう・・・。覆面算の作るコツなんて知らないなぁ・・。
検索したら何かコツみたいなのが引っかかるかも。
0686デフォルトの名無しさん
NGNG398 みたいなのは Perl や Ruby で書けば 20 行くらいだと思うが C じゃないとだめなの?
0687グダングダン割り込み名無しさん
NGNGstrcmpの返り値が逆でした(鬱
(f>0)とf(<0)をそれぞれ逆にしてください。
whileもwhile(!p->next)じゃなくてwhile(p->next)でした。
これじゃループは入れません
で、m->next = NULL;は一番後ろに入れる場合です。
辞書順に入れる場合では、いらない処理です。
0688Riva ◆RivaByXA
NGNG学期末のレポート提出も近いのか。。
0689デフォルトの名無しさん
NGNG>398 みたいなのは Perl や Ruby で書けば 20 行くらいだと・・
まぁ、そうだよね。
だが、それがいい。
0690デフォルトの名無しさん
NGNG0692683=398
NGNGhttp://www2.nasicnet.com/~hila/repo03.c
>>689
688のいうように学校のCの授業の学期末レポートなんですわ・・・
0693デフォルトの名無しさん
NGNGそれを覆面にすりゃいいじゃないか。まぁ、解が1つだけって
保証はないが、ブルートフォースなら、最低1つはみつかるだろ。
0694デフォルトの名無しさん
NGNGcompが0返すとき、引数の文字列が、リストに加わらないんだが。
0695デフォルトの名無しさん
NGNGとりあえず途中にデバグルーチン入れて見れ。
0696デフォルトの名無しさん
NGNGつーか、最初head->nextはNULLだろ?
で、whileいってwhile(p->next != NULL)じゃループは入れないぞ。
0697Riva ◆RivaByXA
NGNG>>while(p->next!=NULL)
0698692=398
NGNGでもまだおかしい・・・
http://www2.nasicnet.com/~hila/repo03.c
表示結果がこんなんなります・・・
http://www2.nasicnet.com/~hila/FILE3.TXT
>>694
も、もうちょっと詳しく易しくお願いします・・・(爆)
>>695
で、でばぐるー・・・なんですかそれは?(爆)
0699デフォルトの名無しさん
NGNG0700698=398
NGNG0702694
NGNGstrcmpの結果が常に>0で、その結果制御がreturn 0;のところまで来たら、
リストのケツにその文字列を追加しなきゃいけねぇ、って事さ。
そうしないと、その文字列が、リストから、「漏れる」。
0703デフォルトの名無しさん
NGNGデバッグ用の処理だべさ。
怪しそうなとこにprintfいれて変数の値を表示させてみな。
0704700=398
NGNGああ、そうか!!
う〜ん、なんとか文字が出てきたけどこんなんなった・・・
http://www2.nasicnet.com/~hila/FILE3.TXT
http://www2.nasicnet.com/~hila/repo03.c
>>703
ああ、なるほどぉ・・・
0706704=398
NGNG>705
F=strcmp(cdata,p->word);
のあとに
printf("%s %s",cdata,p->word);
つけるだけですよね?
なぜかすぐ実行終了してなにも表示されない・・・
0707デフォルトの名無しさん
NGNGで、これに'b'を追加する、と。
72行の時点で、pは'c'をさしてるわな。rは'd'。
q->next=r; //'b'->'d',
p->next=q; //'a'->'c'->'b'->'d'
つなぎかたがまちがっているのは一目瞭然やね。
0708デフォルトの名無しさん
NGNGまず、おちつけ。
プログラムが始まって、最初のcomp()の呼び出しの時、headとかhead->nextは、なにを指してる?
(これ、前にも書いたな)
0709デフォルトの名無しさん
NGNG[head]→[abc]→[bcd]→[cde]→[efg]→NULL
p p->next
== r
で、比較単語が[def]。
pの中身と比較してるので、1ループ目[head]は素通り、p=p->nextで、[abc]へ
[abc],[bcd],[cde]と比較していって、問題はココ。
[head]→[abc]→[bcd]→[cde]→[efg]→NULL
p p->next
== r
ここで、strcmpが<0になるので、新規登録になる。(q)
リストは、
[cde]→[def]→[efg]とならなければいけないが、ソースでは、
q->next=r、p->next=qとなっているので、
[head]→[abc]→[bcd]→[cde]→[efg]→[def]→NULL
p p->next
== r
こんなリストができちゃう。
0710デフォルトの名無しさん
NGNGで、また次に同じ奴が来ると、また変なとこに入ってしまう(count++されない)
なので、出力結果に同じ単語が、count 1でいくつも表示されちゃう。
0711706=398
NGNG図かいてたけど図が間違ってた(爆)
う〜ん、惜しい、もう一息・・・
この結果はfprintfが余分なとこまでいってるってことだろなぁ・・・
http://www2.nasicnet.com/~hila/FILE3.TXT
http://www2.nasicnet.com/~hila/repo03.c
0712707
NGNG微妙に違う内容の話でないかい?
>709のは、ループ終了条件のバグの話で、
>707のは、リストの挿入につかうポインタのバグの話。
>711
headのmalloc直後の head->next = NULL;を復活させとくように。
それとtempが空のときいcompが呼ばれるのを抑制しとく事。
0713711=398
NGNG>headのmalloc直後の head->next = NULL;を復活させとくように。
これがあるとcompのwhileループが回らないのでは・・・?
0714デフォルトの名無しさん
NGNG0715711=398
NGNGcompとputlistのwhileはwhile(p!=NULL)でいいのか!!
また一歩近づいた!
>それとtempが空のときいcompが呼ばれるのを抑制しとく事。
これをもう少し詳しく・・・
http://www2.nasicnet.com/~hila/FILE3.TXT
http://www2.nasicnet.com/~hila/repo03.c
0716デフォルトの名無しさん
NGNG空白が2度続いたりとか、空白改行とかの場合は、temp[0]="\0"のまま
compにとんでしまう。
で、それが登録されてしまう。
0717デフォルトの名無しさん
NGNGまぁ、headの表示を抑制する事で誤魔化す手もあるだろうが。
0718デフォルトの名無しさん
NGNG0719715=398
NGNGtemp[i]='\0';
if(temp[0]='\0');{
F=comp(temp,head
temp[0]='\0';
i=0;
}
こうしても上手くいかないんですけど何ででしょう?
tempが空ってのはtemp[0]='\0'というのとは違うんですか?
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGtemp[0]!='\0'で。
0722719=398
NGNGif(temp[0]!='\0'){
F=comp(temp,head);
temp[0]='\0';
i=0;
}
です。
でも結果がかわらないんですよぉ・・・
最初にへんなのが入ってしまう。
http://www2.nasicnet.com/~hila/FILE3.TXT
0723722=398
NGNGputlist(head)じゃなくてputlist(head->next)だぁ!
残すは4番のみ!
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG(書式固定なの?)
0726723=398
NGNGでもこれあってますよね?
僕の環境だとなぜか上手くうごかないことがあるんです。
DOS窓が一行分しかなくて大きくしようとしても
横に広がるだけで大きくならない・・・
たまに広がるんだけど(爆)
http://www2.nasicnet.com/~hila/repo04.c
>>725
確かにそうですね、どうするんでしたっけ?(爆)
0728デフォルトの名無しさん
NGNGそれがDOS窓というもの(ワラ
0730デフォルトの名無しさん
NGNGつか、DOSやろ。LCC試食版でコンパイルしてるし。
0731怜派
NGNG24行だった…。
鬱…。
0732デフォルトの名無しさん
NGNGhttp://www7.ocn.ne.jp/~helpme/flash/chinko.swf
http://www7.ocn.ne.jp/~helpme/flash/chinko_anesan.swf
0733Riva ◆RivaByXA
NGNGpress enter key to continue..
みたいに入力を求めるようにすれば??
0735デフォルトの名無しさん
NGNG0737Riva ◆RivaByXA
NGNGfor(int i = 0; (i < 1) && ((ch = getchar()) != EOF) && (ch != '\n');i++ );
↑一文字入力待ち。こんなのでもいいよ。
0738723=398
NGNG後はあお4つをひとつにまとめるだけ・・・
教えてくれたみなさん、ほんとありがとうございました!!
>>732
素敵なご褒美ありがとう(笑)
>>737
今日はもうこんな時間な上、明日はやく学校行かないと閉まるので
余裕があったら明日考えてみます(^^;
0739Riva ◆RivaByXA
NGNG0741735
NGNGそれってch=getchar()とどうちがうわけ?
0743連立方程式が解けません・・
NGNG0744Riva ◆RivaByXA
NGNGfor(int i = 0; (i < 256) && ((ch = getchar()) != EOF) && (ch != '\n');i++ );
一応、書いてしまったので、何を言いたかったのか書いておきます。(^^;
getchar()で文字を待つ場合、ユーザが間違って1文字以上の文字を入力すると、
例:)aaa[enter]
それがストリームに残ってしまうので、次のストップがとばされたりします。
そこで、常にストリームを空にするために上のようなコードにします。
ただし、256文字以上一度に入力があったらバグがおきるので注意。
参考までに。
>>735さんのfgetsが一番いいと思う。
0746怜
NGNGとりあえず、>>601でも書いたけど、基本的に解があれば前処理を
すれば、解けると思うよ。
係数行列の対角成分のうち、どれか一つでも0となるといけないの
ね。これは行を入れ替えることで対処できるわ。例えば
1 2 3 X1 1
4 0 6 X2 = 2
7 8 0 X3 3
って、式は
4 0 6 X1 2
7 8 0 X2 3
1 2 3 X3 1
と、等価よね?
こうすることによって、解ける形にするんだと思うわ。
0747連立方程式が解けません・・
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG友達のを丸写しするよりよっぽどマシだよ。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG少なくとも、何処で質問すればよいかを知っているのは重要。
まぁ2chってのもアレだが。
自分でやってみようという根性すらない学生の方が最近多いYO!
0752デフォルトの名無しさん
NGNGちょうど卒研で同じことやってるYO!
ただ、俺はJavaだけど…。
皆が言ってるみたいにStepとかは考えてないけどね。
ただスレッド使ってsleep()で制御してる…。
0753超初心者
NGNGwhile(scanf("%d",&a)!=EOF)
これは『^Dが「入力されない間」繰り返す』ってことですよね…
(ここがすでに自信ないんですけど)
これを for でやってみようと思って
for(i=1; i<100; i++) /* 仮に百回繰り返すことにして */
{
scanf("%d",&a);
if(a==EOF) break;
}
としてみた所、いくら^Dを入れてもループを抜けなくなりました。
んで、ためしに
scanf("%d",&a);
printf("a = %d",a);
if(a==EOF) break;
としてみて、「a」に格納された数値を出力して見れるようにしてみて、
実行してaに^Dを入力すると、
a=10640000 (間違ってると思いますけどこんな感じの数字)
とでて来ました。EOFってたしか -1 ですよね。
これだったらたしかにif(a==EOF) break;にしても、^D(=1064000)
とEOF(=-1)は等しくならないから、if=「真」 にはならなくて、breakしないのはわかります。
でも上の while(scanf("%d"),&a!=EOF) で^Dを入れたらループを抜けるのは
^D!=EOFでwhileが「偽」、つまり^D==EOFになるからループを抜けるんですよね
なぜfor〜if() breakに書き換えた時に^d=1064000になって、ループを抜けれなくなたのでしょうか
ただのコンパイラのエラー?
0754日下部圭子 ◆ib749tYo
NGNG> for(i=1; i<100; i++) /* 仮に百回繰り返すことにして */
> {
> scanf("%d",&a);
> if(a==EOF) break;
> }
これはこうですね。
int res;
for(i=1; i<100; i++) /* 仮に百回繰り返すことにして */
{
res = scanf("%d",&a);
if(res==EOF) break;
}
# っていうか、scanf()つかうプログラマはドキュソ決定
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0755超初心者
NGNGsacnf()全体==EOF
なんですね…
式よく見たら確かにそう書いてあるような気が…
ついでにもうひとつだけお願いします
教科書にはscanfが最初に載ってるんですけど、
これは普通は使わないものなんですか?
別の所でもお薦めしないといわれました
超初心者ということですいません。
聞く人周りにいないんで…
0756日下部圭子 ◆ib749tYo
NGNG> 教科書にはscanfが最初に載ってるんですけど、
> これは普通は使わないものなんですか?
http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/c/C-faq/C-faq-12.html
このページの12.20を参照のこと。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0757超初心者
NGNGちょっとそこに書いてること実際にやってみて確認しないとまだ
理解できないレベル(僕が)なんですが、
(知らない単語も結構あったし)
一般的にscanfは扱いにくいということに
なってるんですね。
もう一度後で詳しく見てこようと思います。
ありがとうございました。
0758デフォルトの名無しさん
NGNGエレベータの問題を普通に課題として出されたんだけど…
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG何のヒントですか?つか、あなただれですか?
0762デフォルトの名無しさん
NGNGすげー気になる、何のヒントなのかせめてヒントくらいくれ ヽ(`Д´)ノ
0763デフォルトの名無しさん
NGNG麻衣たんの姿も消えていく・・・。
ひげずらおやじも冬には弱いか・・・。
日下部さんはたくましい。
0764デフォルトの名無しさん
NGNG新スレたったら、また新キャラ登場するのかな?
0765ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / /
/|ヽ ヽ──' / < 麻衣たん、私の家にこないか?(;´Д`)ハァハァ
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0766デフォルトの名無しさん
NGNGミ,,・∀・ミ < 怜たん! とっとこヒントください!
ミ " "ミ \______________
\ ̄ ̄ ̄ ̄ ̄U ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
0768ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / /
/|ヽ ヽ──' / < 圭子たん、マイオフィスにこないか?(;´Д`)ハァハァ
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0769ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / / 怜たん、前スレのお兄ちゃんより
/|ヽ ヽ──' / < 私の方が頼もしいだろう?
/ | \  ̄ / \良かったらマイホームに来ないか?(;´Д`)ハァハァ
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0770ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /bool reitan_is_my_lover=true;
ゝ /ヽ───‐ヽ / / while(reitan_is_my_lover)
/|ヽ ヽ──' / < cout<<"怜「あっ、ゲイツさん・・・あ、はあッ・・・」\n";
/ | \  ̄ / \//(;´Д`)ハァハァ怜たん・・・
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0771デフォルトの名無しさん
NGNGまずは16分割の問題です.
0772デフォルトの名無しさん
NGNG0773ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ />>770
ゝ /ヽ───‐ヽ / / すばらしいソース。
/|ヽ ヽ──' / < 実行可能ファイルにしてVS.netの
/ | \  ̄ / \サービスパックに入れることにしよう。
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0774デフォルトの名無しさん
NGNGそれするとコメント文が・・
0775デフォルトの名無しさん
NGNG0776ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /早速実行可能ファイルを作成した。
ゝ /ヽ───‐ヽ / / WinMXでダウンロードしてくれるといい。
/|ヽ ヽ──' / < UserNameはBill_Gates、ファイル名は怜たんハァハァ・・・だ。
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0777デフォルトの名無しさん
NGNGコピペ荒シageヤメレ
0778ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / / すみません。もうやめます。
/|ヽ ヽ──' / <
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0779デフォルトの名無しさん
NGNG0780日下部圭子 ◆ib749tYo
NGNG似てません(^^)
ゲイツなんかと一緒にしないでください。
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0781デフォルトの名無しさん
NGNG元気か?
0782デフォルトの名無しさん
NGNGまあぼちぼち。
0783デフォルトの名無しさん
NGNG優しいね
0784き、期限が…
NGNGCでアプリケーションを作りたいのです。
作りたいと思っているのはファイルマネージャです。
でも何からはじめたらイイのかぜんぜん分かりません。
まず何を勉強すればいいのでしょうか?
できれば25日までに作りたいので、皆様すこしずつ教えてください。
二次方程式を解くプログラムぐらいまでならいました。
0785き、期限が…
NGNGファイルを取り出して種類ごとにソートするというものです。
0787き、期限が…
NGNG作る環境は以下のページの
C言語を始めよう!という物に
ボーランド++c5.5です。
0788デフォルトの名無しさん
NGNGそれをユーザにどう見せるかが問題だな。
>>785の技術知識で、bcc55でGUIを0から作ってたら、数ヶ月はかかる。
0790デフォルトの名無しさん
NGNG付いてるなら Windowsコントロールでまにあわせるというのはダメ?
0791き、期限が…
NGNGAUTOEXEC.BATファイルの書き換えに失敗して
使おうとしてたノートが起動途中のDOS画面から先に進めなくなってしまって。
で、GUIなら無理っぽいですが、
ファイルを取り出してソートするところを教えてください。
0793き、期限が…
NGNG0794怜
NGNG方法探してみたので参考までに。
ttp://members.tripod.com/~masapico/api_FindFirstFile.html
実は私、Windowsでのこういう操作って、MFCでしかやったことないの
よね・・。ボーランドのも使ったことないのよね・・。
子フォルダの仲間では探索してくれないから、再帰とか使って全部のフォルダ
探すようにしてね。
0795怜
NGNG再帰というのは、関数の中から同じ関数を読み出すような事ね。
で、リストっていうのは、まあリストなんだけど。
ソートするためには、一度そのフォルダの下にある全部のファイル
を調べて覚えないといけない。これをどういった形式で記憶しとくか
というのが問題になるよね?
大きな配列を作ってもいいし、あとはリストを使うか・・ってこと
になるんだけど・・・。
0796き、期限が…
NGNG0797怜
NGNG0798ぁぉ
NGNGうぜぇから地下でやれよ。
0799き、期限が…
NGNGでファイルマネージャを作ってみようかと思ったんですが。
こんなに大変だとは。 あーどうしよう。
0801き、期限が…
NGNG怜さんありがとうございました。
0804(;´Д`)
NGNGXORによる暗号化プログラムなんて簡単だしいいかも。
0805デフォルトの名無しさん
NGNGある用途に特化した単機能ツールのほうがいいな。
入力と出力をファイルにして、何かのコンバートを行う
というのがよさげ。
0806き、期限が…
NGNG>xorによる暗号化プログラム。
うーん、個人的に欲しいかも。ウィンで使えるのが前提ですが。
つか、友達とかはゲーム作るなんて言っているのですが、
自分としてはどうせなら自分が欲しい機能だけもったソフトを作りたくて。
>>805、804さんのような考えで前述の構想にたどり着いたのですが
機能は単純でも自作は到底無理でした。
ある用途に特化した単機能ツールって言うのは
僕のイメージしていた物に良くあっています。
MYPCのメモリが64Kなので複雑かつ多機能なのは勘弁です。
例えば、極窓なんか複数ファイルの拡張子orファイル名の
一括変換にしか使ってないですし。
うーんまた考えてきます。それにしてもみなさん親切です。感謝!
0807デフォルトの名無しさん
NGNG64K?(いつのPCだよ)
64Mの間違いだよね?(それともDOSのプロテクトメモリのこといってるの?)
0808き、期限が…
NGNG逝って来ます。
0809デフォルトの名無しさん
NGNGDOSプロンプト上で入力ファイル名入力→出力ファイル名入力→処理
っていうくらいでいいんじゃないの?最初は。
何にも考えずにscanf使ったりとかでも最初はそれでいいと思うけど。
0810デフォルトの名無しさん
NGNGエディターです。巷のタグエディタより低機能にすれば、これほど簡単なものはない。
まず、mp3ファイルをバイナリエディタで覗いて仕様でも考えてください。
0811デフォルトの名無しさん
NGNG0812759
NGNG0813デフォルトの名無しさん
NGNGe->InitialPos(x,y);
e->Show();
0814デフォルトの名無しさん
NGNG説明キボーン
0815ジョージ
NGNGヒントください。
0816つらい
NGNG0817デフォルトの名無しさん
NGNG頭に浮かぶのはビットシフトなんですが、何か効率悪くて。。。
0818デフォルトの名無しさん
NGNG>1バイトを8ビットに展開する
?
どういうことかわからん。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG使用している環境では1バイト=10ビットなんです。
配列などで、これを8ビットに直したいんです。
0821デフォルトの名無しさん
NGNG1111111111 1111111111...
11111111 11111111 1111...
ってとか?
0822デフォルトの名無しさん
NGNG圧縮アルゴリズムには、どういうものがありますか?
有名な名前とかあれば、よかったら教えていただけないでしょうか・・・
名前が分かれば検索して調べます
0823デフォルトの名無しさん
NGNGひょっとして、圧縮したまま検索がかかるような
特殊な圧縮方法探してる?
0824デフォルトの名無しさん
NGNGBlockSort, LZ77 LZW, PPM法
HUFFMAN符号化、算術圧縮, Range Coder,
あたりを調べるよろし。
0825822
NGNGありがとうございました。
zipに使われているものなんですね。
中身を解説してくれているページはまだみつけていませんが、
なんとか調べてみます。
努素人なので、単純なもので十分です。
0827デフォルトの名無しさん
NGNGそれは10桁の数を8桁に直したいといってるようなものだぞ。
1000000000をどうやって8桁であらわせるんだ?
0828820
NGNGご、ゴメン!
817!=820なんだわ。
あんまり意味不明な質問なんでついふざけてしまった・・・。
まさかそんなやさしいレスがつくと思わなかった。
多分もとの質問は1バイトを2進数で表示したいって事だと思う。
でも効率が悪いと思うならまずその効率が悪いらしいアルゴリズムを提示すべきだと思うぞ>>817
その方法が最良かもしれないしな。
それにそうしてればこんな状況(俺のせいだけどな)にもならなかっただろうよ。
0829初心者?
NGNGどうやった方が一番効率良く完成できるでしょうか?
一応、僕は永遠とfor分でプログラム中っす!
0830デフォルトの名無しさん
NGNGメモリに余裕あるなら、再帰。
0831817
NGNGしかし、言葉が足りなかったようで、すませんっす。
要は、16進数(1バイト)を2進数(8ビット)に展開するやつです。(と言うより変換ですか?)
初めて再帰呼び出し(かな?)をやりました。
じゃー、質問を変えて。。。
1バイトに工夫してビットを突っ込もうとしたら
どれくらい入りそうですか???
15は入りそうなんだけど。。。
>>820
そうか、提示かぁ・・・。
以後気をつけます。ありがと。
0832怜
NGNG16進数=1バイトじゃないのよね。
1バイト=8ビットね。
だから、2~8種類を表せるの。
で、1バイトが16進数の2桁で表されるのを見て16進数(1バイト)
とか書いたのだろうけど、それは、16*16 = 2^8だからね。
例えば、16進数でA7っていうのは2進法で表すと10100111なの。
Aっていうのは1010 7っていうのが0111だからね。
だから、1バイトにビットを突っ込む(って言い方がよくわか
らないけど)としても、8つしか無理だと思うな。
0833デフォルトの名無しさん
NGNGまずですね、n進数とバイトとビットについて、
もっと一般的な意味をしらべてから質問してみてはいかがでしょう?
0834817
NGNGしかし、道はメチャクチャ遠そうです。
うんで考え方は簡単。
1バイトに’工夫して'8ビット以上詰め込めたら圧縮できるよなー・・・、って
これって根本的に無茶ですか?
0835デフォルトの名無しさん
NGNG手作業でやったらできちゃったよ(;´Д`)
対称を抜くとこれって何パターンあるの?
さすがに2パターン目は見つける気がしない。
0837デフォルトの名無しさん
NGNGとりあえず情報理論の本の一冊くらい読んでくれ。
これが簡単なのでお奨めだ。
わかりやすい ディジタル情報理論
http://www.ohmsha.co.jp/data/books/contents/4-274-13138-6.htm
0838デフォルトの名無しさん
NGNG> これって根本的に無茶ですか?
再帰的に適用してみろや。工夫して8bit以上つめこんだ1byteを、
また工夫して、8bit以下にできるか、っちゅうねんな。
無限に適用すれば、すべての情報が1byteで表現できることになるだろうが。
http://pc.2ch.net/test/read.cgi/tech/1010674540/483
0839デフォルトの名無しさん
NGNG0840817
NGNG残念です。
>>837
その本ホントにわかりやすいですか?(その手のは微妙なのもあるんで。)
お墨付きいただけるなら探してみます。
>>838
極端に言えばそうですよねぇ。
うむぅ。。。
みなさん、解答ありがとうございました。
0841デフォルトの名無しさん
NGNGつか、どの圧縮法も
「圧縮後の1バイトに工夫して圧縮前の1バイト以上を詰め込んでいる」
1バイト以下だと膨張法だからな
0842デフォルトの名無しさん
NGNG1バイトに工夫して15ビット入れる具体的な方法の説明を、切に、切に願う。
0843デフォルトの名無しさん
NGNGできないと出た素人論法を何に使うの?
838の言うとおりだと思うが。
0844デフォルトの名無しさん
NGNG混乱するといけないから「平均すると」を入れといてやってくれよ。
0845(;´Д`)
NGNG>その本ホントにわかりやすいですか?(その手のは微妙なのもあるんで。)
ビットやバイトの定義もまともに解ってないのによくそんなこと言えるな。
プログラム組んでいく前に情報の基礎でも勉強したらどうだ?
0846デフォルトの名無しさん
NGNGファインマン計算機科学が良い
http://www.iwanami.co.jp/.BOOKS/00/6/0059410.html
0847840
NGNG解りやすいと思うなら、素直に胸を張って解りやすいと一言欲しかった。(別の人かな?)
私は2千円とか、パっと出せるほど裕福でも無いのです。
しかし、気に障ったようなら謝ります。
失礼いたしました。
0848(;´Д`)
NGNG別の者だよ。
俺が言いたかったのは、情報の基礎もまともに知らないのに、
よく(その手のは微妙なのもあるんで。)なんて言えたな、ということだ。
「微妙なものもある」なんて体験的なことを言えるのなら、
すでにそういう系統の書籍を読んでいなくてはおかしい。
ならば情報の基礎くらいはすでに学んでいるはず。
なのに解っていない。これはどういうことだ?と、いうことだよ。
0849840
NGNG・1バイトは256、つまり256個の情報が詰め込める。
・オンオフを表現すると128個が限界。
・つまり、1バイトに数を保存するのでは無くて、各ビットがオンだったかオフだったかを保存する。
・8ビットひとまとめには考えない。合計256という制限を活用する。
・色々思案すると、15くらいはいけそうだ。
・私ウキウキ・・・。(吐血
・>>838に切り出しのことを言われ死。
・・・以上。
0850デフォルトの名無しさん
NGNGつまりその「微妙なもの」に引っかかって理解できなかったのではないかと考えてみるテスト。
0851840
NGNGあ、そのニュアンスが伝わらなかったのか。
すいません。
えーっとですね、この世にたくさん存在する「わかりやすい」本って
みても「わかんねーよ」って突っ込むのが(私の場合)結構あるんですよ。
で、お墨付きって言葉を使ってみたんですが、逆効果でしたか・・・。
失礼しました。
0853デフォルトの名無しさん
NGNGここが陥りやすいところだな。
俺も始めはそう錯覚した。
256という”1つの”数字をあらわすのと”256個の”情報を表すのではまったく意味が違う。
0854840
NGNGそのようですね・・・。
言葉が足りなくなるのは悪い癖です。
精進するため、逝ってきます。
はぅ・・・。
おまけ。
>849の考え方を実現してくれる有志を募集。
もうヤケです。(笑
0855デフォルトの名無しさん
NGNG表現の仕方が良くない。それでは意味のある15個の情報と取れる数値を
1バイトの領域に格納する、というように取れてしまう。
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNGここダウト。1byteでon-offとして表現できるのは8個。
だから、
> ・つまり、1バイトに数を保存するのでは無くて、
>各ビットがオンだったかオフだったかを保存する。
は、テンで意味をなさない。(その文の前後は同じ意味だから)
0858デフォルトの名無しさん
NGNGここですでにダウト。256種類のうちの、どれか1つを表せるだけ。
0859デフォルトの名無しさん
NGNGそこを いじくりたい場合、 フーリエ変換か ウェーブレット変換を
使うのだと思うのですが、 数学に対してあまり知識が
ない私は 理解できませんでした。
なので どのような手順でやれば できるのか教えていただけませんでしょうか?
0860デフォルトの名無しさん
NGNG数学勉強するのが一番いいと思われ。
ディジタルデータに対して周波数解析するんだったら、
DCT か FFT 使うな。
ウェーブレットは位置(時間)情報と周波数情報を同時に必要なときに使う。
0861812
NGNG0862デフォルトの名無しさん
NGNG元気だったか??
0863デフォルトの名無しさん
NGNGJIS方式のゾーン型2進化10進法、パック型2進化10進法などに変えてくれる
プログラムとかってありませんか、たすけてください
0864デフォルトの名無しさん
NGNGはい。こんにちは。あんまし元気じゃないっす
今風邪気味。げほげほ
0865お願い・・・、ガク。
NGNGオネガイシマスダ---。
0866デフォルトの名無しさん
NGNG10進->浮動小数点
float f;
scanf("%f", &f);
0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG知らないようだから、教えてやるが、そういうのを丸投げという。
少しは調べれ。ネタだったら他をあたれ。
0869デフォルトの名無しさん
NGNG宿題で、C曲線かゴッホ曲線かドラゴン曲線か、ヒルベルト曲線のどれかひとつのプログラムを作れと
宿題が出されました。
誰がご教授、または参考になるHPを教えてください。
0870デフォルトの名無しさん
NGNGだから検索しろって。
0871869
NGNGどこで検索するのがよいのでしょうか?
あと、プログラムをそのまま載せているHPってあるんですか?
0872デフォルトの名無しさん
NGNGどうやったら描画したことになるんだ?
0873869
NGNGTurtle Graphicsを使って描くようです。
いまいち原理が分からなくて。
0874デフォルトの名無しさん
NGNGなんでそのまま載せている必要があるんだ?
0875デフォルトの名無しさん
NGNG検索すれ
0876869
NGNGどうやって検索したら良いかわからないんです。
どうかご教授ください、
0877デフォルトの名無しさん
NGNGまず検索の方法を検索したほうがいいと思われます。
0878869
NGNG0879デフォルトの名無しさん
NGNGCだったらコッホ曲線とドラゴン曲線のソースがこれに入ってるな
http://www.vector.co.jp/soft/data/prog/se002453.html
0880869
NGNGC言語の授業なんですけど、よく分からないんですよ。
助けてください。
0881869
NGNG0882デフォルトの名無しさん
NGNG好きなだけ検索しろ。
http://www.google.co.jp/
http://www.yahoo.co.jp/
http://www.goo.ne.jp/
http://www.infoseek.co.jp/
http://www.lycos.co.jp/
だれにネットの使い方を教わったか知らないけど、
2chよりまず検索の方法を教えてもらえ。
0883869
NGNG載ってたとしてもjavaとか使ってるみたいですし。
0885869
NGNGだから、まだ確かめてなくて…。
ご指摘ありがとうございます。
0886デフォルトの名無しさん
NGNG0887869
NGNG0888デフォルトの名無しさん
NGNG0889869
NGNGありがとうございます!
0890見事な攻撃だタケちゃんマン!
NGNG0891デフォルトの名無しさん
NGNG>ゴッホ曲線
芸術っぽい(笑)
0892869
NGNG0893869
NGNGvoid koch(double,int);
void main(void){
int i;
InitTurtle();
for(i=0;i<6;i++){
X=320;
Y=240;
koch(270,i);
getch();
G_CLS();
}
}
void koch(double L,int n)
{
if(n==0)
{
FD(L);
}
else
{
koch(L/3,n-1);
LT(60);
koch(L/3,n-1);
RT(120);
koch(L/3,n-1);
LT(60);
koch(L/3,n-1);
}
}
これがコッホ曲線のらしいんですが、
こーゆーのが>>879で出るのでしょうか?
0894デフォルトの名無しさん
NGNG連結リストを用いて実現するにはどうしたら良いでしょうか?
ポインタからやり直します…鬱
0895894
NGNGクラスカルはすでに実装できているので自力で頑張ってみます。
お騒がせしました。
0896デフォルトの名無しさん
NGNGちょっときみはいくらなんでも場違いだと思うに一票
0897デフォルトの名無しさん
NGNG0898透明人間。(*´Д`)y~~ahu~ ◆73iRGUKc
NGNGとりあへず逝っとけ
0899デフォルトの名無しさん
NGNGEUCって、状態遷移系のコードじゃねーだろ。
0900デフォルトの名無しさん
NGNGttp://www.mars.dti.ne.jp/~torao/program/appendix/japanese.html
0901897
NGNG0902デフォルトの名無しさん
NGNG量子計算機だ量子計算機を使え!
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGすまん
0905なにとぞお願いいたします。
NGNG自分で一通り作ってみたのですが、
コンパイルもできませんでた。
問題は以下です。
=====================================
次のように、一行に日付けとその日の最低気温、
最高気温が記録されたファイル(ファイル名:temp.dat)があるとする。
_____________________
1 10.0 30.0
2 12.1 28.8
3 11.3 25.2
4 10.5 27.4
5 13.1 28.0
・・ ・・・・ ・・・・
_____________________
このファイルを読み込んでファイルの中での最高気温が最も高い日の
日付と最高気温、
同様に最も低い最低気温とその日付を表示するプログラムを作成せよ。
0906なにとぞお願いします
NGNG=================================
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int da[i];
double hi[i];
double lo[i];
int i, j, max, min;
if ((fp = fopen("Temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
fscanf(fp)"%d %lf %lf",&d, &f, &g";
for (i = 0; i < (n-1); ++i) {
x = data[i];
max = i;
for (j = i + 1; j < n; j++) {
if (data[max] < data[j]) {
max = j;
}
}
printf("最高気温, 日付=%d\n, %d\n" hi[max], max);
for (i = 0; i < (n-1); ++i) {
x = data[i];
min = i;
for (j = i + 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%d\n, %d\n" low[min], min);
fclose(fp);
}
9-1.c:40:35: missing terminating " character
9-1.c:17:34: possible start of unterminated string literal
9-1.c:36:35: missing terminating " character
9-1.c:13:34: possible start of unterminated string literal
0907なにとぞお願いします
NGNG0908なにとぞお願いします
NGNGそれに伴いコンパイルエラー表示も訂正です。
================================
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int da[i];
double hi[i];
double lo[i];
int i, j, max, min;
if ((fp = fopen("Temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
fscanf(fp)"%d %lf %lf",&da[i], &hi[i], &lo[i]";
for (i = 0; i < (n-1); ++i) {
x = data[i];
max = i;
for (j = i + 1; j < n; j++) {
if (data[max] < data[j]) {
max = j;
}
}
printf("最高気温, 日付=%d\n, %d\n" hi[max], max);
for (i = 0; i < (n-1); ++i) {
x = data[i];
min = i;
for (j = i + 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%d\n, %d\n" low[min], min);
fclose(fp);
}
9-1.c:40:35: missing terminating " character
9-1.c:17:46: possible start of unterminated string literal
0909日下部圭子 ◆ib749tYo
NGNGとりあえず間違っている行を教えてあげます。
fscanf(fp)"%d %lf %lf",&d, &f, &g";
printf("最高気温, 日付=%d\n, %d\n" hi[max], max);
printf("最低気温, 日付=%d\n, %d\n" low[min], min);
----------------------------------
||//
(@_@) Kusakabe Keiko
----------------------------------
0910デフォルトの名無しさん
NGNGこのエラーメッセージ程度の英語は読んで下さい…
おながいします。
0911なにとぞお願いします
NGNGああ!ありがとうございます。
その部分、少し考えてみます。
>>910
見当たらない、終了"文字
終了していないストリング・リテラルの可能なスタート
・・・う〜んちょっと考えてみます。
ありがとうございました。
0912デフォルトの名無しさん
NGNG・fscanf では、一行分しか読み込めませんので、全行読み込むにはループが必要かも。
・ソートするには2重ループが必要ですが、最低値を求めるときは1重ループで十分かも。
0913デフォルトの名無しさん
NGNGよくみろよ。MBCSの処理が要るんだよ(w
0914なにとぞお願いします
NGNGありがとうございます。
しばらく落ちて考えてみます。
>>913
え〜と、MBCSっていうのは「マルチバイト文字セット」でいいんでしょうか?
う〜ん難しそうなフレーズで、、授業でやっていないような。。
もしよろしければどういう処理か教えていただけないでしょうか?
0915デフォルトの名無しさん
NGNG0916なにとぞお願いします
NGNGありがとうございます。
そのための処理をこのコードの中にいれなければいけないってことですね。
少し考えてみます。
0917デフォルトの名無しさん
NGNG> if ((fp = fopen("Temp.dat","r"))==NULL) {
winだと大文字小文字が違っててもファイル開けるんだっけ?
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG> ・ソートするには2重ループが必要ですが、最低値を求めるときは1重ループで十分かも。
b-treeを使えばソートする必要ない。最低値と最大値も勝手に求まる。
それよりも
int da[i];
double hi[i];
double lo[i];
C99ってこれは許されるの?
# C89は無理だけど
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGそれ以前にこの問題でどこにソートする必要が?
0922デフォルトの名無しさん
NGNG可変長配列の事?C99ならOK。
0923なにとぞお願いします
NGNGみなさんにアドバイスいただいてから、
少し手を加え、完成に近づきつつあると思うのですが、
下記から一歩も進めないのです。。
どうすれば、、、
コンパイルエラーの表示見ても、何を意味するのかわからないのです。
===============================================================
0924なにとぞお願いします
NGNG#include <stdlib.h>
int main(void){
FILE *fp;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min, n;
printf("number of data =");
scanf("%d", &n);
if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
for(i=0, i<n, i++){
fscanf(fp,"%d %lf %lf",&da[i], &hi[i], &lo[i]);
}
max = 0;
for (i = 1; i < n; i++) {
if (data[max] < data[i]) {
max = i;
}
}
printf("最高気温, 日付=%g\n, %g\n" hi[max], max);
min = 0;
for (j = 1; j < n; j++) {
if (data[min] > data[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %g\n" low[min], min);
fclose(fp);
}
9-1.c: In function `main':
9-1.c:19: parse error before `)'
9-1.c: At top level:
9-1.c:25: warning: data definition has no type or storage class
9-1.c:26: parse error before `for'
9-1.c:31: parse error before string constant
9-1.c:31: warning: data definition has no type or storage class
9-1.c:33: warning: data definition has no type or storage class
9-1.c:34: parse error before `for'
9-1.c:39: parse error before string constant
9-1.c:39: warning: data definition has no type or storage class
9-1.c:41: warning: parameter names (without types) in function declaration
9-1.c:41: warning: data definition has no type or storage class
9-1.c:43: parse error before `}'
0925デフォルトの名無しさん
NGNGよくみりゃおかしいことに気づくだろうに。
つか、君はプログラムができるまで、
ソースとエラーの掲示を延々続ける気なのかね?
0926デフォルトの名無しさん
NGNGとりあえず落ち着け、
最初のソースで問題なかった所までおかしくなってるぞ。
for文中の;が,になってたり。
あと909さんが指摘しているように、
printfの引数がおかしい。
それ以外はエラーメッセージを読んで、
参考書なりを照らし合わせれば分かると思う。
あせってるようだけど小一時間くらいは自分で見直してみるのも良いかと。
0927なにとぞお願いします
NGNGどうもありがとうございました。
うっかり気が付きませんでした。
ご迷惑おかけしました。
あとは自分で頑張ります。
0928デフォルトの名無しさん
NGNGwhile(fscanf(/*---*/) != EOF){
/*---*/
}
0929デフォルトの名無しさん
NGNG最初のソースに比べればかなりよくなってるぞ。がんばれよー。
0930デフォルトの名無しさん
NGNGとか。
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGとりあえず>>924が終わるまで待て
0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNGお年寄りは大切に。
0935ビル・ゲイツ
NGNG/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / /次スレはぜひとも私をメインキャラ
/|ヽ ヽ──' / < にしてほしい。これはマジレスだ。
/ | \  ̄ / \どうか、お願いする・・・。
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG作用素環論の研究、量子力学の研究やゲーム理論の創始など
「20世紀のレオナルド・ダ・ヴィンチ」と評される
フォン・ノイマンを希望。
あ、ノイマンは男か・・・。
0938デフォルトの名無しさん
NGNG●お姉さん
あなたの宿題、お姉さんが答えます
http://piza.2ch.net/tech/kako/972/972032579.html
で登場。
●麻衣
お兄ちゃんの宿題、私が答えるよ
http://pc.2ch.net/tech/kako/982/982853418.html
で初登場。可愛い妹キャラ
●お兄ちゃん(名称不明)
宿題見てやるよ
http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
で初登場。しかし、女性がいいという影の圧力により
1以外には登場せず。
●怜
宿題みてあげるっ
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
で初登場。お兄ちゃんの恋人。
結構親切に答えてくれる年上キャラ。
0939デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGほんとだ・・・早速女性の身内と交代を希望されてる・・・(藁
前スレのお兄ちゃんの幼なじみなんていいんでない?
本当は彼のことが好きだけど、怜に遠慮して想いを秘めたままの
健気な女の子。
0942デフォルトの名無しさん
NGNGハイミス・インテリ、質問者を厳しく指導しちくり
0943デフォルトの名無しさん
NGNG一緒にレポートがんばろっ、って感じの女の子とか・。
0944デフォルトの名無しさん
NGNG‥‥12人くらいに。
0945(;´Д`)
NGNG(・∀・)イイ!
0946デフォルトの名無しさん
NGNGそれやるなら、お兄ちゃんの名前を決めたいね
0947(;´Д`)
NGNG0948デフォルトの名無しさん
NGNG一つの質問に12個レスつくのか(w
0950デフォルトの名無しさん
NGNGちゃんづけなのか?(w
でも、”ひろゆき”はいいかもね。
0951(;´Д`)
NGNG西村博之キボンヌ
0952デフォルトの名無しさん
NGNGこれまでの意見を総合した結果、
世界初のプログラム駆動方式のコンピュータをつくり、
作用素環論の研究、量子力学の研究やゲーム理論の創始など
「20世紀のレオナルド・ダ・ヴィンチ」と評される
人類初のプログラマの美人お母さんの女教師で同級生、
一緒にレポートがんばろっ、って感じの
12人のひろゆきちゃんに決まりました。
0953デフォルトの名無しさん
NGNG「麻衣を出せ」
の一行レスがなんか好きだった(藁
0954デフォルトの名無しさん
NGNGおっと、ノイマン氏を一緒にしちゃあいけない。失礼だろう。男だし。
エーダ氏も一緒にしないほうがいい。失礼だろう。
0955(;´Д`)
NGNG一緒にレポートがんばろっ、って感じの
12人の妹、名前は全員ひろゆきちゃんに決まりました。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNGあ、解答はAAで(w
0959デフォルトの名無しさん
NGNGこのAAで。
0960デフォルトの名無しさん
NGNG0961(;´Д`)
NGNGヽ(`Д´)ノウワァァァァァン //宿題でこまったちゃん
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG先生はいらない。
圭子たんがいいよ。
0964デフォルトの名無しさん
NGNGhttp://choco.2ch.net/test/read.cgi/mona/1011101749/
0965デフォルトの名無しさん
NGNGひげずらおやじは睡眠中か?
0966怜
NGNGと思うので・・・。誰かお願いできないかな?
0967suzuki
NGNGdoblle型の配列を準備し、適当に6件のデータを読み込み、
それらの平均値を求め、平均値よりも大きな値を配列の前半に、
小さな値を後半に格納するプログラムを教えてください、
入力例
input a[0]=>12.2
input a[1]=>42.8
input a[2]=>83.1
input a[3]=>-12.9
input a[4]=>90.1
input a[5]=>2.26
出力例
平均
0968suzuki
NGNG出力例は
output a[0] = 42.80
output a[0] = 83.10
output a[0] = 90.10
output a[0] = -12.90
output a[0] = 12.20
output a[0] = 2.26
0969デフォルトの名無しさん
NGNGソートしる!
0970怜
NGNGちょっと眠いから詳しく説明はしないけど・・
ttp://www.cs.u-gakugei.ac.jp/~miyadera/LECTURE/SortAnim/ExAlgorithm5.html
このページでも参考に応用してみてね。
0971えれな
NGNG宿題、手伝おっか?
名前: えれな
前々スレのお兄ちゃんの幼なじみ、えれなです。
宿題、判らないところとかがあったら、聞いてね。
怜さんの前スレはこちら、
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
キーワードがわかってるなら、googleで探してね。
http://www.google.co.jp/
0972どっぺるえれな
NGNG宿題、手伝おっか?
http://pc.2ch.net/test/read.cgi/tech/1011722640/
0973えれな
NGNG0974田代雅史
NGNG( _(((((((((_ )
|/ ~^^\)/^^~ヽ|
| _ 《 _ |
(|-(_//_)-(_//_)-|)
| 厶、 | cout<<"このスレは無事に正常終了した。\n"
\ |||||||||||| / <<"私が最後の仕事をするとしよう。\n";
|\___/::\
/丶 / / \ return 0;
/,': // ヽ \}
/ /´ ̄ ̄ ̄ ̄ :::::: \-、
/ _/ :: 、 ゙ `\
/ ~_/`'' : 、` ゙ヽ
/ __/`'' ___ ::丶 \:: ヽ、 ヽ
/ / ` ヽ、{丶 ヽ :::ヽ |
/ ~ヽ、ヾ\ ゙i |
。 -´/ /ゝ、 ` _ ヽ、/X
ヽノ :::|/// ~` ''' `' / ヽ
| , | | :::| / | 〃 \ |
{~ ヘ___ \ 。 .:::ノ /_/| | :::| |
丶ノ \__ `- 、_____, -´イイ_| | ::::| | |
{ | \___ \ノ イ_ | | :::| |
{ ´|ヽ、 ,,`i` // \ノ |丶 :丿 |
{´_|_ `'''''´ l //ノヾ,ノ`ゝヽ____ /ヽ,、 |
| i `'''ー-''~ }= ノ ヾ /〃 | ヽ}
ヽゝ、_ } = ヾ | ノ |
0975ダダダダーん!
NGNG0976デフォルトの名無しさん
NGNGうざいよおまえ。
一箇所に書いたら、しばらく待っとけよ。
0977デフォルトの名無しさん
NGNGマルチポスト野郎のせいで最後の仕事にならんかったな。
printf("ざけんなよ、テメーコラ!>975"); /*終了処理*/
return 0;
0978デフォルトの名無しさん
NGNG/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モナーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ^∀^) / /(^∀^ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0979デフォルトの名無しさん
NGNG/ ヽ / ヽ_ / .∧
/ `、 _/ `、⌒ヾ⌒ヽ/ ∧
/  ̄ ̄/ u (.....ノ(....ノ / ヽ
l::::::::: | >>975 u .:(....ノノ
|:::::::::: -=・=- / ̄ ̄ヽ ::::::::::::::/`ヽ
.|::::::::::::::::: \_(___..ノ u ::::::::::::::::::::(....ノノ
ヽ::::::::::::::::::: \/ヽ u ::::::::::::::::::::::::::::ノ
ちょっとdatまで付き合えや…
0980デフォルトの名無しさん
NGNG閲覧用として、怜たん萌え萌え用として、
暫くとっておくべきだ。
緊急浮上age
なお、宿題は下記のスレで・・・
http://pc.2ch.net/test/read.cgi/tech/1011722640/l50
0981カイン・ポブレム
NGNG/*受け取った文字列の中に小文字が含まれているかどうかを判定する関数の入ったプログラムを作成する*/
#include<stdio.h>
#include<string.h>
#define N 100
int mozi(int x[]);
int main(void)
{
char retu[N+1];
ibt a;
printf("何か100字以内で文字列を入力してください\n");
scanf("%c",&retu);
if(mozi(retu)==a){
printf("小文字が含まれています\n");
}else{
printf("大文字だけです\n");
}
return 0;
}
int mozi(int x[])
{
int i,j;
int a,b;
j=x[N];
for(i=0;i<N;i++){
if(j>=0x61&&j<=0x7a){
return 0;
}if else(j>=0x41&&j<=0x5a){
return b;
}
}
}
としたのですが、実行してみると、どんな文字列をいれても「全部大文字」みたいに出力されるのです。
どうしたらいいのでしょうか・・・
0982デフォルトの名無しさん
NGNGあげるからこっちに宿題書き込む奴が出るじゃないか。
書き込みすればdat落ちはしないんだから。
>>981
>>980を読め。
0984デフォルトの名無しさん
NGNG#include<stdio.h>
#define N 100
int mozi(char x[]);
int main(void)
{
char retu[N+1];
printf("何か100字以内で文字列を入力してください\n");
scanf("%s",retu);
if(mozi(retu))
printf("小文字が含まれています\n");
else
printf("大文字だけです\n");
return 0;
}
int mozi(char x[])
{
int i,j;
for(i=0;i<N;i++)
{
j=x[i];
if(j>=0x61&&j<=0x7a)
return 1;
}
return 0;
}
これでいいだろう。君はC言語自体理解していない。
次からは、自分自身で進んで取り組むことだ。
そうしないと、後が苦しくなるだけだろう。
高校生より。
ちなみに、このままコピペした状態でコンパイラに通さないように。
全角空白でインデントしてあるからな。
0985うさ(本物)
NGNGここでのレスor私のBBSにてお願いします。
辛口はできるだけ控えてね^^;
可愛いお絵かきプログラムだよ★
http://www.sfc.keio.ac.jp/~s01041mi/index.shtml
0986デフォルトの名無しさん
NGNG/ ヽ / ヽ_ / .∧
/ `、 _/ `、⌒ヾ⌒ヽ/ ∧
/  ̄ ̄/ u (.....ノ(....ノ / ヽ
l::::::::: | >>980 u .:(....ノノ
|:::::::::: -=・=- / ̄ ̄ヽ ::::::::::::::/`ヽ
.|::::::::::::::::: \_(___..ノ u ::::::::::::::::::::(....ノノ
ヽ::::::::::::::::::: \/ヽ u ::::::::::::::::::::::::::::ノ
おまえも来るか?
09871000
NGNG\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
レス数が950を超えています。1000を超えると書き込みができなくなります。