トップページ⇒tech
1001コメント395KB

ぼるじょあがC/C++の宿題を片づけますYO! 67代目

■ このスレッドは過去ログ倉庫に格納されています
0001ぼるじょあ ◆yBEncckFOU 2006/12/10(日) 11:33:41
(・3・)エェー ぼるじょあですYO!
         わからない宿題を片づけますYO!

あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

【前スレ】
ぼるじょあがC/C++の宿題を片づけますYO! 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0233ぼるじょあ ◆hZ8e4Wjqvw 2006/12/25(月) 16:00:20
>>232
(・3・) エェー ソースうpしろYO!
0234デフォルトの名無しさん2006/12/25(月) 17:22:06
Cの問題が2つあるので、よろしくお願いします。

(1)文字列のリストをファイルから文字列の2次元配列に読み込み、
キーボードから読み込んだ文字列を逐次探索するプログラムを作成する。

(2)2次元の配列とポインタの配列を使って文字列のソートを行う
プログラムを作成する。ただしデータはファイルから入力し結果は
ファイルに出力するものとする。またアルゴリズムは単純選択法を
使うこと。2次元配列に読み込んだ文字列は移動せず、ポインタを
付け替えることによりソートを行うこと。



0235デフォルトの名無しさん2006/12/25(月) 17:39:11
>>234
>>1
0236ぼるじょあ ◆hZ8e4Wjqvw 2006/12/26(火) 00:42:28
>>234
(・3・) エェー Cで二次元配列にするなら最大単語長と最大単語数が必要だYO!
0237デフォルトの名無しさん2006/12/26(火) 00:53:52
strchrに関して http://www9.plala.or.jp/sgwr-t/lib/strchr.html の例のように
strchrを使って、検索単語以降の文字列の出し方は分かったけど、
「その特定の文字以前の文字列」の出し方はどうすればよくて?
0238デフォルトの名無しさん2006/12/26(火) 01:35:25
strchrを使いたいなら
l = strchr(a,c)-a;
for(i=0; i<=l; i++) putchar(a[i]);

使わないなら
for(i=0;;i++) {
putchar(a[i]);
if(a[i]==c) break;
}
0239デフォルトの名無しさん2006/12/26(火) 07:56:13
>>237
char * str = "abcdefg";
char * p = strchr(str, 'd');
printf("%.*s", p - str, str);
0240デフォルトの名無しさん2006/12/26(火) 08:26:38
>239
それだとdが表示されなくね?
0241デフォルトの名無しさん2006/12/26(火) 08:51:50
>>240
特定文字も出すのかな。
それならp - strをp - str + 1に。
0242homoじょあ ◆5OLf4yFnuM 2006/12/26(火) 20:59:18
>>187
(・3・) エェー 来年になってもいいなら・・・
0243デフォルトの名無しさん2006/12/26(火) 21:00:18
>>240
>>241
>「その特定の文字以前の文字列」
>>239のままでいいんでないかい?
0244ぼるじょあ ◆hZ8e4Wjqvw 2006/12/27(水) 22:57:55
>>234
(・3・) エェー 条件の確認くらいして、>>1のテンプレに沿ってくれYO!
          とりあえず、適当に作ってみたYO!
(1) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3287.c
(2) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3288.c
0245デフォルトの名無しさん2006/12/28(木) 09:33:53
[1] 授業単元:プログラミング言語初級
[2] 問題文(含コード&リンク):半角文字10文字を打って(数字含む)10文字なら真、
10文字以外なら偽と出力するプログラムを作成せよ
[3] 環境
 [3.1] Windows
 [3.3] 言語:C
0246ぼるじょあ ◆hZ8e4Wjqvw 2006/12/28(木) 09:41:57
(・3・) エェー こんなのでいいのかお?

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

