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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:08:18 ]
あなたが解けない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++の宿題片付けます 130代目
pc12.2ch.net/test/read.cgi/tech/1250204272/

446 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 22:06:01 ]
リダイレクトすれば?

447 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 01:10:57 ]
>>443
Windows7なら普通にコピペ出来る!買うんだ。

448 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 04:30:25 ]
>>447
Meもできるからオススメ

449 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 11:51:37 ]
[1] 授業単元:C++実習2
[2] 問題文(含コード&リンク):
-関数テンプレート-
配列へのポインタと要素数を渡すと昇順にソートする関数を作成せよ。
但し,関数テンプレートにより作成すること。想定する配列の型は文字列以外とする。
ソートのアルゴリズムはバブルソート(単純交換法)とする。また,関数をテストする適切なmain関数も作成し提出すること。
関数名前名は b_sort とし,第1引数は配列へのポインタ, 第2引数はint型で配列の要素数, 戻値は無しとする。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual studio 2008
 [3.3] 言語:C++
[4] 期限:[2009年11月1日23:00(日)まで]
よろしくお願いします。

450 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 14:51:32 ]
>>449
#include <iostream>
using namespace std;
template <typename T> void b_sort(T a[], int n)
{
for (int i = 0; i < n - 1; ++i) {
for (int j = n - 1; j > i; --j) {
if (a[j - 1] > a[j]) {
T temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp;
}
}
}
}

int main()
{
int a[] = { 3, 8, 1, -1, 9, 8, 7 };
double b[] = { 3.09, 2.1, -9.27, 8.0, 3.11, -6.5 };
b_sort(a, 7);
for (int i = 0; i < 7; ++i) cout << a[i] << ' '; cout << endl;
b_sort(b, 6);
for (int i = 0; i < 6; ++i) cout << b[i] << ' '; cout << endl;
return 0;
}

451 名前:デフォルトの名無しさん [2009/10/29(木) 15:55:37 ]
www.dotup.org/uploda/www.dotup.org315213.docx.html

【質問テンプレ】
[1] 授業単元:計算機実習応用
[2] 問題文(含コード&リンク):
   www.dotup.org/uploda/www.dotup.org315213.docx.html
[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョンVC++
 [3.3] 言語: (C
[4] 期限: ([2009年10月30日10:00まで]
[5] その他の制限:

明日の1限の授業中に出される課題です。
授業時間内に提出すれば評価が高くなるのでお願いします。


452 名前:デフォルトの名無しさん [2009/10/29(木) 16:28:33 ]
>>451
お断りします。

453 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 16:41:00 ]
>>442
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10028.txt

454 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 19:46:40 ]
>>451
どうやって問題文を読めばいいのかわかりません。



455 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 20:06:26 ]
新井さん?

456 名前:378 mailto:sage [2009/10/29(木) 21:23:19 ]
>>371
ちょっとみなおしてみました。
問題は x1, y1 を整数で宣言したことでしょうね。

457 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 22:05:13 ]
>>451
問1
return x*x+y*y
c = function1(a, b);
printf("%d\n", c);

問2
#include<stdio.h>
#include<math.h>

void wasasekisho(double x, double y, double* pwa, double* psa, double* pseki, double* psho);

int main(){
double a, b;
double lpwa, lpsa, lpseki, lpsho;
printf("a...");
scanf("%lf", &a);
printf("b...");
scanf("%lf", &b);
wasasekisho(a, b, &lpwa ,&lpsa, &lpseki, &lpsho);
printf("wa...%.0lf, sa...%.0lf, seki...%.0lf, sho...%.0lf",lpwa ,lpsa, lpseki, floor(lpsho));
}

void wasasekisho(double x, double y, double* pwa, double* psa, double* pseki, double* psho)
{
*pwa = x+ y;
*psa = x - y;
*pseki = x * y;
*psho = x / y;
}


