C/C++の宿題を片付け ..
[2ch|▼Menu]
263:デフォルトの名無しさん
08/01/19 13:10:33
>>262
bmpの読み込みってMFCのCImageとか使って書くの?

264:デフォルトの名無しさん
08/01/19 13:27:59
>>263
使っても平気です。


265:デフォルトの名無しさん
08/01/19 13:50:23
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 今日中

266:デフォルトの名無しさん
08/01/19 14:16:14
>>265
>>254

267:265
08/01/19 14:17:59
>>266
見落としてました;
ありがとうございます

268:デフォルトの名無しさん
08/01/19 16:22:21
[1] 授業単元:プログラミング初級
[2] 問題文(含コード&リンク):名前(char)、身長(double)、体重(double)、視力(視力構造体)これらのデータをメンバとする構造体を定義し、入力された表示を行うプログラムを作成してください。
入力件数は、最大5件で、名前は19文字までの入力とし、範囲外だったならばエラーメッセージ(Sorry. Input less than 20 characters.)を表示し再入力して下さい。名前に"END"が入力されたときは入力終了とします表示は身長で昇順にソートして出力して下さい
また身長、体重は、小数点第以下一位までの表示とします。視力は、小数点以下第三位までの表示とします
出力の幅は、名前が19文字文、その他は5文字分で指定してください
視力は右(double)、左(double)をメンバとする構造体で扱って下さい
1件分の入力はibput_data()で、表示はdisplay_data()で、ソートはsort_data()でと処理を関数に分けて行ってくださ
名前入力の最初に"END"が入力された場合は、その旨のメッセージ(Input data is nothing!)
を出力してください
[3] 環境
 [3.1] OS : windows
 [3.2] コンパイラ名とバージョン: Visual C++ 2005
 [3.3] 言語: C言語
[4] 期限:1月21日

269:デフォルトの名無しさん
08/01/19 20:29:14
宿題じゃないと駄目?

270:デフォルトの名無しさん
08/01/19 20:44:36
>>262
こんなんでいい?
URLリンク(kansai2channeler.hp.infoseek.co.jp)

271:デフォルトの名無しさん
08/01/19 20:46:49
>>269
速攻で答えてやんよ
 ∧_∧
 ( ・ω・)=つ≡つ
 (っ ≡つ=つ
 /   ) ババババ
 ( / ̄∪

272: ◆8QYSceiIsU
08/01/19 21:04:42
1] 授業単元:プログラミング
[2] 問題文(含コード&リンク)

適当な数字を与えてその数だけ「<」を使いそれに対応する「>」の例を全て表示するプログラムを作れ


2を与えた場合
<<>>
<><>

3を与えた場合
<<<>>>
<<>><>
<<><>>
<><><>

と表示する