int main(void)
{
 char buf[100]="";

 printf("文字列を入力して下さい:");
 fgets(buf, sizeof(buf), stdin);
 if(buf[strlen(buf)-1]=='\n')
  buf[strlen(buf)-1]='\0';

 if(strlen(buf)==10)
  printf("真\n");
 else
  printf("偽\n");

 return 0;
}
02472452006/12/28(木) 10:34:14
ありがとうございます。助かりました
0248デフォルトの名無しさん2006/12/28(木) 13:07:43
すいません。初めての書き込みです。プログラム初心者、というか何も勉強していないのですが、
このような問題を解決しなければならなくなってしまいました。どうか教えてください。課題を教えてくださるスレッド(?)が書き込みできなくなっていたので、
こちらに書き込ませていただきました。
【質問テンプレ】
[1] 授業単元:基礎情報処理
[2] 問題文:縦100横100のマス目(点)に分けられた紙の各点が、白と黒に塗り分けられたものを考える。この中に、下にある様な黒い点で囲まれた図形が1つだけある。図形は必ず、黒い点で囲まれており、
内部は白い点で埋め尽くされている。この「囲まれている」とは、各黒い点の上下左右および8つの点のどれかが黒い点となっているものと考えよう。
□□□□□□□□□□
□□■■■■■■□□
□■□□□□■□□□
□□■□□□□■□□
□□■□□□□■□□
□□■■■■■■□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
□□□□□□□□□□
この図形は整数値の2次元配列(例えばC言語ならa[y,x])で表されている。x軸は左から右、y軸は上からしたとするので、a[1,1]は一番左上の点になる。この配列はプログラムに入る前に何らかの方法で、白い点は0、黒い点は1になっているものとする。
さて、図形の面積、つまり黒い点で囲まれた内部の「白い点」の数を数えるプログラムを考えよう。ただし図形は必ず紙の上に1つだけ存在し、また必ず紙の端から点1つ以上ずつ少し離れた位置にあるとする(つまり黒い点は紙の上下左右の端には存在しない)。
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン: すみません、よくわかりません
 [3.3] 言語: なんでもかまいません。
[4] 期限: 2007年1月5日0時まで
[5] その他の制限:まだ何も習っていません。具体的に回答を提示してくれると助かります。
0249デフォルトの名無しさん2006/12/28(木) 13:18:39
http://pc8.2ch.net/test/read.cgi/tech/1159692799/799
http://pc8.2ch.net/test/read.cgi/tech/1167036858/61
マルチ
0250ぼるじょあ ◆hZ8e4Wjqvw 2006/12/28(木) 14:00:12
>>248
(・3・) エェー マルチポストは、「てめぇなんかあてにならない」って意思表示だYO!
          一応解いたけどパスワード付けといた、パスは気が向いたら書きこむかもNE!
          http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3292.zip
0251デフォルトの名無しさん2006/12/28(木) 14:06:58
>249、250

すみません。
どこに書くのが一番適正なのかよくわからなくて・
ここのような宿題を教えてくださるスレッド(?)も多くて、
最初に見つけたのがこちらでしたので・・すみません。
0252デフォルトの名無しさん2006/12/28(木) 14:12:08
1月6日にパス公開とか
0253デフォルトの名無しさん2006/12/28(木) 14:42:07
ここからは>>250のパスを解析するスレになりました
0254ぼるじょあ ◆hZ8e4Wjqvw 2006/12/28(木) 14:46:11
(・3・) エェー パス解析する暇があるなら自分で問題解けYO!
0255デフォルトの名無しさん2006/12/28(木) 14:52:33
すみません。

質問者と253は別人です。

