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


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

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



1 名前:デフォルトの名無しさん [2009/07/13(月) 07:46:32 BE:142007235-DIA(287979)]
あなたが解けない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++の宿題片付けます 128代目
pc12.2ch.net/test/read.cgi/tech/1245853701/

116 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:19:47 ]
>>114
mixiであんたが消したトピに答えがあったんだが見てないのか?

117 名前:>>55 mailto:sage [2009/07/15(水) 17:36:32 ]
>>96 すみませんでした。ありがとうございます。

118 名前:デフォルトの名無しさん [2009/07/15(水) 18:32:28 ]
>>114
IPMessanger
www.ipmsg.org/
ソフト自体のソースも公開されてるし、
通信部分のみのDLLなんかもあるから、充分なんじゃない?

119 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:36:46 ]
[1] 授業単元:基礎プログラミング
[2] 問題文:

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9754.zip

[3] 環境
 [3.1] OS: vista
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語:C++
[4] 期限:2009年7月17日
[5] その他:特になし

よろしくおねがいします

120 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:56:31 ]
>>119
#include<stdio.h>
#include<string.h>
#include<ctype.h>

int check(const char *mailaddress)
{
const char *p;
int at_count=0;

if(!isalpha(mailaddress[0])) return 0;
if(!isalpha(mailaddress[strlen(mailaddress)-1])) return 0;

for(p=mailaddress;*p;p++)
{
if(!isalnum(*p) && !strchr("@-_.", *p)) return 0;
if(*p=='@') at_count++;
}
return (at_count==1);
}

int main(void)
{
char str[21];

printf("メールアドレス =>");
scanf("%20s", str);

if(check(str)) printf("OK\n");
else printf("ERROR\n");
return 0;
}

121 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:13:28 ]
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9755.txt
上のプログラムがなぜ図のような座標列を生成したのかを説明せよ
図;g.pic.to/17jcdy
ヒント1;関数draw_polygon()中のif(r>xxx)において、数値xxxをいろいろと変えること
数値xxxを大きくしていくと図が徐々に単純になっていく、単純な図から考えを進めること

ヒント2;自分がパソコンになったつもりでプログラムを順に追っていくこと。
その際呼び出した側のdraw_polygon()と呼び出された側のdraw_polygon()を区別して考えること
(前者と後者のローカル変数の区別をわすれないこと)

[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: (C
[4] 期限: ([09年07月17日13:00まで]
[5] その他の制限:


122 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:14:55 ]
>>121
お願いします

123 名前:デフォルトの名無しさん [2009/07/15(水) 19:29:56 ]
どなたか>>107お願いします

124 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:35:45 ]
>>103
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9756.txt



125 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:44:51 ]
[1] 授業単元:ゲームプログラミング入門
[2] 問題文(含コード&リンク):
以下のゲームの中からどれか二つを選んで作成せよ。
・マインスイーパー
・七並べ
・ブラックジャック
・ポーカー
カードゲームを作成する場合、同じカードが2枚存在してはならない。
ジョーカーは無いものとする。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: [2009年7月17日12:00まで]

出来れば7並べかマインスイーパーをお願いします。

126 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:18:28 ]
[1] 授業単元:基礎c++
[2] 問題文(含コード&リンク):
一次元配列を用いて、Aをn次(nは100以下)の正方行列としたときの
対称行列の成分の添字番号、行成分を格納し表示せよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: visual c++
 [3.3] 言語: c++
[4] 期限: 2009年07/17まで
[5] その他の制限: 一次元配列で考える。

よろしくお願いします。


127 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:28:13 ]
>>126
だめだ、10回読み直したけどわからん。
だれか分かりやすく読み下してくれ・・・

