[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 08/07 07:52 / Filesize : 230 KB / Number-of Response : 708
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 96代目



1 名前:デフォルトの名無しさん [2007/09/21(金) 08:46:37 BE:340816166-2BP(12)]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 95代目
pc11.2ch.net/test/read.cgi/tech/1187944110/

263 名前:デフォルトの名無しさん [2007/09/25(火) 07:53:08 ]
[1] 授業単元: C
[2] 問題文(含コード&リンク):
  main引数に格納されたtest.txt(ファイル名)を
  変更してtest.abc.txtとするコードを作成せよ。  
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 9/25
[5] その他の制限: なし


引数で得たファイル名の拡張子の前に「.abc」を入れるというものなのですが
うまく作成できません。よろしくお願いいたします。

264 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:00:20 ]
>>263
ファイルのリネームをしろってこと?
コピーを作れってこと?

265 名前:デフォルトの名無しさん [2007/09/25(火) 08:22:33 ]
>>264
ファイルのコピーを作って
リネームしろってことだと思います。

266 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:27:28 ]
>>265
Cygwin?MinGW?

267 名前:デフォルトの名無しさん [2007/09/25(火) 08:29:16 ]
>>266
すみません書き忘れでした
cygwinです

268 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:33:16 ]
>>263
複数拡張子(a.txt.bak) や拡張子無しはどうすれば?

269 名前:デフォルトの名無しさん [2007/09/25(火) 08:35:42 ]
>>268
とくにその辺は指定がないので
気にしなくて(ないものと考えて)
良いと思われます

270 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:41:06 ]
>>263
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int c,char**v){
char com[256]="./tmp.bat ";
strcat(com,v[1]);
FILE*fp=fopen("tmp.bat","w");
fprintf(fp,"%s","cp %1 tmp\nren tmp %~n1.abc.%~x1");
fclose(fp);
system("chmod 744 tmp.bat");
system(com);
system("rm tmp.bat");
return 0;
}

271 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:32:18 ]
>>263
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4966.c



272 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:35:48 ]
>>263 ちょい訂正。拡張子は . 以下3文字まで対応、だと思う。それ以外は知らん。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4967.c

273 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:40:50 ]
あと、きんもぉ〜☆クソースなんで、あしからずw

274 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 10:14:27 ]
>>263
#include <stdio.h>
#include <string.h>
#include <assert.h>
int main(int argc, char **argv)
{
char outname[256];
char *dot;
if( argc != 2 ){
printf("Usage:%s filename",argv[0]);
return 1;
}
if( (dot = strrchr(argv[1], '.')) == NULL ){
strcpy( outname, argv[1]);
strcat( outname, ".abc" );
}else{
int i;
for( i=0 ; argv[1][i] != *dot ; i++){
outname[i] = argv[1][i];
}
outname[i] = '\0';
strcat(outname, ".abc");
strcat(outname, dot);
}
if( rename( argv[1], outname ) == -1){
perror("Error");
return 1;
}
return 0;
}

275 名前:274 mailto:sage [2007/09/25(火) 10:20:17 ]
assert消し忘れた

276 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 10:51:49 ]
>>265


277 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 10:58:40 ]
ってことだと思います
~~~~~~~~~~~~~~~~~~~~~

278 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 11:06:43 ]
>>265

279 名前:デフォルトの名無しさん [2007/09/25(火) 11:13:33 ]
たくさんのレスありがとうございました
大変参考になりましたm(__)m

280 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:13:52 ]
>>263
#include<stdio.h>
#include<string.h>