このスレッドのルールというかモラルを違反したことはとても反省しています。
ですから気が向いていただけないでしょうか・・
0256デフォルトの名無しさん2006/12/28(木) 14:59:00
つまらん事かもしれんけど
printf("%p %p", a, &a);
の違いが分からん
0257デフォルトの名無しさん2006/12/28(木) 15:01:08
つまらん事かもしれんけど
>256が何と何の違いが判らんのか
分からん
0258デフォルトの名無しさん2006/12/28(木) 15:03:12
ちょっとエスパー駆使すると
int a[10];
みたいに a が配列の時の話だろ?
0259デフォルトの名無しさん2006/12/28(木) 15:03:27
パス解析・・・時間がかかるだけで努力は必要ない。
自分で問題を解く・・・時間がかかる上に努力が必要。
よって>>254の指摘は的を得ていない。
0260デフォルトの名無しさん2006/12/28(木) 15:06:48
的をgetしても困るな。
0261デフォルトの名無しさん2006/12/28(木) 15:09:30
>>258 そう
0262デフォルトの名無しさん2006/12/28(木) 15:24:15
>>261
(void *)NULL と (void **)NULL の違いみたいに
値は一緒で意味が違う。
うまく説明できない orz
0263デフォルトの名無しさん2006/12/28(木) 15:57:00
>>248
#include <iostream> #include <cstring> #include <cstdlib> #include <ctime>
using namespace std;const unsigned int N = 100;void get_randam(int block[N][N]);
void paint(int block[N][N], int x, int y);void make_ans(int block[N][N]);int main(){
int block[N][N], *p, i = 1;srand(static_cast<unsigned int>(time(NULL)));get_randam(block);
for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++){ switch(*p){case 0: cout << " □"; break;
case 1: cout << " ■"; break; case 2: cout << " *"; break; default:cout << " E"; break; }if(i % N == 0) cout << '\n';
} cout << '\n';make_ans(block);for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++){
switch(*p){case 0: cout << " *"; break; case 1: cout << " ■"; break; case 2: cout << " □"; break;
default:cout << " E"; break; }if(i % N == 0) cout << '\n'; }unsigned j = 0;for(p = &block[0][0]; p <= &block[N-1][N-1]; p++, i++)
if(*p == 0) j++;printf("面積 %d \n",j);return 0;}
void get_randam(int block[N][N]){ int *p;for(p = &block[0][0]; p <= &block[N-1][N-1]; p++)
*p = rand() % 2; } void paint(int block[N][N], int x, int y){ if( x<0 || y<0 || x>=N || y>=N || block[y][x] != 0) return;
block[y][x] = 2; paint(block, x+1, y);paint(block, x-1, y);paint(block, x, y+1);paint(block, x, y-1); }
void make_ans(int block[N][N]){ int i; for(i = 0; i < N; i++){ paint(block, 0,i);paint(block, N-1,i);
paint(block, i,0);paint(block, i,N-1); } }
これをC言語に直して(それくらいは出来るだろ)。あと図形なんかいちいち作ってられんから
ランダムにした。あとコンソール出力さしてるけど、必要ないなら消して。
0264デフォルトの名無しさん2006/12/28(木) 19:22:48
>>254
これだけ短かったらPikaZipとかでランダムに当たっても
すぐ解けると思うなぁ
0265デフォルトの名無しさん2006/12/28(木) 20:13:03
>>264
ツール名は出さずに、総当たりプログラムを組んでうpしてあげるのが粋なやり方








パス付でうpな
0266ぼるじょあ ◆hZ8e4Wjqvw 2006/12/28(木) 22:56:56
>>255
(・3・) エェー 立派なソースコードじゃないし、書こうと思ってももいらには無理だお
          こんなものにパス解析の手間をかけるくらいなら自分でやれってことだったんだYO!
          このネタで引っ張られるのも面白くないし、お客さんがいてこそだからパス公開。
          (・3・)
          ぼるじょあの顔文字だYO! (文字コードはSJISで全角5文字10byte)
          むきになって正直すまんかった m(__)m
0267デフォルトの名無しさん2006/12/28(木) 23:38:23
anyway, sorry and thank you.
0268デフォルトの名無しさん2006/12/29(金) 00:51:05
全角パスは最強だと俺は思うんだ
とりあえず、中国語とかぶっこんどけばまず解けないだろう
0269デフォルトの名無しさん2006/12/29(金) 01:46:37
686 名前:ぼるじょあ ◆yBEncckFOU [sage] 投稿日:2006/12/21(木) 21:30:41
(・3・) エェー 大沢あかねたんととアナ○セックスしたいなあ・・・切実だお
          最低で250万までなら余裕で出せるお
          肛○のなかに発射してしばらく挿入したままで余韻を味わって
          最後に中に放尿して引き抜いたそれをあかねたんの口できれいに
          掃除して貰いたいお・・・はあ・・・。
0270デフォルトの名無しさん2006/12/29(金) 02:24:12
それはどうでも良いんだが、K&Rマンセーレスが気になる。
ぼるじょあってK&R信者なの?
0271デフォルトの名無しさん2006/12/29(金) 02:51:54
>248
言語: なんでもかまいません
てwwwwww
これじゃできてもできなくても同じじゃね?w
0272ぼるじょあ ◆H6wikgcXIU 2006/12/29(金) 08:45:11
(・3・) エェー え? 使用言語を問わない課題はぼくも経験したYO
          もしかして>>248さんと同じ大学か先生だったりしてYO