128 名前:デフォルトの名無しさん [2009/07/15(水) 20:43:06 ]
n次対称行列の格納に必要な配列の長さはn(n+1)/2
配列名をMとする時
i行j列成分は(i>=j)の時 M[ i*(i-1)/2+j-1 ] (i<j)の時 j,i成分と同じ
乱数で適当に格納した後表示する。
これでどーだ?

129 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:47:13 ]
>>128
先に書かれたー。せっかくなので俺がいま書いた解釈も…

N次正方行列をあらわすには普通N*N個の要素を必要とするが
それが対称行列ならN*(N-1)/2個の要素ですむ
それでは、N次の対称行列をN*(N-1)/2個の要素を持つ一次元配列に
格納し、取り出すプログラムを作成せよ

130 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:43 ]
>>128,129
ありがとうございます。
じっくり考えたいと思います。

131 名前:72 [2009/07/15(水) 21:05:30 ]
www.rupan.net/uploader/download/1247659238.zip
www.rupan.net/uploader/download/1247658809.zip
参考例と作成例をうpしました
参考例のほうはソースと実行ファイル共にありです
作成例のほうは実行ファイルだけになります

132 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:26:34 ]
>>128-129
なるほど
「添字番号、行成分」なるなにものかを何とか数値化して配列に入れる方向で考えてた。頭堅いのは駄目だな
その方向で行くとして、出力は1次元配列の構造そのままがいいんだろうか、行列っぽくするべきだろうか
なんとなく後者かなと思ったが

133 名前:obamaさんへ mailto:sage [2009/07/15(水) 21:29:22 ]
>>121
図を右上から左下、左上から右下の二本の線でバツに区切ります。
すると4つの同じような図形の菱形になります。
その一つを見るとさらに同じように4つの菱形に区切れます。
部分が全体を含んでいます。
そのように繰り返し的に同じ図形が現れるのをフラクタル図形といいます。
プログラムは4つの点を描き、中心位置をずらして
大きさを小さくしながら再帰的に同じ形を描いていっています。


134 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:07:23 ]
>>131
>>78





135 名前:デフォルトの名無しさん [2009/07/15(水) 22:22:25 ]
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txtのデータを取り込み、そこから最大値、最小値、データ個数、平均値を求めるプログラムを作成せよ
ただし最大値、最小値、データ個数、平均値は引数にポインタを用いて値を返すようにプログラムを作れ
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 7月16日17時
[5]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txtのファイル名はtensu.txtでお願いします
なるべく簡単なものでおねがいします

136 名前:72 [2009/07/15(水) 22:40:50 ]
うお、安価なかったので気づきませんでした
>>131さんとそれを教えてくれた>>134さんありがとうございました

137 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:57:39 ]
>>135
#include <stdio.h>

void func(int *max, int *min, int *num, double *ave)
{
int a, n;
FILE *fp = fopen("tensu.txt", "r");
if (fp == NULL) { fprintf(stderr, "file open error."); exit(1); }

if (fscanf(fp, "%d", &a) == EOF) { *num = 0; return; }
*max = *min = *ave = a;
*num = 1;
while (fscanf(fp, "%d", &a) != EOF) { if (*max < a) *max = a; if (*min > a) *min = a; *ave += a; (*num)++; }
*ave /= *num;
fclose(fp);
}

int main(void)
{
int max, min, num;
double ave;
func(&max, &min, &num, &ave);
printf("最大値 = %d, 最小値 = %d, データ個数 = %d, 平均値 = %f\n", max, min, num, ave);
return 0;
}

138 名前:デフォルトの名無しさん [2009/07/15(水) 22:59:39 ]
[1] 授業単元: Linux/C
[2] 問題文(含コード&リンク):
標準入力からの入力を元に演算、結果を標準出力に出力するプログラムがあります。
---
#include <stdio.h>
#include <stdlib.h>

main(){
char c[BUFSIZ];
fputs("input:",stderr); fgets(c,BUFSIZ,stdin);
for(int i=0;i<atoi(c);i++) fprintf(stdout, "%03d\n",i);
}
---