int main(int argc, char *argv[]){
char *src_orig, dest_orig[FILENAME_MAX+1], *src, *dest, *ptr;

if(argc==2) src_orig=argv[1];
else src_orig="test.txt";

src=src_orig;
dest=dest_orig;
ptr=strrchr(src, '\\');
if(ptr==NULL) ptr=strrchr(src, '/');
if(ptr!=NULL) dest+=sprintf(dest, "%.*s", ptr-src+1, src), src=ptr+1;

ptr=strrchr(src, '.');
if(ptr==NULL) ptr=src+strlen(src);
sprintf(dest, "%.*s.abc%s", ptr-src, src, ptr);

printf("%s -> %s\n", src_orig, dest_orig);
if(rename(src_orig, dest_orig)!=0){
printf("Error : rename failed. %s -> %s\n", src_orig, dest_orig);
}

return 0;
}

281 名前:デフォルトの名無しさん [2007/09/25(火) 13:21:39 ]
1] 授業単元: C
[2] 問題文
機能の異なる加工機械が三種類M1・M2・M3(一台ずつ)があり、それぞれ加工経路の異なる三種類の製品A・B・Cの発注がランダムに来る。
発注が来てからスケジュールを行い、何日で完成するかを出すプログラムを作りなさい。
ただし、製品Aの加工順路はM1⇒M2⇒M3、加工時間はM1:5M2:10 M3:15時間
    製品Bの加工順路はM2⇒M3⇒M1、加工時間はM1:10M2:15 M3:5時間
    製品Cの加工順路はM3⇒M1⇒M2、加工時間はM1:15M2:5 M3:10時間
発注が来た時点で、使用したい加工機械が他の製品を加工中だった場合、その製品の加工が終了してから、
加工を開始するものとする。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5
 [3.3] 言語: C
[4] 期限: 9/25
[5] その他の制限: なし

よろしくお願いします。



282 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:25:41 ]
>>263
#include<stdio.h>
char *addext(char *cs, int size, char *org, char *ext) {
 char *p;
 for (p = org; *p != '.' && *p != '\0'; p++)
  continue;
 strncpy(cs, org, (p - org));
 strncpy(cs + (p - org), ext, strlen(ext));
 strncpy(cs + (p - org) + strlen(ext), p, strlen(p));
 return cs;
}
int copy(char *from, char *to) {
 FILE *src = fopen(from, "r");
 if (!src) return -1;
 
 FILE *dst = fopen(to, "w");
 int c, n;
 for (n = 0; (c = getc(src)) != EOF; n++) {
  putc(c, dst);
 }
 fclose(src);
 fclose(dst);
 return n;
}
int main(int argc, char **argv) {
 int size = 256;
 char dst[size], *src = argv[1];
 if (1 < argc && 0 < copy(src, addext(dst, size, src, ".abc"))) {
  printf("copy `%s' -> `%s'", src, dst);
 }
}

283 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:31:05 ]
>>281
最短日数を答えるんだよね?アルゴリズムとか書いてない?

284 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:32:48 ]
>>281
1日24時間で計算し、常に稼動しているものとしておk?
入力するデータ形式はどんな感じ?
加工途中で追加の発注が割り込む可能性はある?
発注の最小時間単位は1時間?1分?1秒?
絶対遵守の納期設定はある?

285 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:34:22 ]
>>263人気杉w

286 名前:281 [2007/09/25(火) 13:40:41 ]
>283
アルゴリズムですか。。。
発注が着たら前詰めで、割り付けていくとしか書いてないんですけど。。。
例えば、製品Aの発注が来た時点で、M1が使用中で3時間後にその作業が終了するなら、
発注が来て三時間後に製品Aの加工を開始するって意味だと思うんですけど。。。
もちろん次のM2がまた使用中ならその作業が終了してから、M2での製品Aの加工を開始するって意味です。

よろしくお願いします。


287 名前:281 [2007/09/25(火) 13:48:32 ]
>284
1日24時間で計算し、常に稼動しているものとしておk?
⇒大丈夫です。
加工途中で追加の発注が割り込む可能性はある?
⇒他の製品の発注が来ることはありますが、同じ製品の追加はないです。
 早く来た発注がを最優先でお願いします。