0273ぼるじょあ ◆yBEncckFOU 2006/12/29(金) 08:58:48
>>272
(・3・)つ[ぼるじょあ#ぶるじょあ]
0274ぼるじょあ ◆hZ8e4Wjqvw 2006/12/29(金) 09:55:25
>>160
(・3・) エェー 期限過ぎちゃったかNA?

とりあえず質問だYO!
1.x-y 平面だけで考えればいいの?
2.障害の数は?
3.障害の向きはすべて y軸 と同じ?
4.風速は場所にかかわらず一定?
5.風の向きは x軸 方向のみ?
6.的の座標は?
02752342006/12/29(金) 13:40:22
>>244
ありがとうございます。
0276デフォルトの名無しさん2006/12/29(金) 19:44:34
>271,272

なんかプログラムぜんぜん教えてもらってないのに、
いきなり書けとか言われたんすよw

教養課程の授業なんでみなさんみたいに技術者になるとこじゃないんです。

大学は熱狂的な政治活動をして、しばしば批判を浴びる、
関西のあの大学です。
0277デフォルトの名無しさん2006/12/29(金) 20:16:17
外周は必ず白なので、外側を黒で塗りつぶし、そのあと残った白を数える。
0278ぼるじょあ ◆hZ8e4Wjqvw 2006/12/29(金) 22:15:16
>>275
(・3・) エェー 問題文よく読んでなくてごめんYO! ファイルに出力するようにしたYO!
(2) http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3293.c
0279ぼるじょあ ◆hZ8e4Wjqvw 2007/01/10(水) 03:04:06
(・3・) エェー スレ止まっちゃったけど、もいらがCの宿題のみ頑張って解くYO!
          ダメっぽいときはすぐにギブアップするけどNE!
0280デフォルトの名無しさん2007/01/10(水) 03:10:01
だが今日はもう眠いので寝る。
0281デフォルトの名無しさん2007/01/10(水) 15:58:57
10日経って新年初カキコですかww
0282ぼるじょあ ◆yBEncckFOU 2007/01/11(木) 23:50:16
(・3・) あるぇー やっぱりもいらがこないと盛り上がらないな
           それとも冬休み中で課題がないから盛り上がってないだけかお?
0283デフォルトの名無しさん2007/01/11(木) 23:57:51
ろくに宿題も片付けられないぼるじょあなんて、邪魔以外の何者でもない。
0284ぼるじょあ ◆yBEncckFOU 2007/01/12(金) 00:09:14
(・3・) エェー どこぞのC言語なら俺に聞けのおばかさん回答者の皆様方よりはましだとおもうお




          w
02851752007/01/13(土) 18:25:10
>>229
ぼるじょあ様、お返事が遅くなり申し訳ありません。
 以下に指摘されているとおりの出力結果を求めたいのです。
 書き込みしてから反応もなかったので諦めていましたが、反応していただけて
 いたみたいで嬉しいです。今更ですが、お願いできますか?


229 :ぼるじょあ ◆hZ8e4Wjqvw :2006/12/24(日) 09:32:05
>>175
(・3・) エェー 問題文の意味がいまいち分からないYO!
          実行例を書いて欲しいYO!

関数呼出
hoge("a,b, cdefg hij", ",");

出力
ab cdefg hij

でいいのかNA?
0286デフォルトの名無しさん2007/01/13(土) 19:38:40
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク): テキストファイルを読み込み、文字列を配列に代入せよ
[3] 環境
 [3.1] OS:Windowsxp
 [3.2] コンパイラ名とバージョン:.NET ver1.1
 [3.3] 言語: C
[4] 期限: 2007年1月14日
[5] その他の制限:ファイルポインタ程度まで習っていますよろしく願いします
0287デフォルトの名無しさん2007/01/13(土) 19:46:33
↑
すみません。出力も追加してください
0288ぼるじょあ ◆hZ8e4Wjqvw 2007/01/14(日) 00:00:46
>>285
(・3・) エェー 無理矢理 strchr memset memcpy を使うのは難しいYO!
          実をいうと ◆hZ8e4Wjqvw はC++は分からないんだYO! ごめんNE!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void hoge(const char *src, int remove_char){
 char *dest_top, *dest, *remove_char_addr;
 int copy_length;

 dest_top=dest=strdup(src);
 memset(dest_top, '\0', strlen(src));
 while(1){
  remove_char_addr=strchr(src, remove_char);
  if(remove_char_addr==NULL)
   break;
  copy_length=remove_char_addr-src;
  memcpy(dest, src, copy_length);
  src+=copy_length+1;
  dest+=copy_length;
 }
 strcpy(dest, src);
 printf("%s", dest_top);
 free(dest_top);
}