458 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 22:37:17 ]
問3
どういう確率分布にしたがっているのかがわからん。本来解けないはず?。
たぶんそれぞれ独立な事象で確率1/5だとして、期待値==平均(kekka)になるのかなとおもったが、

#include <stdio.h>
#include <math.h>
double heikin(int n, double x[]){
int i;
double sum;
sum=0.0;
for(i=1;i<=n;i++){
sum += x[i-1];
};
return sum/n;
}
int main(){
static double data[]={3.1, 5.8, 4.1, 1.0, 8.3};
double kekka=0.0, bunsan = 0.0;
kekka=heikin(5,data);
bunsan= pow(0.2, 2) *(kekka * 5.0) - pow(kekka, 2);

printf("データの平均は %lf\n",kekka);
printf("データの分散は %lf\n",bunsan);
return 0;
}
と書くと分散が負になってしまいましたとさw
問4
関数の中身を定義する前に,先に関数の引数の型および返り値の型だけをあらかじめ宣言しておくこと。

459 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 22:58:10 ]
>>444->>448
どうもありがとうございました!!!

460 名前:458 mailto:sage [2009/10/29(木) 23:11:24 ]
>>451

#include <stdio.h>
#include <math.h>
double heikin(int n, double x[]){
int i;
double sum;
sum=0.0;
for(i=1;i<=n;i++){
sum += x[i-1];
};
return sum/n;
}
int main(){
static double data[]={3.1, 5.8, 4.1, 1.0, 8.3};
double kekka=0.0, bunsan = 0.0;
double vx=0.0;
kekka=heikin(5,data);
for(int i = 0; i < 5; i++)
vx += pow(data[i], 2)*0.2;
bunsan = vx - pow(kekka, 2);

printf("データの平均は %lf\n",kekka);
printf("データの分散は %lf\n",bunsan);
return 0;
}

なんか例と値違うけど…さっきとちがって式はあってるはず

461 名前:デフォルトの名無しさん mailto:sage [2009/10/30(金) 22:15:43 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10031.txt

問題1:整数表記を <integer>::= <digit> {<digit>|'_'}*に書き換える。
正の整数をdigitだけではなく、'_'もトークンの一部として判別させてやるようにプログラムを書きかえる
例えば、10_23と仮に有った場合は10=整数値、_=識別子、23=整数値という風に判別されるのではなく10_23=1023=整数値となるようにしなさい。

問題2:以下のようなトークンも判別できるようにしてみる。
句切り文字:'(',
句切り文字:'(',
句切り文字:';',
演算子:'='

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名:gcc
 [3.3] 言語: C言語
[4] 期限: 2009年11月5日
[5] その他の制限: とくにないです。よろしくお願いします。

462 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 18:45:36 ]
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):キューをC言語で作成する
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 2009/11/2
[5] その他の制限:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10032.txt

463 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 18:49:04 ]
>>462ですが@とAの部分を改変してください。よろしくお願いします。

464 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 21:34:41 ]
>462

境界条件が曖昧なので適当にやらせてもらった。
dequeueできないときは0が返るようにしたけど、よかったのか?

標準Cにあわないところは修正しておいた。VSにしたって、void main()はどうかと思ったので。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10033.txt



465 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 21:50:06 ]
>461
問題1:整数表記を <integer>::= <digit> {<digit>|'_'}*に書き換える。
問題の意味が全くわからない。問題文はこれで全部なの?

#例えば、10_23と仮に有った場合は10=整数値、_=識別子、23=整数値という風に判別されるのではなく10_23=1023=整数値となるようにしなさい。
というの10_23を引数に与えたらどうなればよい?

リンク先のコードに食わせると下みたいになった。

$ ./main 10_23
整数定数: 10 (2文字)
識別子: _23 (3文字)
トークン数は2個!


466 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 22:18:04 ]
>>465
それBNF表記っていって

たとえば
10_23_23=102323
10_______23=1023
になるようにしろってことだよ。