これを以下のように実行し、例えば100を入力しても、エコーバックが画面表示されません。
$ a.out | more
input:000 ←入力内容はエコーバックされず、最初の出力結果が表示される
001

022
--More--

入力内容をエコーバックするようにプログラムを修正、または作り直して下さい。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:なし

139 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:10:28 ]
>>137
ありがとうございました

140 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:45:12 ]
a.out | more

a.out
にする

あと、パスに.を入れるのはよくない

141 名前: ◆/91kCCQXBo mailto:sage [2009/07/16(木) 00:20:28 ]
>>126 n次の対称行列 めんどうなのでC/C++
#include <stdio.h>
int A[100*101/2];
int main() {
  int n, i, j, k, i1, j1;

  printf("n?"); scanf("%d%*c", &n); if(n>100) return 1;
  for(k=0, i=0; i<n; i++) { /* 成分の添字番号を表示 */
    for(j=i; j<n; j++, k++) {
      A[k] = k+1;
      printf("N(%2d,%2d) = A(%2d)\n", i, j, k);
    }
  }
  for(i=0; i<n; i++) { /* 行成分を表示 */
    for(j=0; j<n; j++) {
      if(i < j) i1=i, j1=j;
      else  i1=j, j1=i;
      k = j1+i1*n-(i1*(i1+1)/2); // i
      printf("A(%2d)=%2d", k, A[k]);
      if(j < n-1) printf(", ");
    }
    puts("");
  }
  return 0;
}
/*
1 2 3 4
2 5 6 7
3 6 8 9
4 7 9 10
*/

142 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:23:11 ]
>>112
与えられた方程式をソースに直接書くタイプなのです。
方程式や収束条件が先生の方からまだ発表されていなかったので、
大変申し訳ないですが、後日あらためて書き込みさせていただきます。


143 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:44 ]
>>124
ありがとうございます


144 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:52:56 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):@四則演算は用いずに, 0xabcdの下位8ビットを0にして表示するプログラムを作成せよ.
               A変数xのyビット目を1にする関数 int bit_set(int x,int y) を作成せよ.
  B変数xのyビット目を0にする関数 int bit_clear(int x,int y) を作成せよ.
               C変数xのyビット目の値を返す関数 int bit_test(int x,int y) を作成せよ.
[3] 環境
 [3.1] OS:Windows Vista SP1
 [3.2] Visual studio 2008
 [3.3] 言語:C
[4] 期限:2009年7月16日8:30まで
[5] その他の制限:基本的なもので



145 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:05:38 ]
>>144
@
#include <stdio.h>
int main(){
printf("%d",0xabcd & 0xff00);
return 0;
}

A
int bit_set(int x, int y){
return x | (1<<(y-1));
}

B
int bit_clear(int x, int y){
return x & ~(1<<(y-1));
}

C
int bit_test(int x,int y){
return (x>>(y-1)) & 1;
}

146 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 04:51:12 ]
どなたか>>125をお願いします。

147 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 06:45:23 ]
どなたか>>102の(2)だけでよいのでよろしくお願いします

148 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:19:20 ]
>>146
マインスイーパってやっぱりマウスでクリックするの?

149 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:48:29 ]
>>148
どちらもCUIです。
説明が足りず申し訳ありません。

150 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:49:58 ]
CUIでマインスイーパーって開ける箇所を座標指定とかでやるのか?

151 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 10:05:58 ]
>>150
だと思います。特に方法は指定されていませんでした。

152 名前:138 [2009/07/16(木) 11:17:32 ]
>>140
レスありがとうございます。
その場合、スクロール、ページャ運用ができません。
是非プログラム内で解決したいと思っています。
宜しくお願い致します。

153 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 12:12:15 ]
>>147
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9759.c

154 名前:デフォルトの名無しさん [2009/07/16(木) 12:57:01 ]
>>146
7並べは、コンピュータ対戦?
両方人間で、同じ画面見てたらゲームになんないよねぇ・・・