int main(void){
 hoge("a,b, cdefg ,,,hij", ',');
 return 0;
}
0289ぼるじょあ ◆hZ8e4Wjqvw 2007/01/14(日) 00:17:36
>>286
(・3・) エェー とりあえず単語一つ分だけ配列に代入して、出力するYO!
          多分やりたいこととは違うと思うけどNE!

#include<stdio.h>

int main(void)
{
 char *filename="テキストファイル";
 char word[1024];
 FILE *fp;

 fp=fopen(filename, "r");
 if(fp==NULL)
 {
  fprintf(stderr, "\nError: %s file cannot open.\n", filename);
  return 1;
 }
 fscanf(fp, "%1023s", word);
 printf("%s\n", word);
 fclose(fp);

 return 0;
}
0290デフォルトの名無しさん2007/01/14(日) 00:25:33
[1] 授業単元: 情報論
[2] 問題文(含コード&リンク):
優先的選択モデルによるSFN(Scale Free Network)の生成
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3373.txt
↑の/* 自分で書いてください*/の部分の穴埋め
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: bcc32
 [3.3] 言語: C++
[4] 期限: 1/15
[5] その他の制限:
使用する方法:ソート、再帰的アルゴリズム、線形リスト、動的なメモリの確保

他スレでも質問したのですが、誰も答えていただけないので、
ぼるじょあ様、宜しくお願いいたします。
0291デフォルトの名無しさん2007/01/15(月) 22:45:59
[1] 授業単元:Cプログラミング演習
[2] 問題文:学籍番号(5桁の英数文字列)、英、数、国の得点(各100点満点)を
      次々に読み込んで、各人の総得点を計算の上、�@読み込んだ順に
      各人のデータを、�A各人の平均と標準偏差を次の形に出力する
      cプログラムを作成せよ。

      但し、プログラム作成においては
      ・学生の人数は100人以下で不定とする。(100人以下なら何人でも、
       プログラムを修正せずにうまく対処しなければならない)
      ・学生一人のデータは構造体としてまとめて、それにStudentという
       データ型名をつけること。
      ・Student型を要素とする配列を用意してプログラムを組むこと。 
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: Cのみ
[4] 期限: 2007年1月10日12:00まで
その他:得点データはファイルから読み込みます。./a.out<ファイル名 といった風に
 
0292デフォルトの名無しさん2007/01/15(月) 22:47:15
以下のような形で出力してください
Id-No Eng Math Jap Total
----- --- ---- --- -----
G0342 44 65 51 160
G0343 83 100 84 267
G0344 58 30 57 145
.
.
.
G3621 85 80 90 255
G3622 74 100 65 239
------------------------------
Ave 72.5 75.8 68.1 216.4
Dev 15.3 19.6 12.4 33.3
0293デフォルトの名無しさん2007/01/15(月) 22:48:15
>>292
何を。
0294デフォルトの名無しさん2007/01/15(月) 23:30:31
>>291-292セットです
0295デフォルトの名無しさん2007/01/15(月) 23:42:59
>>291
期限切れ?
0296デフォルトの名無しさん2007/01/15(月) 23:47:39
いえ、まだ大丈夫です。すみません。
0297ぼるじょあ ◆hZ8e4Wjqvw 2007/01/16(火) 05:49:56
>>291
(・3・) エェー 入力されるファイルのフォーマットが不明だったから適当だYO!
          http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3410.c
0298デフォルトの名無しさん2007/01/16(火) 16:11:26
[1] 授業単元:情報
[2] 問題文(含コード&リンク):
・25個の値をrand関数(乱数)によって発生させ、一旦5×5の2次元配列に格納する(値は1から100の範囲)
・入力された値が配列内に存在するか探索する。
*存在する場合その値が格納されている配列の添え字を表示すること
*存在しない場合は、その旨を表示する
・値の一覧もあわせて表示し、これらの結果をすべてファイルに出力する。
・レポートの実行結果には、出力したテキストファイルの内容も記載すること。
・必ず自作関数を使ったプログラムにすること
・繰り返しは何度でも探索できるようにする。その際、必ず終了する場合の入力値を示せ。

[3] 環境
 [3.1] OS: (Windows等々)
 [3.2] コンパイラ名とバージョン: ( VC ++6.0)
 [3.3] 言語: C++