467 名前:466 mailto:sage [2009/10/31(土) 22:24:07 ]
BNF記法だった.
<変数>…<変数>で変数を表す。
{変数}…{変数}の変数を省略するか、一回以上繰り返し用いることを表す。
|…または を表す
::=…左辺の変数が、右辺で定義されることを表す。


あ、おれ解けないんでw


468 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 01:30:56 ]
>461

問1だけ

ほとんどテストしていないのであしからず
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10035.txt

469 名前:464 mailto:sage [2009/11/01(日) 01:33:21 ]
>462

ごめ。違うのあげてた。

ファイル消えているのですぐにはできない。
思い出しながら書いてみる。

470 名前:464 mailto:sage [2009/11/01(日) 01:43:01 ]
>462

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10036.txt

471 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:56:25 ]
[1] 授業単元:C++
[2] 問題文(含コード&リンク):メニューを表示し選択された処理を行なう。各機能ごとに関数にし,各関数へのポインタは配列に格納しておきメニュー選択に応じて動的に呼び出す。
実行例:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10037.txt


472 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:58:45 ]
[3] 環境
[3.1] OS:Windows
[3.3] 言語:C++
[4] 期限: 2009年11月3日

どなたか出来る方がいましたらお願い致します。

473 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 21:06:48 ]
>>450
遅れましたが回答ありがとうございました

474 名前: ◆DfRWmhgSjg [2009/11/01(日) 21:28:36 ]
[1] 授業単元:OS入門
[2] 問題文(含コード&リンク):
マルチプロセスを利用しfork(),セマフォ,メッセージをすべて使用したシステムの開発,結果を以下の項目にまとめ報告
1. システムの要求仕様
3. 上記プログラムの簡単な解説,特に fork(),メッセージ,セマフォの周辺について
[3] 環境
 [3.1] OS: (Linux)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C)
[4] 期限: [2009年11月5日08:00まで]
[5] その他の制限:

よろしくお願いします



475 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 21:30:13 ]
>>474
設計と要求仕様までこっちで定義しろって馬鹿だろw

476 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 21:48:32 ]
>>471>>472
VS2008環境で作った
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10039.txt
#include <String>は消しといてね

477 名前:474 [2009/11/01(日) 21:54:55 ]
>>475
私もそう思いましたが、
「本当に簡単なものでいいから作ってください。こういうにはあなたたちのインスピレーションしだいですので」
といわれてしまい・・・。

478 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 21:55:48 ]
>>477
いや、教授とか講師とかがじゃなくってお前がねーよwww

479 名前:474 [2009/11/01(日) 22:01:25 ]
すみません。
要求仕様など考えてから出直してきます。

480 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 22:58:19 ]
>>471-472
「関数へのポインタを配列に」いれろとのことですので、そのようにしました。
codepad.org/pe70YBZf

481 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:16:02 ]
[1]C言語初級
[2] 次のプログラムから仕様書を起こして、全く異なるアルゴリズム
で同じ処理をするものに書き換えよ
codepad.org/FjM5LBs9
[3] Windows XP/Visual studio 2005/C
[4] 11/10迄

482 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:23:47 ]
ああwww
関数のポインタとか見逃してた。
ごめん

483 名前:471 mailto:sage [2009/11/02(月) 00:36:52 ]
>>480
ありがとうございます
しかしVS2008でエラーが出るのですがどうしたらよいでしょうか?

484 名前:474 [2009/11/02(月) 01:07:11 ]
<<474
<<479
入力されたメッセージ1文字をキューにいれるプログラム
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10041.txt
キューからメッセージを取り出し表示をするプログラム
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10042.txt
を参考にして送信用プログラムにfork()を付け加え文字を重複送信するようにするプログラム。
またセマフォを用いてアクセスを制限する。
理解が浅いため本当にこれでいいの不安なのですがよろしくお願いします。