155 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:52:28 ]
>>154
7並べサーバを作って、人間用クライアントが複数接続できるようにして、
足りないぶんはAIクライアントに担当させる・・・
AIはインタフェースだけ決めといて実装は自由、各自が自作の思考ルーチンの強さを競う
なんて妄想してると夢だけはひろがりんぐw

156 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 21:46:37 ]
いまからマインスイーパをCで作ってみようと思う

157 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:13:11 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9762.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Textpad
 [3.3] 言語:C/C++/どちらでも可
[4] 期限:2009年7月17日AM7:00まで
[5] その他の制限:特になし

朝までになりますので、どなたかよろしくお願いします。


158 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:18:58 ]
>>157
下図に示すa,bに数値を設定したときに
--------------
この図はどこ

159 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:48:36 ]
>>158
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9763.txt
すいません、こちらが図になります

160 名前:デフォルトの名無しさん [2009/07/17(金) 00:11:31 ]
[1]プログラミング
[2] 課題
言語: C もしくは C++ 言語




(1)以下のプログラムを作成しなさい(数当てゲーム)

*画面上に「好きな数字を入力してください」と表示して、キーボードからの入力を待つ。
変数aを定義して、10までの乱数を発生させて変数aに代入する。
キーボードからの入力があれば、先に発生させた乱数と一致しているならば
「あたり!!」と表示する。
一致していなければ「残念乱数はxxです」と表示する(xxには変数aの中身を表示する)




宜しくお願い致します。



161 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:50:40 ]
>>157
C++で
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9764.txt

162 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:24:03 ]
156だけど徹夜で用事入ったから17日昼までにマインスイーパ作れないと言っておく

一応windows.hを使ったインタフェースで作ってた。

163 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 03:26:21 ]
>>160
#include <stdio.h>
#include <stdlib.h>

int main(void){
int a,input;

srand( (unsigned)time(NULL) );

printf("input : ");
scanf("%d",&input);

a = rand() % 10 + 1;

if( a == input ) printf("あたり!!\n");
else printf("残念乱数は%dです。\n",a);

return 0;
}

164 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 04:07:54 ]
>>153
これから見てみます
ありがとうございました



165 名前:デフォルトの名無しさん [2009/07/17(金) 09:44:19 ]
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク):コメントアウト(//)を用いて下のプログラムを説明せよ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9765.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9766.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([09年7月17日12:30まで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
お願いします


166 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 10:46:21 ]
コメントアウト?
コメントじゃなくて?

167 名前:新たな課題です [2009/07/17(金) 10:59:16 ]
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク):
授業時に作成したプログラム(ヒント) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip
作成する図形kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip
実行例s.pic.to/zrnq2
[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョン: (VC++
 [3.3] 言語: (C
[4] 期限: ([09年7月20日15:30まで] または [無期限] のいずれか)
[5] その他の制限:成功すれば図は立体的に見える。
1.星形の座標列を生成する関数void draw_star(引数1,2,/…)を作成すること
どの星型もこの関数ひとつで描けるようにすること
2.星型中心座標から各凸角までの距離は0.5、各凹角までの距離は0.25
3.星型中心y座標値は-10から10までの整数とすること
y=0の場合は凸角数4というように、y座標値で凸角数が決まってくいる(実行例参照)
ifやswitchなどの条件分岐(場合分け)を用いずに規則を見つけてプログラミングすること
5.各行(各y座標値)の最初(左端)の星型中心x座標値はゼロとし、最後(右端)のそれは
40以下とすること。隣り合う星型中心のx座標値の間隔dxはdx=2+0.3×|y|とすること。
6.実行結果は.csvファイルとして保存すること



168 名前:デフォルトの名無しさん [2009/07/17(金) 11:00:02 ]
>>166
コメントです!!



169 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:23:08 ]
167 ほんとにこれでいいのか?(C 括弧閉じない性格
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip

170 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:51:14 ]
>>167
ショートカットファイルしかありませんでした


171 名前:デフォルトの名無しさん [2009/07/17(金) 13:40:01 ]
[1] 授業単元:システムコール
[2] 問題文(含コード&リンク):
問題文
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9769.txt
リスト1〜4
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9770.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月21日(火)12時10分まで
[5] その他の制限: 特になし

よろしくお願いします。


172 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:47:16 ]
>>125
キャラクタ画面でマインスイーパ作ったけど、〆切りすぎてたね・・・
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9773.c

173 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:32 ]
ゲームってグラフィック使わないとなるとかなり難しいけどなw