発注の最小時間単位は1時間?1分?1秒?
⇒一時間でお願いします。
絶対遵守の納期設定はある?
⇒ありません。


288 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:50:01 ]
発注のタイミングや回数はどうやって決まるの?

289 名前:281 [2007/09/25(火) 13:55:37 ]
>288
発注のタイミングは、ランダムでお願いします。
終了条件書き忘れてました。各製品5回、発注が来たら終了でお願いします。

よろしくお願いします。

290 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 14:10:38 ]
>>281
仮に下のような2つの発注があった場合、解はどうなる?

#発注時(単位:時) 製品種別 注文コード(便宜上勝手に決めた)
0 製品A 000A
15 製品C 015C

経過時間順に
0 000A発注 000A-M1開始
5 000A-M1終了 000A-M2開始
15 000A-M2終了 000A-M3開始 015C発注 015C-M3開始 <- 発注時間と加工開始時間が重なる時リスケジューリングが先?

000A-M3 が優先になるか 015C-M3 が優先になるのかどっち?
000A-M3 が優先の時、総時間 60時間
015C-M3 が優先の時、総時間 55時間

291 名前:281 [2007/09/25(火) 14:22:06 ]
>290
000Aの発注が先なので、000Aを優先でお願いします。

よろしくお願いします。



292 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 14:59:28 ]
up.nm78.com/dl/37741.jpg
を表示するプログラムを教えて。

293 名前:デフォルトの名無しさん [2007/09/25(火) 15:56:53 ]
rand()%51にすれば、50までの数字が出ますけど、
例えば、ランダムで90〜110の数字を出すためにはどうしたらいいですか?
誰か教えてください。

294 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 16:01:35 ]
>>293
スレ違いだが、
90〜110 -> 90 + 0〜20

295 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 16:02:16 ]
>>293
rand()%21 にすると乱数の範囲は ???〜??? になります
それに ??? を足すと乱数の範囲は ???〜??? になります

296 名前:デフォルトの名無しさん [2007/09/25(火) 16:10:53 ]
>>294
51を90〜110 -> 90 + 0〜20 に書き換えればいいってことですか?

297 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 16:36:38 ]
aho

298 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 17:16:19 ]
(rand()%21) + 90
分かったら消えろ

299 名前:253 [2007/09/26(水) 00:56:25 ]
>>254
書き込まれているデータは例えば3次元整数ベクトルでしたら
 1 2 3
 4 5 6
のような数字のみであり、
1行目をベクトルa、2行目をベクトルbとしてそれを認識し内積を求め、
その結果を別のもう1つのファイルに書き込む。
と言ったイメージであると思います(問題には質問時に書いた事以上は
書かれていなかったのであくまで私の考えですが)。
ですから、おそらく問題にあるn次元の「n」は1つの行に書かれた数値の数
で決定し、データ(数値)はファイルの先頭から書かれているという条件があるので、
1行目と2行目を読み込むだけで、内積を求めるための要素は揃うという事だと思います。

申し訳ないのですが再度よろしくお願いします。

300 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 01:21:52 ]
その解釈はねーよ。nは最初に置いてあるって書いてるんだから
3
1 2 3
4 5 6
もしくは
3 1 2 3 4 5 6
のどっちかだろ。ってわけでその話は>>257でおしまい

301 名前:デフォルトの名無しさん [2007/09/26(水) 01:25:09 ]
科学技術系のライブラリで、C++のやつはありますか??
fortranとかだと結構見かけるんだけれども、C++はほとんど無い気がします。勿体無いですよね??



302 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 01:35:10 ]
スレ違い

303 名前:デフォルトの名無しさん [2007/09/26(水) 01:39:14 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4970.txt
[3] 環境
 [3.1] OS: (Windows)
 [3.2]
 [3.3] 言語: (C)
[4] 期限: 9/26
[5] その他の制限: なし
よろしくお願いします。

304 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 01:41:16 ]
他人の書いたコードの穴埋めは、自分で書くより辛いのう。