[4] 期限: ([2007年1月16日23:30まで]
[5] その他の制限: C言語の初歩は習いました。


もしできるかたがいましたら、お願いします
0299デフォルトの名無しさん2007/01/16(火) 19:36:42
授業単元: C言語
[2] 問題文(含コード&リンク):"in_file"という名前のファイルの中に多数の整数データが空白や
              改行コードで区切られて並んでいることを仮定した上で、このファイルの中のデータを
              1行に5個ずつきれいに並べて"out_file"という名前のファイルに出力するcプログラムを作成せよ。
               
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限:1月29日


例えば、入力ファイル"in_file"の内容が
        11111111 3333333 44444 32 35 34 24 53 242
254 35 532 5235 3452 3545 34
63 54
の時には、このプログラムは次のような出力ファイル"out_file"に書き出す。
11111111 33333333 44444 32 35
34 24 53 242 254
35 532 5235 3452 3545
34 63 54
03002992007/01/16(火) 19:37:38
出力の形は、一の位がそろっていて、一行に五個ずつ並んでいるように
見てください。書き方が下手でスミマセン
0301 ◆3NOHgX5ZKI 2007/01/16(火) 19:57:01
問題は:toupperを使って単語の最初の文字だけ大文字にするという問題です。
toupper use good programu これを大文字にする問題です
      ↓
Toupper Use Good Programu にしたいんですが、、、わかりますでしょうか?

よろしくお願いします<(_"_)>
0302デフォルトの名無しさん2007/01/16(火) 22:30:52
void lineupper(char *ss)
{
char *p = ss;

while(*p!='\0'){
//空白を読み飛ばす
while(*p==' '&&*p!='\0'))p++;

*p = toupper(*p);

while(*p!=' '&&*p!='\0'))p++;

if(*p == '\0')break;
}

}
0303デフォルトの名無しさん2007/01/16(火) 22:31:29
aa
0304デフォルトの名無しさん2007/01/16(火) 23:17:18
>302
何の冗談?
0305ぼるじょあ ◆hZ8e4Wjqvw 2007/01/16(火) 23:55:58
>>301
(・3・) エェー >>1 の質問テンプレを活用してくれYO!
#include<stdio.h>
#include<ctype.h>

void word_top_upper(char *str){
 int is_word_top=1;

 for(;*str;str++){
  if(is_word_top) *str=toupper(*str);
  if(isspace(*str)) is_word_top=1;
  else is_word_top=0;
 }
}

int main(void){
 char buf[]="toupper use good programu";

 printf("%s\n", buf);
 word_top_upper(buf);
 printf("%s\n", buf);

 return 0;
}
0306デフォルトの名無しさん2007/01/17(水) 00:04:01
ぼるじょあさんこんにちわ
0307ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 00:10:06
>>306
(・3・) エェー、こんばんはだYo。 デフォルトの名無しさん
0308デフォルトの名無しさん2007/01/17(水) 00:55:14
ぼるじょあさんのお仕事はなんなの??
0309デフォルトの名無しさん2007/01/17(水) 00:56:19
ちなみに>>306 >>308 >>309は同じ人です 遅くなってスミマセン、ぼるじょあさん
03103092007/01/17(水) 00:59:05
ぼるじょあさんいつもご苦労様です
もしかしてぼるじょあさんって一人じゃなかったりするんですか??複数いたり!?
0311ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 17:33:32
>>291
(・3・) エェー >>297 間違ってたYO!

double x_sum[SUBJECT_TOTAL], x2_sum[SUBJECT_TOTAL];
double ave[SUBJECT_TOTAL], dev[SUBJECT_TOTAL];
↓
double x_sum[SUBJECT_NUM], x2_sum[SUBJECT_NUM];
double ave[SUBJECT_NUM], dev[SUBJECT_NUM];
0312ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 18:21:20
>>310
(・3・) アルェー ぼるじょあはほるじょあだYo
ぼるじょあの中に色んなペルソナが居るけど、
みんなぼるじょあだYo
だけど>>311は偽ぼるじょあだYo
0313デフォルトの名無しさん2007/01/17(水) 19:11:34
#include <iostream>
using namespace std;

int main(void)
{
unsigned char x,y;

cout << "2つの値を入力してください。\n";

cin >> x >> y;

x -= '0';
y -= '0';

int a = x + y;
int b = x * y;

printf("x = %d, y = %d, x + y = %d, x * y = %d",x,y,a,b);

return 0;
}