174 名前:デフォルトの名無しさん [2009/07/17(金) 21:12:10 ]
>>163

ありがとうございます!!





175 名前:デフォルトの名無しさん [2009/07/17(金) 21:47:15 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

下に示すように,キーボードから二つの文字列を読み込み,どちらの文字列が何文字長いか
を表示するプログラムを作成せよ.なお,二つの文字列が同じ長さならば,「二つの文字列は同
じ長さです.」と表示させること.

文字列A : Good
文字列B : Morning
文字列B の方が3 文字長いです.

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。

176 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:06:06 ]
>>175

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char a[256], b[256];
int diff;
printf("文字列A : ");
scanf("%s", a);
printf("文字列B : ");
scanf("%s", b);
if(diff = strlen(a) - strlen(b))
printf("文字列%c の方が%d 文字長いです.\n", diff>0 ? 'A' : 'B', abs(diff));
else
puts("二つの文字列は同じ長さです.");
return 0;
}


177 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:14:07 ]
>>171
WriteLine関数とReadLine関数の定義はどこ?


178 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:26:57 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9774.txt
[3] 環境
 [3.1] OS: linux
 [3.3] 言語: C
[4] 期限: 7/20
[5] その他:特になし
よろしくお願いします。

179 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:39:26 ]
>>178
【1】
stdio.h

【2】
n=0

【3】
Tn2 = Tn3

修正
n<20 を n<28 にする

【4】
2555757

【4】の解の保証
www.research.att.com/~njas/sequences/table?a=73&fmt=4

180 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:46:43 ]
>>179
助かりました。ありがとうございます。

181 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:58:23 ]
>>177
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9775.c

これになります。失礼しました

182 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 02:27:15 ]
>>167 星形の座標列
画像は読む事が出来た だれかプログラムしてくれ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9777.txt

183 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:52:07 ]
>>182
>>167やろうと思ったけど何すればいいんだこれ
問題が意味不なんだが

184 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 08:27:43 ]
>>183 要するに線画の3D画像。@にあるように星の大きさ自体は全て同じ。
数値をエクセルでグラフにしたので、朝、目が覚めたら読んでくれ。こっちは解析しただけでやる気が終わった。
www51.tok2.com/home/rg550/cgi-bin/hosoku/img0046.zip



185 名前:デフォルトの名無しさん [2009/07/18(土) 14:25:51 ]
1] 授業単元:プログラミング論
[2] 問題文:データベースに対して線形探索を行うプログラムを作成するこのとき探し出す値の項目(キー)は、生徒の名前とする。なお、番兵法を用いて繰り返しの終了判定を少なくする。また、文字列を比較する場合、関数strcmp()を用いる
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名:CPad for Borland C++Compiler
 [3.3] 言語:C
[4] 期限: 2009年7月20日


186 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:34:07 ]
>>185
そのデータベースというのはSQLのことかい?

187 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:35:01 ]
あ、番兵って言ってるからちがうか。

188 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:39:08 ]
>>185
こんな感じで。配列を使うとは書いて無いから線形リストにした。
あと、動作は保障しない。

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9782.txt