[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:cygwin
 [3.3] 言語:C
[4] 期限:2008/01/20(日)

お手数ですが、よろしくおねがいします

273:shogo
08/01/19 21:11:56
【質問テンプレ】
1 西暦1868年から2007年までの年号を入力して和暦に変更して出力するプログ
 ラムを作りなさい。(10点)
 例 入力 1868  出力 明治元年
      2007     平成19年
2 整数配列が–32768から32767の範囲の数しか扱えないとしたとき、10桁の整数同士
 の足し算を行うプログラムを作りなさい。(10点)
3 3桁の整数の値を入力していき、−9999が入力されたところで、それまでに入力
 された数の個数と合計を整数で、平均を浮動小数点数で出力するプログラムを作りなさ
 い。(10点)
4 3つの文字列”Happy”と“New”と“Year”をつないで1つの文字列として出力する
 プログラムを作りなさい。(10点)
5 学籍番号、氏名、出席からなる10人分のデータがある。出席の悪いものから並び替
 えて表示するプログラムを作りなさい。(10点)
 例
 BA180002 山田太郎 70
 BA170001 石田次郎 60
 データは、適当なものを各自用意して入力すること。
 

274:デフォルトの名無しさん
08/01/19 21:19:39
>>272
3を与えた時、<><<>>は含まないの?

275: ◆8QYSceiIsU
08/01/19 21:23:05
>>274
<><<>>は含みません!

276:デフォルトの名無しさん
08/01/19 21:25:58
>>275
理由は? 272の条件文からじゃ含むように思うんだけど。

277:デフォルトの名無しさん
08/01/19 21:31:10
反転すりゃ同じになるものは省きたいんじゃないかな?

278:269
08/01/19 21:34:12
>>271
よろしくお願いしまーす。
[1] 授業単元:なし
[2] 問題文(含コード&リンク):
(URLリンク(kansai2channeler.hp.infoseek.co.jp))
[3] 環境
 [3.1] OS: (WindowsXPsp2)
 [3.2] コンパイラ名とバージョン: (BCC55-BCC Developer1.2.21)
 [3.3] 言語: (どちらでも可)
[4] 期限: ([無期限]だけど早ければうれしい )

279: ◆8QYSceiIsU
08/01/19 21:34:51
>>276
すみません、<<>><>と<><<>>は括弧の計算としては同じだからだと思っていましたが、そのような指定はありませんでしたorz

とりあえず
<>><<>や><<>><とかはダメだそうです


280: ◆8QYSceiIsU
08/01/19 21:37:22
>>276さん
たびたびすいません、今確認したところ>>277さんの言うとおりでしたorz

281:269
08/01/19 21:37:22
sorry!!URL修正です
URLリンク(kansai2channeler.hp.infoseek.co.jp)

282:デフォルトの名無しさん
08/01/19 21:38:01
>>279
それがダメなのは言われなくても分かるってw

283:257
08/01/19 21:48:13
>>261
ありがとうございます

284:デフォルトの名無しさん
08/01/20 00:07:49
【時間切れ】 (1/19)
>238

【未解決問題】
>>272 1/20

>>268 1/21
>>86 1/22
>>195 1/22
スレリンク(tech板:229番) 1/31
>79 無期限
>144 無期限 問題文>>148
>278 無期限

>273 ??

285:デフォルトの名無しさん
08/01/20 00:34:34
>>272
再帰で簡単に書けるかと思ったらすごいことになってしまったorz
URLリンク(kansai2channeler.hp.infoseek.co.jp)
もっと簡単に書けるもんかね?

286:デフォルトの名無しさん
08/01/20 00:40:31
>>285
ワラタ

287:デフォルトの名無しさん
08/01/20 01:17:06
>>285
対象排除してなくないか?

288:デフォルトの名無しさん
08/01/20 01:30:36
>>238どなたかできませんか?
よろしくお願いします。

289:デフォルトの名無しさん
08/01/20 01:32:47
ファイルの書式も書かずに催促とな

290:285
08/01/20 01:32:51
うは、結局対称だめってことだったのね。。。
もう力尽きたお。てか、意外と難しくない?

291:デフォルトの名無しさん
08/01/20 01:33:08
>>288
もう期限過ぎてるからいいじゃん別に

292:デフォルトの名無しさん
08/01/20 01:35:25
>>290
入れ子がややこしいな
俺がアホなだけかも試練が

293:デフォルトの名無しさん
08/01/20 01:41:20
<<><<>>><>
<<<>><>><>
例えばこういうのも別の要素として扱われるのかね。
そうだとしたら面倒くさいな。

294:デフォルトの名無しさん
08/01/20 01:49:46
>>268
URLリンク(kansai2channeler.hp.infoseek.co.jp)

295:デフォルトの名無しさん
08/01/20 01:56:46
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
< がn個、> がn個の文字列を求めるだけなら、再帰に加え
コールバックを使うと短く書ける。最初から条件に合う
文字列を効率よく出すやり方は分からない。

# あまり確認してないのでプログラムは間違ってるかもしれん。

296: ◆8QYSceiIsU
08/01/20 02:06:31
>>285
ありがとうございます!感激です!

>>293
俺の考えですが、多分同一とみなすと思います

>>295
ありがとうございます!こんなプログラム…俺には難しくて作れませんorz

297:デフォルトの名無しさん
08/01/20 08:07:10
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
正直やりすぎた

298:デフォルトの名無しさん
08/01/20 09:18:24
>>272 対象もでてしまうけど
#include<stdio.h>
#include<stdlib.h>
void disp(char *p){
for(;*--p;);
puts(p+1);
}
void brace(char *work, int brace_num, int depth){
if(depth==0 && brace_num==0){
*work='\0';
disp(work);
}
if(depth>0){
*work='>';
brace(work+1, brace_num, depth-1);
}
if(brace_num>0){
*work='<';
brace(work+1, brace_num-1, depth+1);
}
}
int main(int argc, char *argv[]){
int brace_num=3;
char *work;
if(argc==2) brace_num=atoi(argv[1]);
work=malloc(brace_num*2+2);
*work='\0';
brace(work+1, brace_num, 0);
free(work);

return 0;
}

299:デフォルトの名無しさん
08/01/20 10:01:56
1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:cygwin
[3.3] 言語:C
[4] 期限:2008/01/21

お願いします

300:デフォルトの名無しさん
08/01/20 11:01:01
>>299
mainの
student std[]={

301:デフォルトの名無しさん
08/01/20 11:03:42
途中送信してしまった

>>299
mainの
student std[]={};

student std[NUMB];
にするだけで動く。平均はsougouを5で割ればいいだけ。
てかちゃんと内容を書け。

302:デフォルトの名無しさん
08/01/20 12:31:20
>>273
適当だが。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

303:デフォルトの名無しさん
08/01/20 14:10:15
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:本日11:30まで
[5]その他の制限:単位がかかっているので、どなたか回答の方をお願いしますorz

304:デフォルトの名無しさん
08/01/20 14:20:12
まじめにやらなかったから単位を落とすんだろ?自然なことじゃないか

305:デフォルトの名無しさん
08/01/20 14:39:12
>>303
[4] 期限:本日11:30まで
DATE:2008/01/20(日) 14:10:15

最初から期限切れてるじゃん

306:デフォルトの名無しさん
08/01/20 14:40:53
午後なら、11:30PMか23:30と書くべきだな。

307:デフォルトの名無しさん
08/01/20 14:43:53
>>304
スイマセン……頑張っても頑張っても理解を超えた内容でした
>>305 >>306
ややこしくてすいません。23:30です

308:デフォルトの名無しさん
08/01/20 14:59:47
>>307
下手に頑張っても頑張っても…とか書かれると、どう頑張って何を身につけたのか訊きたくなるじゃないか。
頑張ったからには途中まで出来ているだろうから、そこまでのソースを見せろ、とかね。

309:デフォルトの名無しさん
08/01/20 15:10:17
単位がかかっていると言われると期限過ぎてから回答したくなる

310:デフォルトの名無しさん
08/01/20 15:16:37
>>309
サディスト吹いたわw

311:デフォルトの名無しさん
08/01/20 15:21:45
ここに丸投げして課題をクリアしようとした自分が間違っていました。すいません
今から苦Cでもう一度基礎から勉強して何とかやってみます
見苦しいレスばかりしてしまい、申し訳ありませんでした

312:デフォルトの名無しさん
08/01/20 15:29:22
別に間違ってないんじゃない?
ただ「〜がかかっている」とか理由をつけて解答を迫ってるのが
人によっては癪に障るだけで。

313:デフォルトの名無しさん
08/01/20 15:41:42
ちょっと待て、「苦C」って「苦しんで覚える……」か?
あんなサイトで基礎から勉強するから見につかないんだと思うぞ。

314: ◆8QYSceiIsU
08/01/20 15:49:45
>>298
3しか出ないのですが、どこを書き換えればいいですか?

315:デフォルトの名無しさん
08/01/20 15:51:32
>>314
>>298のレスを3で検索かけてみればいいだろ

316: ◆8QYSceiIsU
08/01/20 15:55:00
>>315
int brace_num=3;のところだと思うのですが、そこをどう書き換えればいいのかわからないのですorz

scanfだと思っていろいろいじったのですがエラーになってしまって…

317:デフォルトの名無しさん
08/01/20 16:15:10
scanfもわからないのに再帰を提出するのはまずいと思うぞw

318: ◆8QYSceiIsU
08/01/20 16:17:01
>>317
今は提出だけが目的なんで…すみませんorz

319: ◆1FgF6ehpzk
08/01/20 16:17:50
>>238だが、>>288お前なりすましか?
注意書き通り名前のところにトリップ入れておけばよかった。


スレ汚しすまん。
もう消える。

320:デフォルトの名無しさん
08/01/20 16:24:17
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語: C
[4] 期限:1月21日




321:デフォルトの名無しさん
08/01/20 16:50:13
>>301
ありがとうございます!なんでエラーがおこるのかわからなくて相当困ってました。

322:デフォルトの名無しさん
08/01/20 16:59:35
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
<<><>><<>><>
<<><>><><<>>
<<>><<><>><>
みたいに入れ子関係を変えない並び替えで同じになるものは同一とみなした.
これってグラフ理論とかの講義?


323: ◆8QYSceiIsU
08/01/20 17:07:17
>>322
ありがとうございます!
これはゼミの問題でしたσ(^_^;)アセアセ...

324:デフォルトの名無しさん
08/01/20 17:41:22
[1] 授業単元:文字列
[2] 問題文:
最大50文字で文字列を読み取り、
その文字数を出力するプログラム
(例:aiueo=5文字)

[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名とバージョン:?
 [3.3] 言語:C++
[4] 期限: 2008年1月20日22:00まで
[5] その他の制限:


お願いします(ノ_・。)

325:デフォルトの名無しさん
08/01/20 17:46:55
>>324
#include<iostream>
#include<string>
int main()
{
std::string str;
std::cin>>str;
std::cout<<str.size()<<"文字"<<std::endl;
return 0;
}

326:デフォルトの名無しさん
08/01/20 17:47:24
>>324 は削除でお願いします!!
ごめんなさい..

[1] 授業単元:
[2] 問題文:
数値を文字列として2つ入力し、
大小を求めるプログラムを作成せよ
(例:52846>48426)
[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語:C++
[4] 期限:2008年1月20日22:00まで
[5] その他の制限:

お願いします(ノ_・。)

327:デフォルトの名無しさん
08/01/20 17:48:16
>>325
ありがとうございます!!

328:デフォルトの名無しさん
08/01/20 17:50:40
>>326
int main(void)
{
using namespace std;
int a, b;
cin >> a;
cin >> b;
cout << max(a,b) << ">" << min(a,b) << endl;
return 0;
}

329:デフォルトの名無しさん
08/01/20 18:03:55
>>320
URLリンク(kansai2channeler.hp.infoseek.co.jp)

330:269
08/01/20 18:09:26
プリーズ、プリーズ

331:デフォルトの名無しさん
08/01/20 18:16:18
>>326

#include <iostream>

int main (int argc, char **argv) {
using namespace std;
int a, b;
cout << "数字を二つ入力してよ" << endl;
cin >> a >> b;
cout << a << (a == b ? "=" : (a < b ? "<" : ">")) << b << endl;
}      


332:デフォルトの名無しさん
08/01/20 18:20:46
>>330
問題文が理解不能だった

333:デフォルトの名無しさん
08/01/20 18:56:02
>>330 >>278
とりあえずA.txtとB.txtとC.txtの見本みたいのがないとよくわからんな
あと樹形図化ってあるけど、どういう規則の木構造なのかもわかるとうれしい

334:デフォルトの名無しさん
08/01/20 19:11:11
まじで何回も聞いてますができません↓
わかるかたお願いします↓


[1] 授業単元:
[2] 問題文:

最大50文字の数値を文字列として2つ入力して、
その差を求めるプログラムを作成せよ。
なお、最初に入力したものから後に入力したものを引くこととする

[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語:C++
[4] 期限:2008年1月20日23:00まで
[5] その他の制限:
答えがマイナスになる場合もお願いします、、
あとできれば説明もお願いします

335:デフォルトの名無しさん
08/01/20 19:51:31
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):添付されたファイル"city.txt"に、
日本の政令指定都市に関するデータが収められている。
このファイルを読んで、構造体の配列に格納し、
ソートを実行するプログラムを作成する。

構造体のメンバは、
都市名・登録年月日・面積・人口とし、
ソートはレコードの内容について、
まず、都市名の昇順(アルファベット順)にソートし、
次に、登録年月日の昇順にソートするものとする。

単純交換法でソートを実行した場合と、
単純選択法でソートを実行した場合の結果を示し、
違いがあれば、その違いの特徴を説明し、理由も書きなさい。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VS2005
 [3.3] 言語: C
[4] 期限: 1/22日まで
[5] その他の制限:city.txtなどは次に書きます。よろしくお願いします。

336:デフォルトの名無しさん
08/01/20 19:52:30
>>335
city.txtの中身


都市名 登録年月日 面積[km^2] 人口[人] (2007年12月1日現在)
Sapporo 1972/04/01 1,121.12 1881218
Sendai 1989/04/01 735.16 1029595
Saitama 2003/04/01 217.49 1192005
Chiba 1992/04/01 272.08 938293
Yokohama 1956/09/01 437.38 3,630830
Kawasaki 1972/04/01 142.70 1,372762
Niigata 2007/04/01 726.10 813170
Shizuoka 2005/04/01 1,388.78 710902
Hamamatsu 2007/04/01 1,511.17 811446
Nagoya 1956/09/01 326.45 2238223
Kyoto 1956/09/01 827.90 1469242
Osaka 1956/09/01 222.27 2645790
Sakai 2006/04/01 149.99 835257
Kobe 1956/09/01 552.15 1530912
Hiroshima 1980/04/01 905.13 1163051
Kitakyushu 1963/04/01 487.71 987337
Fukuoka 1972/04/01 340.60 1429828

337:デフォルトの名無しさん
08/01/20 19:53:26
>>336
すいません見にくかったです。

都市名 登録年月日 面積[km^2] 人口[人] (2007年12月1日現在)
Sapporo 1972/04/01 1,121.12 1881218
Sendai 1989/04/01 735.16 1029595
Saitama 2003/04/01 217.49 1192005
Chiba 1992/04/01 272.08 938293
Yokohama 1956/09/01 437.38 3,630830
Kawasaki 1972/04/01 142.70 1,372762
Niigata 2007/04/01 726.10 813170
Shizuoka 2005/04/01 1,388.78 710902
Hamamatsu 2007/04/01 1,511.17 811446
Nagoya 1956/09/01 326.45 2238223
Kyoto 1956/09/01 827.90 1469242
Osaka 1956/09/01 222.27 2645790
Sakai 2006/04/01 149.99 835257
Kobe 1956/09/01 552.15 1530912
Hiroshima 1980/04/01 905.13 1163051
Kitakyushu 1963/04/01 487.71 987337
Fukuoka 1972/04/01 340.60 1429828


338:デフォルトの名無しさん
08/01/20 19:58:11
>>335>>336>>337
337はミスりました、すいません。

#include<stdio.h>
#define N 17 //*keyの個数
#define SIZE 20 //*nameの大きさ

struct city{
char name[SIZE];
int year, month, day;
double area;
int population;
};
struct city key[N];
int main(void){
FILE *fp;
int i;
char naka[100];
fp = fopen("city.txt","r");
if(fp!=NULL){
printf("ファイルを開きました\n");
}
fgets(naka,100,fp);
for(i = 0; i < N; i++){
fscanf(fp,"%s %d/%d/%d %lf %d",key[i].name, &key[i].year, &key[i].month, &key[i].day, &key[i].area, &key[i].population);
printf("%s %d/%d/%d %lf %d\n",key[i].name, key[i].year, key[i].month, key[i].day,key[i].area, key[i].population);
}
return 0;
}
これを元に作ってほしいです。よろしくお願いします

339:デフォルトの名無しさん
08/01/20 20:09:55
>>334
#include <iostream>
using namespace std;
int main()
{
double n1, n2;
// 一つ目入力
cout << "n1 : ";
cin >> n1;
// 二つ目入力
cout << "n2 : ";
cin >> n2;
// 結果出力
cout << "n1 - n2 : " << n1 - n2 << endl;
return 0;
}

340:デフォルトの名無しさん
08/01/20 20:32:40
>>339
ありがとうございます!
でもまだ
using namespace std;
をならってません(ノ_・。)

341:デフォルトの名無しさん
08/01/20 20:34:03
ほんとにC++かよw

342:デフォルトの名無しさん
08/01/20 20:38:37
つうか、doubleで大丈夫なのか?
stringなりchar配列でやれって意味だと思うんだけど

343:デフォルトの名無しさん
08/01/20 20:42:32
>>340
文字列から数値への変換は自分でやるの?
入力とかは、scanfとかでやれとか?
使っていいものの条件をかいてくれ。

344:デフォルトの名無しさん
08/01/20 20:57:51
>>340
URLリンク(kansai2channeler.hp.infoseek.co.jp)
冗長だが。

数値に区切って算出した方がいいんだよな。

345:デフォルトの名無しさん
08/01/20 21:04:56
>>335
URLリンク(kansai2channeler.hp.infoseek.co.jp)
city.txtの","って取り除かないと読めなくない?

346:344
08/01/20 21:05:41
すまん、こっちで
URLリンク(kansai2channeler.hp.infoseek.co.jp)

ますますクソだわ、吊ってくる...

347:デフォルトの名無しさん
08/01/20 21:09:54
char配列だと思います。。
あとscanfもまだ習っていません、、
文字列の入力は cin.getline しか習ってないんですが。。。
まさかこれでこの問題乗り切るのむりですか?(´△`)


よくわかんないので、以前に和を出す方法を教えてもらったのでそれの一部のせます!
前後はしょってるので意味わかんなかったらごめんなさい、、

// 足し算
// a = b + c
int add(char a[], char b[], char c[])
{
int i ,carry = 0;
for( i = 0 ; i < Max_Length ; i++ ) {
a[i] = b[i] + c[i] + carry;
carry = a[i] / 10;
a[i] = a[i] - carry * 10;

}
return carry;
}

348:デフォルトの名無しさん
08/01/20 21:43:20
250ってそのまま書いても大丈夫なんですかね?
今ソフトがないもんで・・・

349:デフォルトの名無しさん
08/01/20 21:53:38
お願いします

[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
問題1;nの階乗の表を表示するプログラム(intで表示できる範囲のみ)

問題2: 二次元配列を使い、以下の点数表から各人の3科目の平均点と各科目ごとの5人の平均点を求めるプログラム

    国語 数学 英語
安藤  56  45   67
加藤  64  34   55
田中  53  76   46
山田  75  78   78
山本  60  67   62

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:コマンドプロンプト
 [3.3] 言語: C
[4] 期限: 2008年1月21日00:00まで
[5] その他の制限: なし

350:デフォルトの名無しさん
08/01/20 21:55:48
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語: C言語
[4] 期限:1月22日
[5]制限 : お願いします。


351:デフォルトの名無しさん
08/01/20 22:24:16
>>350
#include <stdio.h>
#define LMAX 100
int char_counter(char c, char * str)
{
int cnt=0;
while(*str!='\0'){
if(*str==c)
cnt++;
str++;
}
return cnt;
}
main()
{
char c,str[LMAX];
int cnt=0;
printf("文章:");
fgets(str,LMAX-1,stdin);
for(c=33;c<127;c++){
cnt=char_counter(c,str);
if(cnt>0)
printf("[%c]->%d個\n",c,cnt);
}
}

352:デフォルトの名無しさん
08/01/20 22:33:36
[1] 授業単元:C言語
[2] 問題文
1つ以上の空白文字で区切られた英文を半角文字列として入力し、空白文字
を区切りとし分解して表示する。以上の動作をNULLが入力されるまで繰り返
すプログラムを作成しなさい。
@文字列の入力にはgets関数を使用すること。また、最大で80文字
 までしか入力されないものとする。
A空白文字かどうかは文字検査関数(is・・・)を使用して調べること。
B半角文字しか入力されないもとする
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語: C
[4] 期限:なし
[5] その他の制限:

353:shogo
08/01/20 23:15:54
>>>273
ディフォルトの名無しさんご回答ありがとうございました!
大変参考になりました!!


354:デフォルトの名無しさん
08/01/20 23:27:08
ディフォルトの名無しさんって宿題全部やっちゃってすごいよね

355:デフォルトの名無しさん
08/01/20 23:30:25
>>352
URLリンク(kansai2channeler.hp.infoseek.co.jp)
無駄に長くした。

356:デフォルトの名無しさん
08/01/20 23:32:25
>>352
空白を複数個入れると表示が見苦しくなるが気にするな。
そうしちゃいけないとは書いていないから。


#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main()
{
char buf[81];
int i;

while(gets(buf)){
if(!strcmp(buf,"NULL"))
break;
for(i=0;buf[i];i++)
putchar(isspace(buf[i])?'\n':buf[i]);
printf("\n\n\n");
}

return 0;
}

357:デフォルトの名無しさん
08/01/20 23:56:04
>>352 では表示が見苦しくならないようにしたものを。先頭に空白が入ってても大丈夫にしてある。
#include <stdio.h>
#include <ctype.h>
#define LMAX 80
main()
{
int i=0;
char str[LMAX+1];
while(gets(str)){;//本当はfgets(str,LMAX,stdin)を使いたい
while(str[i]!='\0'){
if(isspace(str[i])){
if(i>0&&!isspace(str[i-1]))
putchar('\n');
}else
putchar(str[i]);
i++;
}
putchar('\n');
}
}

358:デフォルトの名無しさん
08/01/21 00:09:07
>>352
URLリンク(kansai2channeler.hp.infoseek.co.jp)
なんとなく。

359:269
08/01/21 00:33:14
>>333
混乱させていたらごめんなさい、樹形図化とはただの総書き出しのことです。
以下は私のイメージによる、辞書式に総書き出しをした場合の最初と最後の100件ずつ計200行です。

1行は常に25bytesです(Numberの右揃え7桁で7bytes+半角スペース1個で1byte+Combinationの2桁表記数字が6個分と半角カンマ5個分で17bytes)。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

これはn2c処理の材料の一例、B.txt(右揃え無し)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これはB.txtにn2c処理をした後=C.txt(Number部分は右揃え7桁になっている)
URLリンク(kansai2channeler.hp.infoseek.co.jp)

n2c処理出来るものさえ頂戴出来れば僥倖ですが、c2n処理の材料であるA.txtは以下。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
あと、自分でヒントを探した際に理解できなかったのですが(C#だし)考え方のノリとしてはこれです。
URLリンク(www.microsoft.com)

360:デフォルトの名無しさん
08/01/21 00:36:34
【時間切れ】 (1/20)
>303

【未解決問題】
>>86 1/22
>>335 1/22
スレリンク(tech板:229番) 1/31
>79 無期限
>144 無期限 問題文>>148
>278 無期限

361:デフォルトの名無しさん
08/01/21 00:41:37
Cプログラマ必須テキスト!

URLリンク(mori.eco.to)

362:デフォルトの名無しさん
08/01/21 00:44:15
宣伝するなクソが

363:デフォルトの名無しさん
08/01/21 01:06:33
>>355>>358
Thanks!!

364:デフォルトの名無しさん
08/01/21 01:43:30
ここって仕様書のせたらプログラム作ってくれますか?(゚゚)
もしだめなら仕様書のせてプログラム作ってくれるスレ教えてくだされ(ノ_・。)

365:デフォルトの名無しさん
08/01/21 01:46:29
>>364
無償では誰もやらないと思うYO!

366:デフォルトの名無しさん
08/01/21 01:50:05
スレ立てればいいじゃん

367:デフォルトの名無しさん
08/01/21 02:53:00
仕事代行スレ?面白そうだね。
作るならJAVAやC#その他言語もOKなスレにして欲しいな。
【無料】仕事代行ギコ猫商会【無保証】
猫の手を借りたいほど忙しい人が、プログラム好きの猫たちに仕事を依頼するスレです。
猫たちは気紛れなので、依頼を受け無い時もあります。途中で投げ出すかも知れませんし
出来たとしても猫たちの能力はまちまちなので品質は保証できません。
また、倫理や契約に違反する可能性がありますので十分注意してください。

まあ利用できるのは、個人ぐらいだろうな。企業とかでこんな所に仕事を投げたのが
ばれたら大変な事になりそう。

368:デフォルトの名無しさん
08/01/21 03:06:34
>>359
ロト6のできたよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
何に使うのか気になるなw


369:348
08/01/21 03:21:22
スイマセン勘違いしてました
ところで250の
printf("input (e.g. ****/**/**)\n>>");
の意味がわからないのですが・・・

370:デフォルトの名無しさん
08/01/21 03:27:15
>>369
いや、"input (e.g. ****/**/**)\n>>"って表示するだけのことだろ。
****/**/**は年/月/日で入力しろってことでしょ

371:348
08/01/21 03:38:29
>>370
ありがとうございます!
助かりました!

372:デフォルトの名無しさん
08/01/21 04:03:55
>>272
面白そうなので、ちょっとやってみた。
期限過ぎてるし、手元に開発環境がなくてrubyだしで
スレ違いすまん

--
def create(n)
 if n < 2
  return "<>"
 else
  strs= create(n-1)
  result = []
  strs.each do |str|
   result.push "<"+ str +">"
   result.push str +"<>"
  end
  return result
 end
end

create(ARGV.shift.to_i).each { |str| print str, "\n"}
--

373:269
08/01/21 04:10:06
>>368
おお…おお!ありがとうございます!!
たった10文字だけど、他に表現できる言葉を知らないので、もう一度「ありがとうございます」

374:デフォルトの名無しさん
08/01/21 04:13:44
>>372
スクリプト系だと結構楽にかけそうなんだよね。
Cだと、リストと文字列処理が貧弱すぎて泣ける

375:デフォルトの名無しさん
08/01/21 09:39:31
1] 授業単元: プロ基礎
[2] 問題文(含コード&リンク):ある金額を入力し、その金額のお金の種類と数(1万円札〜1円玉)を求めるwhile文を作れ。
[3] c言語
[4] 期限:今
[5] その他の制限:ど基礎。for,while程度


よろしくお願いします。

376:デフォルトの名無しさん
08/01/21 09:43:34
>[4] 期限:今

377:デフォルトの名無しさん
08/01/21 09:44:10
じゃあもう期限切れだな残念

378:375
08/01/21 09:47:12
自動販売機のおつりみたいなものです

379:デフォルトの名無しさん
08/01/21 09:57:51
なぜループさせる必要があるのか、おじさんに分かるように教えてくれ

380:デフォルトの名無しさん
08/01/21 10:03:26
>>364
そんなスレあったら俺が依頼したいww

381:デフォルトの名無しさん
08/01/21 10:17:45
#include <stdio.h>
int main(void) {
int N=147568,a=10000;
while(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=2;
if(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=5;
}
}
return 0;
}

382:デフォルトの名無しさん
08/01/21 10:22:53
[1] 授業単元: 基礎プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今日の24時まで
[5] その他の制限:
長いプログラムになっても構わないので、
if文やfor文などの初歩的な関数を使いまくる感じでお願いします

383:382
08/01/21 10:24:37
すみません、最後の構造体のは氏名はローマ字表記でも大丈夫です

384:デフォルトの名無しさん
08/01/21 10:27:15
>>381
なるほど、そういう風にwhileを使うのか・・・全然思いつかなかった・・・・・orz

385:デフォルトの名無しさん
08/01/21 12:05:48
>>382
#include <stdio.h>

struct student {
char name[32];
int ID;
int score;
};

int main(void) {
int i,j,x;
char buf[32];
struct student s[5];

for(i=0;i<5;i++) {
printf("氏名:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%s",&s[i].name);
printf("ID:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].ID);
printf("点数:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].score);
}
printf("何点以上?:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&x);
for(i=0;i<5;i++) if(s[i].score>=x) printf("%s ID:%d %d点\n",s[i].name,s[i].ID,s[i].score);
return 0;
}

386:デフォルトの名無しさん
08/01/21 12:28:44
>>86
URLリンク(kansai2channeler.hp.infoseek.co.jp)


387:デフォルトの名無しさん
08/01/21 12:57:00
>>382の1
URLリンク(kansai2channeler.hp.infoseek.co.jp)

388:デフォルトの名無しさん
08/01/21 13:13:09
>>387の修正版
#include<stdio.h>
long get_power(long base, int expt);
int main(int argc, char *argv[]){
int base, expt;
long power_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
base = atoi(argv[1]);
expt = atoi(argv[2]);
if(expt < 0){
fprintf(stderr, "input error\n");
return 1;
}
power_out = get_power(base, expt);
printf("%d^%d = %ld\n", base, expt, power_out);
return 0;
}
long get_power(long base, int expt){
if(expt == 0) return 1;
if(expt % 2 == 0){
expt /= 2;
base *= base;
return get_power(base, expt);
}else{
expt -= 1;
return base * get_power(base, expt);
}
}

389:デフォルトの名無しさん
08/01/21 13:27:02
>>382の2
#include<stdio.h>
int get_gcd(int num1, int num2);
int main(int argc, char *argv[]){
int num1, num2;
int gcd_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
num1 = atoi(argv[1]);
num2 = atoi(argv[2]);
if(num2 < 0){
fprintf(stderr, "input error\n");
return 1;
}
gcd_out = get_gcd(num1, num2);
printf("GCD(%d,%d) = %d\n", num1, num2, gcd_out);
return 0;
}
int get_gcd(int num1, int num2){
if(num1 == num2) return num1;
if(num1 > num2){
return get_gcd(num1-num2, num2);
}else{
return get_gcd(num1, num2-num1);
}
}

390:デフォルトの名無しさん
08/01/21 15:27:31
【質問テンプレ】
[1] 授業単元:プログラミングC++
[2] 問題文(含コード&リンク):
以下のデータを空白を区切りとしてキーボードから入力して
配列に読み込み、英語のアルファベット順に並び替えよ。
ただし、文字列の大きさの比較にはstrcmp関数を
文字列の入れ替えにはstrcpy関数を利用しなさい。

日本語   英語   味わい月
鯖    mackerel 10
新巻鮭  salmon 12
岩魚 charr 7
牡蛎   oyster 2
帆立貝 scallop   1

正答動作画像
URLリンク(www-2ch.net:8080)


[3] 環境
 [3.1] OS: WindowsXP 
[3.2] Microsoft Visual C++
 [3.3] C++
[4] 期限: 2008年1月23日18:00まで
[5] その他の制限:strcmpとstrcpyを利用したソートをさせるのが問題の主眼かなと思います。

よろしくお願いします。

391:デフォルトの名無しさん
08/01/21 17:06:20
[2] 問題文:最長文字列の検出
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] gcc 3.4
 [3.3] 言語:C

カンマで区切った単語を入力してその中で一番長い文字列を表示させる。

単語を入力してください:1,10,10,1000
最長文字列は1000です。

strtokでカンマごとに切断することは出来たのですがそこからどうすればいいか分かりません。
よろしくお願いします。

392:デフォルトの名無しさん
08/01/21 17:10:23
strtok()で区切った文字列を配列に突っ込んでstrlen()で長さを数えればいい

393:デフォルトの名無しさん
08/01/21 17:53:14
すいません、よく分からないです・・・無知ですいません。

394:デフォルトの名無しさん
08/01/21 18:36:29
>>391
#include <stdio.h>
#include <string.h>
int main()
{
int i = 0, max = -1, max_i = -1;
char buf[200], *p, *tmp[100];

printf("単語を入力してください:");
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%s", buf);
for (p = strtok(buf, ","); p != NULL; i++)
{
int len = strlen(p);
if (max < len)
{
max = len;
max_i = i;
}
tmp[i] = p;
p = strtok(NULL, ",");
}
printf("最長文字列は%s", tmp[max_i]);

return 0;
}

395:デフォルトの名無しさん
08/01/21 19:24:02
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008/01/27 23:59
[5] できれば配列とforメインでおねがいします

396:デフォルトの名無しさん
08/01/21 19:45:45
#include <stdio.h>

int main () {

int y, m, d, sum = 0;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char *week[7] = {"日", "月", "火", "水", "木", "金", "土"};
printf("input (e.g. ****/**/**)\n>>");

スイマセン、このinputとe.gの意味がわかりません

397:デフォルトの名無しさん
08/01/21 19:49:15
おめーはぷりんとfもわかんねーのかよ

398:デフォルトの名無しさん
08/01/21 19:59:56
inputは、えいごでにゅうりょくっていみだよ
e.gは、らてんごでたとえばっていみだよ

399:デフォルトの名無しさん
08/01/21 21:14:09
[1] 授業単元:基礎プログラミング
[2] 問題文(含コード&リンク):オンラインゲームを作成せよ。
ラグナロクオンラインやリネージュのようなオンラインゲームを
作成してみよう。データを送信するのに必要なライブラリ等は各自
調べておくこと。またDirectXを使用すること。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio2005
 [3.3] 言語: C++
[4] 期限: 2008/2/1 23:59
[5] できれば3DのデータをMAXやMAYA、Shade等で作成する。


400:デフォルトの名無しさん
08/01/21 21:16:06
>[1] 授業単元:基礎プログラミング

401:デフォルトの名無しさん
08/01/21 21:30:47
>>399 なんとか完成したぞよ

#include <stdio.h>

int main(void)
{
char input[100];

printf("******ログイン画面******\n");
printf("UserID:");
scanf("%s",input);
printf("Password:");
scanf("%s",input);
printf("@@@@ログイン完了@@@@\n\n");

//roop for ever
while(1){
printf("チャット発言:");
scanf("%s",input);
printf("\n ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("( ´∀`)< %s\n",input);
printf("(   ) \______________\n");
printf(" | | |\n");
printf("(__)_)\n\n");
}

return 0;
}


402:デフォルトの名無しさん
08/01/21 21:39:40
>>399 ごめ、C++だったか!
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string input;

cout<<"******ログイン画面******"<<endl;
cout<<"UserID:";
cin>>input;
cout<<"Password:";
cin>>input;
cout<<"@@@@ログイン完了@@@@\n"<<endl;

//roop for ever
while(1){
cout<<"チャット発言:";
cin>>input;
cout<<endl;
cout<<" ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"<<endl;
cout<<"( ´∀`)< "<<input<<endl;
cout<<"(   ) \______________"<<endl;
cout<<" | | |"<<endl;
cout<<"(__)_)\n"<<endl;
}

return 0;
}


403:デフォルトの名無しさん
08/01/21 21:43:02
俺が見る限り >>400 と >>401 は間違ってるな
これが正解だw

#include <iostream>
#include <string>

int main(void)
{
std::string input;

while(true){
std::cout<<"******ログイン画面******"<<std::endl;
std::cout<<"UserID:";
std::cin>>input;
std::cout<<"Password:";
std::cin>>input;
std::cout<<"IDまたはパスワードが違います\n"<<std::endl;
}

return 0;
}


404:デフォルトの名無しさん
08/01/21 22:26:06
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):()
自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。
ただし,下記の条件を満たすこと。
<条件>
自動販売機で購入できる「商品」,「お金」,「自動販売機」は最低限クラス化すること。
「カプセル化」,「継承」,「多様性」を全て利用すること。
例外処理をすること(プログラムが頓挫した時点でNGとします)。
入出力は,下記のとおり行うこと。

【入力】
・お金(10円〜1000円)の個数(枚数)   
・購入商品選択(複数可)    
【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)


実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy( )メンバ関数を呼び出したら全てが動作するようにする。

※条件以外に動的メモリ,ファイル入出力などを用いて自動販売機の機能が拡張されるほど良い。ただし,明らかに無駄なコードを追加して機能を増やしている場合はその限りではありません。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C++
[4] 期限: 2008/1/25まで
[5] その他の制限: 特に無し。
よろしくお願いします。

405:デフォルトの名無しさん
08/01/21 22:28:22
【時間切れ】 (1/21)
なし

【未解決問題】
>>335 1/22

>>390 1/23 18:00
>>404 1/25
>>395 1/27 23:59
スレリンク(tech板:229番) 1/31
>>399 2/1 23:59
>79 無期限
>144 無期限 問題文>>148


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4964日前に更新/357 KB
担当:undef