485 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 03:03:19 ]
>>481
codepad.org/Ooo9fZ4r

3の倍数と3の付く数字を
10000*10000までの範囲で列挙する。

文字列型で10を出力すると
アスキーコードでは改行の意味に。
同等の処理は\nで行った。

各位の和が3の倍数であれば
その数は3の倍数であることを使い求めた。

486 名前:satoshi [2009/11/02(月) 03:04:56 ]
double型の引数を2つ持ち、aつの引数の積の絶対値を返す、
double型の戻値を持つ関数 absmul() を作成した上で、動作の
確認の出来るプログラムとして作成せよ。という問題と

標準入力からの入力に対して、アルファベットを全て空白文字
に変更して出力するプログラムを作成せよ。という問題がわかりません。

どなたかお願いします

487 名前:satoshi [2009/11/02(月) 03:06:50 ]
aつ が 2つの間違いです。

488 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 07:13:30 ]
>>483
エラーを全部貼ってください。

489 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 07:15:11 ]
>>486
>>1

490 名前:satoshi [2009/11/02(月) 11:45:59 ]
[1] プログラミング
[2] double型の引数を2つ持ち、2つの引数の積の絶対値を返す、
double型の戻値を持つ関数 absmul() を作成した上で、動作の
確認の出来るプログラムとして作成せよ。という問題と

標準入力からの入力に対して、アルファベットを全て空白文字
に変更して出力するプログラムを作成せよ
[3] 環境
 [3.1] OS: (Windowsxp)
 [3.2] コンパイラ名とバージョン:UNIX 2.1.4
 [3.3] 言語: (C言語)
[4] 期限: (11月3日 13時
[5] その他の制限: (特になし)

491 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 12:07:11 ]
>>490
#include<stdio.h>

double absmul(double a, double b){
short x=0x1234;
double c;
unsigned char *p, *q;

c=a*b;
p=(unsigned char*)&x;
q=(unsigned char*)&c;
if(*p==0x12) q[0]&=0x7f;
else q[sizeof(double)-1]&=(~0)^0x80;

return c;
}


int main(void){
double a=2.0, b=-3.0;

printf("%f\n", absmul(a, b));

return 0;
}

492 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 12:31:03 ]
>>490
#include<stdio.h>

int main(void)
{
int c, map[256];
unsigned char *p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

for(c=0;c<256;c++) map[c]=c;
for(;*p;p++) map[*p]=' ';

while((c=getchar())!=EOF)
{
putchar(map[c]);
}

return 0;
}

493 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 12:38:10 ]
アルゴリズムにsortというのがりますが、配列をsortするときにもとの配列番号が
何番に変わったか知る方法はありますか?ソートした配列を参考に別の配列も並び替えたいです。

494 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 12:44:27 ]
ソートする配列と同じ長さの配列用意して、ソートする前にそこへコピーしとけば良いじゃん
あとはその二つを比較するだけ



495 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:06:44 ]
>>493
構造体で例えば

sruct abc {
double a;
int n;
};

としといて、aにバラバラの値を入れ、nに連番を入れて置きます
その後構造体でqsort(比較基準はabc.a)を掛ければ、nに
どのようにバラバラになったか順列が入ります

496 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:20:40 ]
こんな感じ

struct abc {
double a;
int n;
};
int comp(const void *a, const void *b)
{
struct abc x = *(struct abc *)a, y = *(struct abc *)b;

return (x.a < y.a) ? -1 : (x.a > y.a) ? 1 : 0;
}
int main(void)
{
struct abc aa[10];
int i;

srand((unsigned)time(NULL));

for (i = 0; i < 10; i++) {
aa[i].a = rand();
aa[i].n = i;
}

qsort(aa, 10, sizeof(aa[0]), comp);

for (i = 0; i < 10; i++)
printf("%d ", aa[i].n);
putchar('\n');

return 0;
}