189 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:13:30 ]
>>188
それ番兵の意味ないでしょ。ノード数Nのときに検索回数が1少なくなるだけで比較回数はN増えるし。
検索文字を番兵にしないと。

<擬似コード>
//リストの最後に番兵を置く
sentinel = new Node("search word");
nodes.addLast(sentinel);

//検索文字を探す(番兵がいるので絶対見つかる)
int i=0;
for(p = nodes.head;p.name != "search word";p=p.next,i++){}

//リストの長さよりも小さければ番兵以外のノードが見つかった
if(i < p.count-1) return p;
else return NULL;

190 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:43:40 ]
>>189
それ、C++ですねぇ。
検索文字列を番兵にするのは予想外でした。確かに比較回数はへりますね。
でも、その擬似コードは末尾にpushとpopしないといけないので、サーチにやっぱり時間かかりませんか?
文字列比較よりも低コストという感じですか?

191 名前:デフォルトの名無しさん [2009/07/18(土) 16:47:19 ]
>>188
データベース(人の名前,tomなど9人,txtファイル)から
キーボードから入力したKEY(生徒の名前)を
検索するプログラムを作ってほしいんです><

192 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:02:22 ]
>>190
リストの末尾へのポインタをあらかじめ保持しておけば番兵の追加と削除に検索はいらない。
もちろん構造体を作るコストはかかるけどね。どっちが早いかは環境やリストの長さによる。

Node* head;
Node* tail;

//番兵追加
Node sentinel = new Node("hoge");
tail.next = sentinel;

//
//検索処理
//

//番兵削除
delete(tail.next);
tail.next = NULL;

>>191
初めに書けよ
他に抜けてる条件は無いのか?

193 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:03:35 ]
>>191
ちょ!おま。
情報の後出しは禁止だ!このやろー。

findfirstfileを自作しろってことか?
さらに、その上で全文検索しろってことか?
どの辺のことを言ってるのかよくわからん。

194 名前:デフォルトの名無しさん [2009/07/18(土) 17:13:26 ]
>>193

すみません;;
Tom 75 60
Jerry 85 90
Spike 45 30
Rachel 55 85
Monica 75 90
Phoebe 80 75
Chandler 70 65
Joey 85 75
Ross 90 85
こんな感じのtxtファイルを読み込んで
名前をKEYで検索して該当したデータを表示させるプログラムなんですけど
データベースからデータを検索するプログラムが作れなくて困ってたんです;;



195 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:14:20 ]
>>192
tailの管理がちょっと厄介ですなぁ。tailをpopしたら再検索ですし。まぁ、用途によりけりか。

196 名前:デフォルトの名無しさん [2009/07/18(土) 18:12:47 ]
1] 授業単元:プログラミング論
[2] 問題文:入力ストリームから読み込んだ文字列を、データベースに格納する前に
スタックに一時的に格納するプログラムを作成する
このときデータをまとめたデータ文字列を一つずつスタックへプッシュしたり
ポップしたりする過程が分かるプログラムを作成する。
なおスタックを実現するライブラリはスタックのための別のヘッダにまとめる

[プログラムの例]
入力ストリームから読み込んだデータ文字列をスタックへプッシュしたり
ポップしたりするたびにデータベースに格納された全データを表示する。
[3] 環境
 [3.1] OS:Windows Vista
 [3.2] コンパイラ名:CPad for Borland C++Compiler
 [3.3] 言語:C
[4] 期限: 2009年7月20日

参考プログラムを元に完成させてほしいです
[参考プログラム]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9784.txt


197 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 18:44:09 ]
>>185
多分あってると思うがほとんどデバッグしてないので何とかしてくれ。動作は保障しない。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9786.zip

もう、今日は切ったり張ったりしないぞ。疲れた。

198 名前:デフォルトの名無しさん [2009/07/18(土) 18:50:20 ]
>>197