305 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 01:55:23 ]
>>303
【1】
(1) 38行目でFp2を閉じている。「Fp2」
(2) 起動時に指定された2つめをファイル名として与える。「argv[2]」
(3) 一つめのファイルを開くのには成功している。この時点で閉じなければならないのは「Fp1」
(4) strerrorはエラー番号を引数にしてエラーメッセージへのポインタを返す関数。「(errno)」
(5) strcmpは同じ文字列であれば0を返す。ここは同じでないときに-1を返す処理なので「0」
ただし4がそれで良いのかどうかは自信なし(汗

306 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:00:22 ]
>>281
期限過ぎてしもた
思ったよりもずっと難しかったし、1回全部作り直したのに見通しがよくならないし…
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4971.c

使うには標準入力から下のような文字列を与える
発注時間(整数で単位は hour) 製品種別(A,B or C))

0 A
14 C
15 A
15 B

EOFで発注を終了
./a.out -v のようにコマンドラインオプション -v をつけると詳細表示

307 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:03:42 ]
>>306 に追記
発注順序はソート済みとする

308 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:28:36 ]
>>303
【2】
memcmpでは\0が出現しても処理が継続される。
単純に置き換えても機能しない場合がある。
(ような気がする。fgetsで取得した文字数が指定以下だった場合、残りは'\0'でパディングされるんだったか?)
79行目を次の7行に置き換える。
loop:
nrtn = memcmp(szdat1, szdat2, 1);
if(*szdat1 == '\0' || *szdat2 == '\0') goto loop_end;
szdat1++;
szdat2++;
goto loop;
loop_end:


309 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 03:46:09 ]
>>306
むずいな……。
指針でも書いてくれないと追い辛いっす。

310 名前:デフォルトの名無しさん mailto:age [2007/09/26(水) 03:56:58 ]
  _____ 
  (すた☆らき)
   ̄ ̄\| ̄ 
www.freewebs.com/premiumtv/?X3/?STV=%E3%82%89%E3%81%8D+%E3%81%99%E3%81%9F


311 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 07:22:30 ]
>>309
>>306 に以下の3つの注文を与えるだけで、バグが発覚した…orz
0 B
0 C
0 A

データの流れはコマンドラインオプション -v をつけて表示される内容が全て。
簡単に説明すると -v オプションで表示される内容の内、
加工機械が加工を開始することが出来るのは一番左の中括弧の工程のみ

但し >>306 は加工が終わるたびに全工程を前詰めにしている (batch_restruct) が、
machine_t の process_t* を連動させていないためにバグってます



312 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 08:39:29 ]
>>281
>>306 の修正版
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4973.c

313 名前:デフォルトの名無しさん [2007/09/26(水) 12:16:23 ]
なにかIOCCC風な高度のテクニックを使っているプログラムを教えてください。
お題はなんでもいいです。

314 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 12:22:53 ]
>>313
IOCCC見てくればいいじゃん

315 名前:よこ ◆2LEFd5iAoc [2007/09/26(水) 12:27:16 ]
【質問テンプレ】
[1] 授業単元:システム演習
[2] 問題文(含コード&リンク):行列の乗算のプログラムを作ってみよ。大きな行列要素(1000×1000)でも実行できるように作っておくこと。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2007年09月26日17:00まで]
[5] その他の制限: 制限はないです。お願いします。