これで出力したら10以上の数値が出ないんですが、
どうしたら出るようになるか教えてください。
0314デフォルトの名無しさん2007/01/17(水) 19:30:44
>>313
まぁ…がんばれ
0315デフォルトの名無しさん2007/01/17(水) 19:33:38
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
入力したグレースケール(白黒)画像[256×256画素、8ビット256階調]を
8枚のビットプレーンに分解し、それぞれのプレーンを出力するプログ
ラムを作成せよ。
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: (gcc )
 [3.3] 言語: (C)
[4] 期限:1/18 9:00
[5] その他の制限:
   入力ファイルはnotファイルです。出力はnotファイル8枚作れればいいです。

0316ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 19:38:34
>>315
(・3・) エェー notファイルのフォーマットについて解説してくれYO!
          解説しているサイトの URL でもいいYO!
03173152007/01/17(水) 19:58:38
>>316

自分も今回初めてnotファイルの存在を知ったので正直詳しくないですが、
256×256画素、8ビット256階調の場合、256×256個の画素値が書かれた
ファイルです。画像として再現させる場合はSusieというプログラムを通
して画像を出します。
とこんな感じしか分からないです。すみません
0318ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 20:02:26
>>315
(・3・) エェー ファイルサイズは 256*256=65536 byte でいいのかNA?
03193152007/01/17(水) 20:09:49
はい、そうです。
0320ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 20:20:36
>>315
(・3・) エェー こんなもんかNA?
          http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3432.c
0321ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 20:23:55
>>317
 _, ,_
(・3・) エェー 「分からない」じゃなくて先生が考えた独自フォーマットだろ?
          notファイルって何だよw
          で、ビットプレーンは1画素当たり1バイト(つまり256x256x1バイトのビットプレーンが
          8枚)で出力すればいいのかお?
          たとえば入力画像の1画素の値が0xAFだった場合、
             ビットプレーン0  0x80
             ビットプレーン1  0x00
             ビットプレーン2  0x20
             ビットプレーン3  0x00
             ビットプレーン4  0x08
             ビットプレーン5  0x04
             ビットプレーン6  0x02
             ビットプレーン7  0x01
          のようにバイナリで記録していけばいいのかお?ということだお

          それとも詰めて(つまり256x256/8バイトのビットプレーンが8枚)出力すれば
          いいのかお?
0322ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 20:27:31
(・3・) あるぇー >>320すごいお
           ビットプレーンは256x256x1バイトだったんだね
0323デフォルトの名無しさん2007/01/17(水) 20:32:47
ぼるじょあさん、いつもありがとう
最近偽者が多いみたいですね。残念です。
0324ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 20:34:11
>>315
(・3・) アルェー 出力フォーマットは 256×256画素、1ビット2階調なのかお?
0325ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 20:50:29
>>324
(・3・) エェー ビットプレーンってそういうものなんじゃないのかお?
0326デフォルトの名無しさん2007/01/17(水) 20:54:30
??ぼるじょあさんやっぱりふたりいるよー??
03273152007/01/17(水) 20:55:12
>>320
ぼるじょあさん、ありがとうございます。
ずっと悩んでた問題なのにこんなにあっさりできちゃうなんてびっくりです。

>>324
はい、2階調のが8個できればそれぞれのビットプレーンから256階調の画像に
戻すこともできるので大丈夫です。
0328ぼるじょあ ◆yBEncckFOU 2007/01/17(水) 20:56:32
(;3;) あるぇー もいらは無視かお・・・悲しいから今日は落ちるお
03293152007/01/17(水) 21:00:29
>>328
すみません、そんなつもりじゃなかったんですけど・・・

とにかく皆さんのおかげで助かりました。ありがとうございます。
03303152007/01/17(水) 21:02:48
>>328
すみません、そんなつもりじゃなかったんですけど・・・

とにかく皆さんのおかげで助かりました。ありがとうございます。
0331ぼるじょあ ◆hZ8e4Wjqvw 2007/01/17(水) 21:21:45
>>315
(・3・) エェー 本物のぼるじょあの方が正解だったYO!
          notファイルのフォーマットとやらに bpp が色々あるなんて考えてなかったYO!

          修正版
          http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3433.c
03323152007/01/17(水) 21:41:17
>>331
よく分からないですけど320ので上手くいきましたよ。っていうか修正版だと
テレビのノイズ状態みたいな画面になっちゃいますよ。
■ このスレッドは過去ログ倉庫に格納されています