めちゃめちゃ高度ですが
すごい助かります
ありがとうございました^^
お疲れ様です;;

199 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:17:40 ]
[1] 授業単元:  C言語
[2] 問題文 2進数の指定した場所の0、1を逆転せよ
たとえば 00110という2進数の3番目を反転としたら 2進数が00010となる。1番目の場合10110となる
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VisualC++
 [3.3] 言語: C
[4] 期限: 7月20日
[5] その他の制限:



200 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:21:25 ]
>>171
サーバ側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9788.c
クライアント側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9787.c

ターミナル3つ立ち上げてサーバ、クライアント1、クライアント2を実行
クライアントからの入力はサーバ、他のクライアントにも送れた。
けど、サーバから文字を入力するとクライアント1側に入力文字が無限ループで出てきて
クライアント2には何も表示されなかった。課題どころか元のプログラムすら動かない危機的な状況なので
誰か助けてください。サーバ側に何か問題があると思うのですが全く見当がつきません

201 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:38:30 ]
>>199
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9789.txt

202 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:34:12 ]
>>200
サーバの202行目はj++だよね。

203 名前:デフォルトの名無しさん [2009/07/18(土) 23:37:58 ]
#include<iostream>
using namespace std;

int main() {
int value;

cout << "整数値を入力値を入力してください\n";
cin >> value;

if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}

このプログラムは負の数値に対して考慮していない。0未満の整数が入力された時、『負の整数が入力されました』と表示するプログラムを作成せよ



&&と同じ処理を&&を使わず、else ifを使って表現せよ

この2つ分かる方教えてくれませんか
C++です

204 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:45:37 ]
>>202
本当にありがとうございました。頑張ってみます



205 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:47:48 ]
>>203
負の数に対応したやつ

#include<iostream>
using namespace std;

int main() {
int value;

cout << "整数値を入力値を入力してください\n";
cin >> value;

if(value < 0) {
cout << "負の整数が入力されました\n";
}
else if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}


206 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:04:42 ]
>>203
&&を使わずにelse ifでむりやり版
あとテンプレ使え

#include<iostream>
using namespace std;

int main() {
int value;

cout << "整数値を入力値を入力してください\n";
cin >> value;

if(10 <= value) {
if (!(value <= 99))
goto FOO;
else if(1)
cout << "二桁の整数です\n";
}
else if(value <= 9 || value >= 100){
FOO:
cout << "一桁か三桁以上の整数です.\n";
}

return 0;
}


207 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:08:17 ]
#include<iostream>
using namespace std;

int main() {
int value;

cout << "整数値を入力値を入力してください\n";
cin >> value;

if(value >= 0){
if(value >= 100) cout << "一桁か三桁以上の整数です.\n";
else if(value >= 10) cout << "二桁の整数です\n";
else if(1) cout << "一桁か三桁以上の整数です.\n";
}else if(1){
cout << "負の整数が入力されました\n";
}

return 0;
}

自分で言うのもなんだがなんだこのクソプログラムはw
&&が使えなければドモルガンの法則使って||にすればいいじゃない、と思った

208 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:27:51 ]
>>203
//このプログラムは負の数値に対して考慮していない。←仮定
//このプログラムは1000以上の数値に対して考慮していない。←仮定を追加
//&&と同じ処理を&&を使わず、else ifを使って表現せよ
#include<iostream>
using namespace std;

int main() {
  int value;

  cout << "整数値を入力値を入力してください\n";
  cin >> value;
/*
  if(value < 0) {
    cout << "負の整数が入力されました.\n";
  }
  else
*/  if(value < 10) {
    cout << "一桁か三桁以上の整数です.\n";
  }
  else if(value < 100) {
    cout << "二桁の整数です\n";
  }
  else {
    cout << "一桁か三桁以上の整数です.\n";
  }

  return 0;
}
//これじゃ駄目かね? 質問者も、どれ提出すればいいか困るか。