316 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 12:47:39 ]
>>315
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct tag_matrix_t{
int column, row;
double **data, *data_area;
}matrix_t;
matrix_t *matrix_alloc(int column, int row){
matrix_t *matrix;
int x, y;
matrix=malloc(sizeof(matrix_t));
matrix->column=column;
matrix->row=row;
matrix->data_area=malloc(sizeof(double)*column*row);
matrix->data=malloc(sizeof(double*)*column);
for(y=0;y<column;y++) matrix->data[y]=&matrix->data_area[y*row];
for(x=0;x<row;x++) matrix->data[0][x]=0.0;
for(y=1;y<column;y++) memcpy(matrix->data[y], matrix->data[0], sizeof(double)*row);
return matrix;
}
matrix_t *matrix_mul(matrix_t *a, matrix_t *b){
matrix_t *c;
int i, j, k, x;
if((x=a->row)!=b->column) return NULL;
c=matrix_alloc(a->column, b->row);
for(i=0;i<a->column;i++)
for(j=0;j<b->row;j++)
for(k=0;k<x;k++) c->data[i][j]+=a->data[i][k]*b->data[k][j];
return c;
}

317 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 12:59:34 ]
>>315が見えない。
どっかで暴れてた糞コテか?

318 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 13:15:15 ]
>>315 はトリップ #1111
安直だからどこかで誰かが使ったんでしょう

319 名前:デフォルトの名無しさん [2007/09/26(水) 13:36:18 ]
[1] 授業単元:基本プログラミング
[2] 問題文(含コード&リンク):30個以下の非負の数値データを入力したあとそれらのデータをそのまま出力する。次に1行あけて(改行を出力して)から今度は大きい順に出力する。
データ入力はキーボードから行い、適当な数値を数個入力したところでEOFを示すCtrl−Dを入力する。また、入力される数値データは必ず非負であると仮定してよい(つまりエラーチェックは不要)ただし30個以上の入力は受け付けないようにする。
プログラムは以下のステップで作成すること。
a:30個以下の数値入力データを配列に格納し、そのまま出力するプログラムを作成する。
b:n個の配列データを大きい順に出力するために、以下のことをn回繰り返す。
b1:配列データから最大値を持つ配列要素を探し、その添字を覚えておく。
b2:b1で覚えた添字のデータを出力し、同時にその要素に-1を代入する。
実行例
input number:1 2 3 4 6 32 34 56 21 11
1 2 3 4 6 32 34 56 21 11

56 34 32 21 11 6 4 3 2 1
[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C++
[4] 期限:明日
よろしくお願いします



320 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 14:27:41 ]
>>319
#include <iostream>
const int sanju=30;class hairetsu {private: int arr[sanju];
int n; void nyuuryoku(); void shutsuryoku() const;
int b1() const; void b2(int);public: void a(); void b();};
void hairetsu::a(){ nyuuryoku(); shutsuryoku();}
void hairetsu::nyuuryoku(){ int i; for(i=0; i<sanju; ++i){
if(!(std::cin >> arr[i])) break; } n=i-1;}
void hairetsu::shutsuryoku() const { for(int i=0; i<=n; ++i){
std::cout << arr[i] << ' '; }}
void hairetsu::b(){ for(int i=0; i<=n ; ++i){ b2(b1()); }}
int hairetsu::b1() const { int i,index=0; for(i=1;i<=n;++i){
if(arr[i]>arr[index])index=i; } return index;}
void hairetsu::b2(int index){ std::cout << arr[index] << ' ';
arr[index]=-1;}int main(){ hairetsu h; h.a(); std::cout
<< std::endl; h.b();}

321 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:41:15 ]
>>319
#include <iostream>
using namespace std;
int main() {
  int array[30], n = 0;
  while (n < 30 && cin >> array[n]) ++n;

  for (int i = 0; i < n; ++i) { // a
    cout << array[i] << ' ';
  }
  cout << endl << endl;

  for (int i = 0; i < n; ++i) { // b
    int k = 0; // index of maximum element
    for (int j = 0; j < n; ++j) // b1
      if (array[j] > array[k]) k = j;
    cout << array[k] << ' '; // b2
    array[k] = -1;
  }
  cout << endl;
}



322 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 16:20:58 ]
>>320
>>321
ありがとうございました