497 名前:デフォルトの名無しさん [2009/11/02(月) 13:38:02 ]
【問題】0から40までの数字で3のつく数字と3の倍数を表示するプログラムを作成せよ

お願いいたします。

498 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:39:43 ]
>>497
>>1

499 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:47:20 ]
>>497
#include <stdio.h>
int main(void)
{
printf("0 3 6 9 12 13 15 18 21 23 24 27 30 31 32 33 34 35 36 37 38 39");
return 0;
}

500 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:47:39 ]
もうネタとしか思えなくなってきた

501 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 13:50:08 ]
>>499
わろたw

502 名前:デフォルトの名無しさん [2009/11/02(月) 13:53:31 ]
>>497
#include <stdio.h>
#include <string.h>
int main(void)
{
int i;
char buf[32];
for(i = 0; i <= 40; i++) {
sprintf(buf, "%d", i);
if (i % 3 == 0 || strchr(buf, '3') != NULL) printf("%d ", i);
}
return 0;
}


503 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 15:10:59 ]
>>490
アルファベットとは何ぞやということになるな。

504 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 17:50:16 ]
ハングルはアルファベットなのか(字母と方塊字で扱いは違うのか?)なんてのは
さすがに考えないとして、ウムラウトやセディーユのついた文字はどうするのかね。



505 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:00:43 ]
isalphaで判定できるものでいいだろ、常識的に考えて

506 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 19:11:19 ]
>>483
VC++2008EE をインストールして確かめました。なるほどねえ、VC は構造体タグの name space は独立していないんですね。
codepad.org/nMou5Xbk

507 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 20:01:57 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10044.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10045.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VS2008
 [3.3] 言語: C++
[4] 期限: 2009/11/07

問題が2つあります。それぞれ違うファイルにしてもらえたならば幸いです。
宜しくお願い致します。

508 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 23:25:57 ]
>508

コードは書いてやるから、仕様は自分でだせ。

509 名前:sage [2009/11/03(火) 01:38:41 ]
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10047.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
 [3.3] 言語: C++
[4] 期限: [2009年11月5日23:59まで]
[5] その他の制限:途中までのソースコードがありますので、そちらに追記お願いします。


510 名前:デフォルトの名無しさん [2009/11/03(火) 01:57:30 ]
[1] プログラミング入門
[2] 文字列sを逆に並べる関数reverse(s) を書け。
さらにこの関数を使って、入力を行ごとに反転させるプログラムを作成せよ。という問題です。
[3] 
[3.1] OS: (UNIX)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C)
[4] 期限: [2009年11月3日12:00まで]
[5]if文 while文などを勉強中です。
初心者用のプログラムでお願いします。

511 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 06:49:25 ]
>>510
EUCに対応しているはず
codepad.org/zGzKjJfu

512 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 10:30:46 ]
>510

こんな感じでよいか?
ワイド文字は考慮していません。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10049.txt

513 名前:デフォルトの名無しさん [2009/11/03(火) 12:03:20 ]
あ」

514 名前:デフォルトの名無しさん [2009/11/03(火) 12:30:32 ]
[1] 授業単元: c言語プログラミング実習
[2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10051.txt

[3] 環境
 [3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)

わかりにくい質問で申し訳ありませんがよろしくお願いします。



515 名前:デフォルトの名無しさん [2009/11/03(火) 12:42:05 ]
[1] 授業単元: c言語プログラミング実習
[2] 問題文 

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10052.txt
[3] 環境
 [3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)

どうぞよろしくお願いいたします。

516 名前:デフォルトの名無しさん [2009/11/03(火) 12:47:24 ]
1] 授業単元: c言語プログラミング実習
[2] 問題文 
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10053.txt
[3] 環境
 [3.1] OS: (Linux)
[4] 期限: (11/4)
[5] その他の制限: (大学1ねんで、まだc言語の授業は5回目です。)


こちらもよろしくお願いいたします。