209 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:39:52 ]
//ド・モルガン版 >>207
#include<iostream>
using namespace std;

int main() {
  int value;

  cout << "整数値を入力値を入力してください\n";
  cin >> value;

  if(value < 0) {
    cout << "負の整数が入力されました.\n";
  }
  else if( value <= 9 || value >= 100) {
    cout << "一桁か三桁以上の整数です.\n";
  }
  else {
    cout << "二桁の整数です\n";
  }

  return 0;
}

210 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:44:04 ]
>>196
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9790.zip

>>185と同じ人っぽかったので、データベースはtxtファイルで
「データベースに格納する前にスタックに一時的に格納」ってのは
「入力されたデータをスタックにためておき、スタックが一杯になったら
データベースに書き込む」ということだと解釈したのだけど、合ってる?


211 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 03:14:40 ]
>>167 C++ で提出すれば君はヒーローだ。(星形の座標列を生成する)
#include <fstream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
using namespace std;
#define PI 3.1415926535897932384
void draw_star(ofstream &fout, float x1, int y1) {
  int i, dot;

  dot = abs(y1) + 4;
  for( i = 0; i <= dot; i++ ) {
    fout<<setw(6)<< cos(2*PI/dot*i)/2+x1 <<','<<setw(7)<< sin(2*PI/dot*i)/2+y1 <<endl;
    if( i < dot )
    fout<<setw(6)<< cos(2*PI/dot*(i+0.5))/4+x1 <<','<<setw(7)<< sin(2*PI/dot*(i+0.5))/4+y1 <<endl;
  }
  fout<<endl;
}
int main() {
  float x, xstep; int y;
  ofstream fout("polygon_29.csv");

  if(!fout) return 1;
  fout<<fixed<<setprecision(3);
  for( y = -10; y <= 10; y++ ) {
    xstep = 2.0 + 0.3 * abs(y);
    for( x=0.0; x<40.0; x += xstep ) {
      draw_star(fout, x, y);
    }
  }
  fout.close();
}

212 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 07:33:25 ]
>>183だけど
>>184読んでやっと理解して
defineとか使ってごちゃごちゃ書いて完成したら
>>211が出来てて涙目なので少しすっきり書き直してアップしといた
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9791.c


213 名前:デフォルトの名無しさん [2009/07/19(日) 12:40:03 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
下に示すように,キーボードから文字列を読み込み,その文字列が回文(前から読んでも後
ろから読んでも同じ)かどうかを判定するプログラムを作成せよ.なお,入力する文字列は半
角の英数字および記号のみと仮定してよい.

文字列を入力してください: abcba
回文です.
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。

214 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:55:27 ]
>>213
前スレに似たようなのがあった。空白を読みとばしたり大文字小文字を区別しない上級バージョンだけど参考まで
pc12.2ch.net/test/read.cgi/tech/1245853701/107-111



215 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:56:06 ]
#include <stdio.h>
#include <string.h>

int is_kaibun(char* buf,int len){
int i;

for(i = 0;i<len/2;i++){
if(buf[i] != buf[len-i-1]) return 0;
}

return 1;
}

int main(){
char buf[256];

printf("文字を入力してください:");
fgets(buf,sizeof(buf),stdin);

if(is_kaibun(buf,strlen(buf)-1)){
printf("回文アル");
}else{
printf("回文チガウアル");
}

return 0;
}

216 名前:デフォルトの名無しさん [2009/07/19(日) 13:26:37 ]
こんな事したいんですけどC言語のソース書いてください

100以下の整数を入力し80以上なら”優”、70以上80未満なら“良”、60以上70未満なら“可”、60未満なら“不可”と表示する。tenに格納された値が不なら終了する。
条件:scanfの前にprintf(”点数を入力してください”);を入れる。whileを使いマイナスの値が入力された場合終了し、100〜0の場合ループさせる。ifを使う






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

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

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