323 名前:デフォルトの名無しさん [2007/09/26(水) 19:41:12 ]
 1 授業問題 
 2 ポインタ 
 
 int data[10] ={10,20,30,40,50,60,70,80,-999} このようなint配列があります         配列の内容を実行結果のように表示するプログラムを作りなさい         -999になれば処理を終了します 
 ポインタを固定して表示させる処理とポインタを変化させて表示させる処理の2つ作成しなさい 
 この内容がわからないので教えて下さいお願い致します

324 名前:デフォルトの名無しさん [2007/09/26(水) 19:43:02 ]
ちなみに999}の最後に:がつきます  宜しくお願い致します

325 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:43:38 ]
>>323
テンプレ読んでからやりなおせ。アホ。

326 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:46:31 ]
>>325
お前、来なくて良いよ。アホとか書くな、アホっ

327 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:47:52 ]
>>323
>>1を読め。

328 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:49:22 ]
>>327 お前が >>323 を読まなきゃ良いだろ

329 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:50:04 ]
>>328
読まなくていいものを書き込むな。

330 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:50:24 ]
>>329 オマエモナー

331 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:50:42 ]
>>330
>>1を読め。



332 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:50:53 ]
まあ携帯だろうからそこは大目に見ようも
日本語はもうちょっと上手く使わないとね…

333 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:50:55 ]
テンプレ利用しろよ。

334 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:51:41 ]
>>323のようなやつはマナーを知らんな。

335 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:51:43 ]
>>331 >>330 を読むな

336 名前:デフォルトの名無しさん [2007/09/26(水) 19:52:07 ]
お前ら、テンプレ読まない奴はスルーしろ。

337 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:52:26 ]
>>334のような奴はスルーを知らんなw

338 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:52:57 ]
>>323
駄目な奴は何をやっても駄目

339 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 19:57:24 ]
>>331 >>329 >>327 <お前らが >>1 を読め。
> 気に入らない質問やその他や発言はスルーの方向で。

340 名前:デフォルトの名無しさん [2007/09/26(水) 20:15:19 ]
323 ですが すいませんバージョンとかわかりません でも 一応大丈夫なんじゃないんですか?教えて貰えたら光栄ですバカでもアホでもわからないので教えてもらえれば光栄なのでお願い致しますあとWindoを使ってることはわかります宜しくお願い致します

341 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:19:30 ]
323ですが、僕はアホです。っていうか涙目みたいな・・・っていうか俺ってマジやばいから。
俺怒らすと怖いですよ(ぉ っていうか、俺の友達なら知ってることだけどな。
お前ら知らんだろ。



342 名前:デフォルトの名無しさん [2007/09/26(水) 20:23:19 ]
ちなみに私は341ではないですなんせ・・・この点々は使ったことないです誰か教えてくださいお願いします

343 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:30:30 ]
>>341
あのなぁ、お前みたいな茶化したりする騙りなんてバレバレなんだよ。
なんでそう質問者をバカにするだけで質問に答える能力が無いくせに
このスレで、でけぇ面してんだ?鬱陶しいんだよ、他の回答者からしてみてもお前は

344 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:30:46 ]
>>323
#include<stdio.h>
int main(void){
int data[10]={10,20,30,40,50,60,70,80,-999};
int *ptr, i;
for(i=0,ptr=data;*(ptr+i)!=-999;i++) printf("%d\n", *(ptr+i));
for(ptr=data;*ptr!=-999;ptr++) printf("%d\n", *ptr);
return 0;
}

345 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:31:32 ]
>>344
もっと分かりやすく書けや。気に入らん奴は回答せんでええって。
俺、怒らすと怖いよ。

346 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:32:55 ]
>>323 マルチポストかよ!試験は実力で受けろカス!
ttp://pc11.2ch.net/test/read.cgi/tech/1188748806/970