517 名前:デフォルトの名無しさん [2009/11/03(火) 12:50:55 ]
上の514,515,516はmewを使用して作成します。

518 名前:デフォルトの名無しさん [2009/11/03(火) 12:52:05 ]
間違えました、Emacsです

519 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 13:06:21 ]
Emacsってコンパイラついてたっけ・・・


520 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 14:29:18 ]
>>515
(1) (A)に同じ文を入れて考える
#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while(i<100){
while(j<100){
while(k<100){
  n++;
(A)
k++;
}
(A)
j++;
}
(A)
i++;
}
printf("n=%d",n);
}

521 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 14:30:13 ]
>>515 (B)に同じ式を入れて考える
#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while( (B) && (i<100){
while((B) &&(j<100)){
while((B) &&(k<100)){
  n++;
k++;
}
j++;
}
i++;
}
printf("n=%d",n);
}

522 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 14:31:11 ]
>>515
(3) (C)、(D)に適当な文を入れる
#include<stdio.h>
int main(void){
int i=0 j=0 k=0;
int n=0;
i=0;
while(i<100){
while(j<100){
while(k<100){
  n++;
(C)
k++;
}
j++;
}
i++;
}
(D)
printf("n=%d",n);
}

523 名前:510 [2009/11/03(火) 15:04:23 ]
>>511・511さん
遅れましたが回答ありがとうございました。

524 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:19:44 ]
>>516
#include <stdio.h>

int main(void)
{
int i, j, n;

scanf("%d", &n);

for(i=1; i<n; i++) {
for(j=n-i; j>=0; j--) putchar(' ');
for(j=2*i-1; j>0; j--) putchar('*');
putchar('\n');
}
for(i=2*n+1; i>0; i--) putchar('*');
putchar('\n');

return 0 ;
}



525 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:36:15 ]
逆数を求めるプログラミングなんですが、どうしてもコンパイルできません。
間違いがあったらエロい人、、指摘してください。

#include <stdio.h>

main(){
int i;
float j = 1/i;
for(i = 1; ;i++){
printf("%f\n" , j);
}
return 0;
}

526 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:42:08 ]
509です。
sageをミスって申し訳ございませんでした。
どなたか、お願いできませんでしょうか?
よろしくお願いします。


527 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:47:03 ]
>>525
正常に動作しないだけで、コンパイルは通ると思うが。

528 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:48:56 ]
>>527
float j = 1/i; で未初期化の変数を参照がエラーか警告になるかも

529 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:51:46 ]
>>525
jを計算する場所が違う。
コンパイルができない、というのはエラーが出るのか警告が出るのか、
あるいは実行時エラーなのか、はっきりしてくれ。

530 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:52:23 ]
初期化に変数は使えないとか。

531 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:56:50 ]
>525

gccに食わせたけど、警告は出るけどコンパイルはできるよ。

たぶんやりたいことはこうじゃない?
#include <stdio.h>

int main(void)
{
int i;

for (i = 1; i < 10; i++) {
printf("%f\n" , 1.0 / i);
}

return 0;
}


532 名前:デフォルトの名無しさん [2009/11/03(火) 15:57:42 ]
[2]問題: 標準入力からの入力に対して、アルファベットを全て空白文字に変更して
出力するプログラムを作成せよ。という問題です。
[3.1] OS: (UNIX)
 [3.2] コンパイラ名とバージョン: (gcc)
 [3.3] 言語: (C)
[4] 期限: [2009年11月4日9:00まで]
かなりの初心者です
codepad.org/nrbnRlD3
自分で作ってみたのですが、エラーが出ました。
何が足りないか、何が間違っているか改良をお願いします。




533 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:00:51 ]
>509

元のコードがでかいので、デバッガでコードを追いたかったのだが、
gcc + insightでは開こうとしたとたんに落ちてしまう。
実行自体はできるのだけれど。

#conio.hがあるとコンパイルできないのだが、使っているところがないので
削った。
もう少しおってみるかな。


534 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:05:16 ]
>>532
大文字



535 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:08:56 ]
大文字を小文字に修正しても希望の動作にはならないけどなw

536 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:09:53 ]
最初の while で標準入力食いつぶすしねw

537 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:17:35 ]
#include <stdio.h>
#include <ctype.h>
int main(){
int c;
while((c=getchar())!=EOF)putchar(isalpha(c)?' ':c);
return 0;}

538 名前:509 mailto:sage [2009/11/03(火) 16:21:37 ]
>533
すいません。
よろしくお願いします。



539 名前:533 mailto:sage [2009/11/03(火) 17:41:45 ]
>509

デバッガが使えないのでコードリーディングに手こずっている。
出題主、以下の情報ください。

1)BCalculationの仕様
コメント、mainでの使い方からして
入力"+ 6 3 " 戻り値9みたいな
ものを想定していた。でも動かしてみたらそうじゃないし、
どう動いて欲しいのかわからない。

どんな入力に対してどういう戻り値を期待している?

2)MtoBの仕様
以下のようなものを想像しているが、あっているか?
入力 "6 + 3 * 3"
戻り値 "+ 6 * 3 3" (BCalculationのinputになれるもの)


540 名前:506 mailto:sage [2009/11/03(火) 18:27:31 ]
>>539
つ「逆ポーランド記法」
6 3 +
6 3 3 * +

デバッガは無料で手に入る VC++2008EE IDE はいかが?

541 名前:509 mailto:sage [2009/11/03(火) 18:29:38 ]
>533
返答が遅くなり、すいません。
ご迷惑をおかけします。

1)BCalculationの仕様
回答の所で使用していますので、お考えであっていると思います。
ただ、"63+" の "9"と思っていました。
的外れな回答でしたら申し訳ありません。

2)MtoBの仕様
その通りです。
こちらも、"633*+"と思っていました。

実は、最初は”回答”の上に
printf("変換:%s\n",str.str);
を入れていました。
しかし、課題内容にはないため外しました。
変換後の結果が出るものです。


542 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 18:30:12 ]
>>514
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10054.txt

543 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 18:52:20 ]
一回目はちゃんと漢字じゃないとw

544 名前:533 = 539 mailto:sage [2009/11/03(火) 19:35:51 ]
>509 >541, >540

逆ポとLispを勘違いしてたみたい。
だけど6 3 +も + 6 3両方試したけど
元のコードでは期待通り動いていないみたいだよ。

とりあえず逆ポの関数書いてみた。命名則は自分流なので
reversePolishNotationが元のBCalculationと思ってください。

エラーは適当にアボートしちゃっていますが、動作は期待通りでしょうか?

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10055.txt



545 名前:509 mailto:sage [2009/11/03(火) 20:30:17 ]
>533=539=544
返事が遅くなり申し訳ございません。

残念ながら動作しませんでした。
コンパイルは出来たでですが、実行すると
何も入力する前に、
「問題が発生したため、muda.exe を終了します。 ご不便をおかけして申し訳ありません。」
と出て終了してしまいました。

新しくコードを書いて頂いたようで、申し訳ございません。
しかし、一度前のものを提出し追加課題として「エラーを検知させよ」
だった為、条件として
[5] その他の制限:途中までのソースコードがありますので、そちらに追記お願いします。
と記載しておりました。
できましたら、追記でお願いしたいのですが無理でしょうか?

宿題を解いて頂いているのに、文句言って本当にすいません。


546 名前:540 mailto:sage [2009/11/03(火) 20:56:58 ]
>>545
ソースをみる限り第一引数に逆ポーランド式を指定しないとダメです。
たとえば、
foo.exe "1 1 +"
とします。

>>544
おかしいですね。私のところでは、BCalculation はうまく動いていますが。(bcc32/gcc/VC++2008)







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

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

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