347 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:33:07 ]
オレはツレから「キレたら怖い奴」って良く言われる それは自覚してるけど狼の血は止められない

348 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:41:59 ]
>>347
オオカミ少年乙

349 名前:デフォルトの名無しさん [2007/09/26(水) 20:49:42 ]
344さんありがとうございました 恩にきります また宜しくお願いいたします

350 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:52:43 ]
切られたなり!

351 名前:デフォルトの名無しさん [2007/09/26(水) 21:18:41 ]
[1] 授業: 教科書
[2] OS Windows VC60
[3]問題
int data[10] ={5,8,10,2,1,14,35,6,12}:
配列中の最大値と最小値を表示するプログラムをポインタを使用して作成するプログラムが解らないので教えて貰えませんか?

期限9月27木曜です



352 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:21:31 ]
>>351
10分くらいするとマルチポストし始めるのでしょうか?

353 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:40:43 ]
>>351
#include<stdio.h>
int cmp_big(int a, int b){
return a>b;
}
int cmp_small(int a, int b){
return a<b;
}
int *search(int arr[], int arr_size, int (*cmp)(int,int)){
int i, index=0;
for(i=1;i<arr_size;i++)
if(cmp(arr[i], arr[index])>0) index=i;
return &arr[index];
}
int main(void){
int data[10]={5,8,10,2,1,14,35,6,12};
printf("maximum : %d\n", *search(data, sizeof(data)/sizeof(data[0]), cmp_big));
printf("minimum : %d\n", *search(data, sizeof(data)/sizeof(data[0]), cmp_small));
return 0;
}

354 名前:デフォルトの名無しさん [2007/09/26(水) 21:53:00 ]
352さんありがとうございました

355 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:54:15 ]
976 名前:デフォルトの名無しさん[] 投稿日:2007/09/26(水) 21:21:46
[1] 授業単元: 教科書
[2] OS Windows
[3]問題
int data[10] ={5,8,10,2,1,14,35,6,12}:
配列中の最大値と最小値を表示するプログラムをポインタを使用して作成するプログラムが解らないので教えて貰えませんか?
【初心者歓迎】C/C++室 Ver.42【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1188748806/

356 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:54:31 ]
>>353
こういうプログラムはいいな。
このまま提出したら質問主が疑われそうなもの。

357 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:59:29 ]
疑われるって?

358 名前:デフォルトの名無しさん [2007/09/26(水) 22:00:59 ]
>>305
>>308

感謝っす!

359 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:02:21 ]
maximum → 最大値
minimum → 最小値
でいいんじゃね

360 名前:デフォルトの名無しさん [2007/09/26(水) 22:05:48 ]
[1] 授業: 教科書
[2] OS Windows
[3]問題
double data[5] ={10.8,20.3,30,6.40,10.4,2.12}:
配列の全要素の合計と平気を求めるプログラムをポインタを使って作成しなさい 
誰か宜しくお願いします
ちなみに初心者です

361 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:06:54 ]
いまさらだけど、[1] 授業: 教科書。ワロタwww




362 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:18:34 ]
>>360
#include<stdio.h>
double get_average(double arr[], int arr_size){
double *ptr, average=893;
int i;
ptr=arr;
for(ptr=arr,i=0;i<arr_size;i++,ptr++)
average=(average*i+*ptr)/(i+1);
return average;
}
double get_sum(double arr[], int arr_size){
double *ptr;
ptr=arr;
return *ptr+((arr_size>0)?get_sum(ptr+1, arr_size-1):0);
}
int main(void)
{
double data[]={10.8,20.3,30,6.40,10.4,2.12};
printf("sum : %f\n", get_sum(data, sizeof(data)/sizeof(data[0])));
printf("average : %f\n", get_average(data, sizeof(data)/sizeof(data[0])));
return 0;
}

363 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:20:45 ]
親切なな人だね。
さすがにこれ以上は勘弁って感じだよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef