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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 17:28:30 ]
あなたが解けない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++の宿題を片付けます 94代目
pc11.2ch.net/test/read.cgi/tech/1185452895/

101 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 15:14:23 ]
[1] 授業単元: C
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4885.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: c
[4] 期限: 2007年8月31日


102 名前:デフォルトの名無しさん [2007/08/30(木) 15:22:46 ]
>>76
あとから、これ参照してとか言うなカス
作った関数意味ねーだろうが
あと>>33の2も答え出てるだろうが

103 名前:82 [2007/08/30(木) 15:23:50 ]
何方か82お願いします

104 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 15:26:58 ]
[1] 授業単元:確率統計
[2] 問題文(含コード&リンク):
指定ファイルを読み込んで、
平均値と標準偏差を標準出力するプログラムを作成せよ。

(指定ファイル)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4886.txt
このファイルの2列目の要素のみ(0.0732421875 0.0693359375 ・・・)の
平均値等を出せばいいようで、他の列の数値は無視して大丈夫だそうです。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 9月1日
[5] その他の制限:制限はありません。
よろしくおねがいします。

105 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 15:30:08 ]
>>99
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
printf("%d", rand()%81 + 20);
return 0;
}


106 名前:デフォルトの名無しさん [2007/08/30(木) 15:45:54 ]
[1] 授業単元: 配列
[2] 2次元配列の中に1~100までの連続した数字を格納し、表示させる
 [3.1] WinXP
 [3.2] Borland
 [3.3] C++
[5] 1 2 3 4 5 6 7 8 910
11121314151617181920
21222324252627282930
…こんな感じで100まで表示させたいのです。

107 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 15:56:27 ]
#include <stdio.h>

int main(void)
{
int array[100], i;

for (i = 1; i <= 100; i++)
array[i-1] = i;
for (i = 0; i < 100; i++) {
printf("%2d", array[i]);
if (array[i] % 10 == 0)
putchar('\n');
}
}

108 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 15:59:20 ]
#include <stdio.h>

int main(void)
{
int num[10][10], i, j;

for(i=0; i<10; i++){
for(j=0; j<10; j++){
num[i][j] = i*10 + j + 1;
printf("%2d", num[i][j]);
}
putchar('\n');
}

return(0);
}

109 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 16:05:47 ]
>>101
3番めこんなのでどうでしょう?
/*
xの昇順階乗を計算する。
fact_pow(10,3) = 10*11*12 = 1320
fact_pow(0,3) = 0*1*2 = 0
fact_pow(3,0) = 1;
fact_pow(-3,3) = -3*-2*-1 = -6
*/
#include <stdio.h>
#include <stdlib.h>
int fact_pow(int x,int p);
int main(void) {
int x, p;

printf("整数[x]を入力してください:");
scanf("%d",&x);
printf("整数[p]を入力してください:");
scanf("%d",&p);
printf("%d^[%d] = %d\n",x,p,fact_pow(x,p));
return 0;
}
int fact_pow(int x,int p) {
int value = 1;
int i;
if(p == 0)
return 1;
for(i = 0; i < p; i++)
value *= (x + i);
return value;
}



110 名前:デフォルトの名無しさん [2007/08/30(木) 16:12:55 ]
[1] 授業単元: 乱数
[2] 1~25までの数字をランダムで25個表示させる。その際同じ値がでないようにする。
 [3.1] WinXP
 [3.2] Borland
 [3.3] C++
よろしくお願いします


111 名前:デフォルトの名無しさん [2007/08/30(木) 16:24:11 ]
>>104
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4887.txt

112 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 16:24:20 ]
>>110
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num[25];
int i, index, tmp;

for(i=0; i<25; i++) num[i] = i+1;

srand(time(NULL));
for(i=0; i<25; i++)
{
index = rand() % (i + 1);
tmp = num[i];
num[i] = num[index];
num[index] = tmp;
}

for(i=0; i<25; i++) printf("%d\n", num[i]);

return 0;
}

113 名前:デフォルトの名無しさん [2007/08/30(木) 16:47:21 ]
>>110
#include <iostream>
#include <cstdlib>
#include <ctime>
const int N = 25;
int main()
{

int rnd[N] = {0};
int i,r,r1,r2,temp;
srand((unsigned)time(NULL));
for(i = 0; i < N; i++)
rnd[i] = i + 1;
r = rand();
for(i = 0; i < r; i++){
r1 =rand()%N;
r2 =rand()%N;
temp = rnd[r1];
rnd[r1] = rnd[r2];
rnd[r2] = temp;
}
for(i = 0; i < N; i++)
std::cout << rnd[i] << ' ';
std::cout << '\n';
return 0;
}

114 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 17:06:12 ]
>>110
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <deque>
using namespace std;
int main(void)
{
const int NUM = 25; //定数宣言
srand((unsigned)time(NULL)); //乱数初期化
//配列qiの宣言と初期化
deque<int> qi;
for(int i = 0; i != NUM; i++)
{
qi.push_back(i+1); //1〜NUMまでの数値を並べる
}
//乱数を使って数値をランダムに取り出す
for(int i = NUM; i != 0; i--)
{
int n = rand() % i; //0〜(i-1)までの乱数を取り出す
cout << qi.at(n) << endl; // n番目の数値を表示
qi.erase(qi.begin()+n); // n番目の数値を配列から削除
}
return 0;
}


115 名前:104 mailto:sage [2007/08/30(木) 17:23:00 ]
>>111
お早い回答ありがとうございます!!
おかげで助かりました!

116 名前:111 [2007/08/30(木) 17:48:33 ]
久々ありがとうレスをもらった
「どういたしまして」

117 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:08:54 ]
>>116
回答をしてもらったわけではない部外者だが、他の回答者として
自分よりお早く回答してくれてありがとうございました!
おかげで自分が回答せずに済みました!

118 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:19:47 ]
>>114
このスレでGNUスタイルのコードは初めて見た気がする

119 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 20:48:25 ]
残念だが C++ の標準スタイルでは引数がないなら
int main() で良いんだよ。CはISO準拠だとint main(void)ってなるが



120 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:05:03 ]
>>73 こんなもんでおk?後々P5 を読む気が無いコードだけど…
#include<stdio.h>

FILE *comment_remove(const char *filename){ // P5 の時はデータ領域が不正になります
FILE *fp_src, *fp_work;
int moji, is_comment=0;

if((fp_src=fopen(filename, "r"))==NULL) return NULL;
if((fp_work=tmpfile())!=NULL){
while((moji=fgetc(fp_src))!=EOF){
if(moji=='#') is_comment=1;
if(moji=='\n') is_comment=0;
if(!is_comment) fputc(moji, fp_work);
}
fseek(fp_work, 0L, SEEK_SET);
}
fclose(fp_src);
return fp_work;
}

int pgm_info(const char *filename, char *pformat, int *pwidth, int *pheight, int *pdepth){
FILE *fp;
char buf[3+1];
int width, height, depth;

fp=comment_remove(filename);
if(fp!=NULL){
if(fscanf(fp, "%3s%d%d%d", buf, &width, &height, &depth)==4) sprintf(pformat, "%s", buf),*pwidth=width,*pheight=height,*pdepth=depth;
fclose(fp);
}
return 0;
}

121 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:12:07 ]
>>73
>>120 の訂正と使い方 (関数 pgm_info の返り値で成否を判定できるようにした)
int pgm_info(const char *filename, char *pformat, int *pwidth, int *pheight, int *pdepth){
FILE *fp;
char buf[3+1];
int width, height, depth, ret=0;

fp=comment_remove(filename);
if(fp!=NULL){
if(fscanf(fp, "%3s%d%d%d", buf, &width, &height, &depth)==4){
sprintf(pformat, "%s", buf),*pwidth=width,*pheight=height,*pdepth=depth,ret=1;
}
fclose(fp);
}
return ret;
}

int main(void){
char format[3+1];
int width, height, depth;
pgm_info("a.pgm", format, &width, &height, &depth);
printf("format : %s\nwidth : %d\nheight : %d\ndepth : %d\n", format, width, height, depth);
return 0;
}

122 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:29:58 ]
>>109
ありがとうございます。
1,2の方もお願いできませんか

123 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:54:22 ]
>>109
1はyの範囲に制限を付けないと難しいのではないかな。
例えば1900年以降でよいとか、前提はないの?

124 名前:123 mailto:sage [2007/08/30(木) 23:57:24 ]
失礼、
>>109さんではなく>>101さんあてです

125 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 00:24:33 ]
>>124
問題を確認しましたが101で書いたことしか載ってませんでした。

126 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 00:56:07 ]
76の1で
void arr_cycle(int *arr, int len)
{
int i, temp;
temp = a[len-1];
for(i=len-1;i>0;i--) arr[i] = arr[i-1];
a[0] = temp:
}
でソースをかいてくれませんか

127 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 01:10:34 ]
>>126
日本語でOk

128 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 02:01:56 ]
>>101
日付チェックはしてない。グレゴリオ暦が使われた年以降。
int leap(int y)
{
return (y%4==0)?(y%100==0)?(y%400==0)?1:0:1:0;
}
int days(int y,int m,int d)
{
int dom[2][12]=
{{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int day=0,i,j;
j=leap(y);
for(i=0;i<m-1;i++) day+=dom[j][i];
day+=d;
return day;
}
main()
{
int y,m,d;
scanf("%d %d %d",&y,&m,&d);
printf("days=%d\n",days(y,m,d));
}

129 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 07:51:47 ]
>>101
#include<stdio.h>
int f(int y,int m,int d){
if(m<3)
y--,m+=12;
return y*365+y/4-y/100+y/400+(m+1)*306/10+d-428;
}
int leap(int y){
return f(y,3,1)-f(y,2,29);
}
int days(int y,int m,int d){
return f(y,m,d)-f(y,1,0);
}
int main(void){
int ymd;
printf("yyyymmdd="); scanf("%d",&ymd); printf("leap=%d\ndays=%d\n",leap(ymd/10000),days(ymd/10000,ymd%10000/100,ymd%100));
return 0;
}

#include<stdio.h>
#define PI 3.1415926535897932384626433832795
double rad(double s){
return s*PI/180;
}
double deg(double r){
return r*180/PI;
}
int main(void){
double s;
printf("s="); scanf("%lf",&s); printf("rad(s)=%.9f\ndeg(rad(s))=%.9f\n",rad(s),deg(rad(s)));
return 0;
}



130 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 09:41:06 ]
>>73 バイナリフォーマットにも対応できるように作りなおしてみた
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int pgm_get_word(FILE *fp, char buf[], int buf_size){
int i=0, moji;
while(i<buf_size-1 && (moji=getc(fp))!=EOF){
if(isspace(moji)){ if(i>0) break; }
else if(moji=='#'){
fscanf(fp, "%*[^\n]");
if(i>0) break;
}else{ buf[i++]=moji; }
}
buf[i]='\0';
if(i>=buf_size-1) while((moji=getc(fp))!=EOF && !isspace(moji)) ;
return (i>0);
}
int pgm_info(const char *filename, char *pformat, int *pwidth, int *pheight, int *pdepth){
FILE *fp;
char format[3+1], width[10+1], height[10+1], depth[4+1];
int ret=0;
fp=fopen(filename, "rb");
if(fp!=NULL){
if(pgm_get_word(fp, format, sizeof(format)) && pgm_get_word(fp, width, sizeof(width)) &&
pgm_get_word(fp, height, sizeof(height)) && pgm_get_word(fp, depth, sizeof(depth)) ){
sprintf(pformat, "%s", format); *pwidth=atoi(width); *pheight=atoi(height); *pdepth=atoi(depth);
ret=1;
}
fclose(fp);
}
return ret;
}

131 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:01:58 ]
これを76の1のようにずらしたいのですが
#include <stdio.h>

void arr_cycle(int arr[], int len)
{
int i, temp;
temp = arr[len-1];
for(i=len-1;i>0;--i)
arr[i] = arr[i-1];
arr[0] = temp;
}
int main(void) {
int i;
int n;
int data[10];

scanf("%d", &n);
for(i = 0;i < n;i++)
scanf("%d",&data[i]);

arr_cycle(&data[i], n);
for(i=0;i<n;i++)
printf("%d ",data[i]);

return 0;
}

132 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:46:32 ]
[1] 授業単元: c言語
[2] 非負整数の不定長配列 arr[] 中で、全てのデータが閾値 thre 以上かどうかの真偽値(0または1)を返却する関数 arr_thre_all() を作成する。終端番兵は、EOA(-1) とする。反復変数を用いず、ポインタのアドレス演算を用いる。
システム上では、入力の先頭をthre、それ以降はarrとする。入力の終了はEOA(-1)とする。全て閾値以上の場合は 1 、そうでない場合は 0 を出力するプログラムを作れ。
入力例:1 2 3 4 1 -1
出力例:1
 [3.1] WinXP
 [3.2] bcc
 [3.3] C
[4]8/31


133 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:02:54 ]
>>131
arr_cycle(data,n);

134 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:39:47 ]
>>131
ありがとうございます。

135 名前:デフォルトの名無しさん [2007/08/31(金) 12:48:51 ]
[1] 授業単元:
[2] 問題文:1~10までの数字を2回入力し1番目と2番目までの入力された値を足し算して表示させる
 [3.1] WinXp
 [3.2] Borland
 [3.3] C++
[5] その他の制限:2番目に入力される値は1番目よりも小さくなるようにする。
8 4 と入力されたら
8+7+6+5+4と計算され、30と表示される感じです

136 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:52:11 ]
>>33の2ですが
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4888.txt
和がうまく求めたいのですが、どうすればいいのでしょうか?

137 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:00:10 ]
>>136
> int iary[] ={0};
これだとそもそも一個しか入力できないわけだが。
入力ロジックは兎も角、積算ロジックはぱっと見良さそうだよ。

138 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 13:30:57 ]
サイズの問題以外にも配列にEOAを入れないのはまずいだろ。

139 名前:136 mailto:sage [2007/08/31(金) 14:29:34 ]
どのように入力を変えればよいのでしょうか?



140 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 14:46:34 ]
int iary[数値] ={0};
ってやればいいんじゃない?

141 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 14:55:26 ]
入力の終了条件を-1が入力されたらにする。

142 名前:136 mailto:sage [2007/08/31(金) 15:04:55 ]
ちょっとよくわからないので書いてくれませんか?

143 名前:デフォルトの名無しさん [2007/08/31(金) 15:23:51 ]
>>136のソース見て、usepointersumなんて言う情けない関数名
を見て、「あれ、どっかで俺、こんな関数名の入ったソースを張ったぞ」
と思って見返したら>>81>>33に向けて張ったソースの一部じゃねぇか
どおりで<ctype.h>が意味無くincludeされてるわ。
ファイルそのものUpしてあげる
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4889.txt
それで、いったい何をしたいのか、事細かく質問しなよ
何が分からないのかがわからないの?まぁ、良いや。
ついでに>>33よ、まるで自分が書いたようにソースファイルをupしちゃだめだよ

144 名前:136 mailto:sage [2007/08/31(金) 15:31:29 ]
>>143
すいませんでした。
ソースから数値を読み取るんじゃなくて、コンパイラから入力したいのですが

145 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 15:36:13 ]
>>144
もう我慢ならねえ!!!!
コマンドラインから受け取るようにしろよ、この穀つぶしが!!!!!!!

146 名前:143 mailto:sage [2007/08/31(金) 16:06:11 ]
「コンパイラから入力したいのですが」の意味が俺にはわからない。

147 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 16:30:45 ]
コンパイラが対話式とみた

148 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 16:48:30 ]
コンパイルオプションで -Dxxx=yyy とか付けるんじゃない?

149 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 17:41:01 ]
統合開発環境で、デバッグ時に、引数を与えたいが、やり方がわからない。
こうなんじゃないか?



150 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 19:59:35 ]
最近のコンパイラは賢いな。ESP機能がある。

151 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 01:14:10 ]
>>132
#include <stdio.h>
#define EOA -1
#define ARRMAX 1024
int arr_thre_all(int* arr, int thre){
while(*arr != EOA) if(*(arr++) < thre) return 0;
return 1;}
int main(void){
int i; int arr[ARRMAX]; unsigned int thre;
scanf("%d", &thre);
for(i = 0; i != ARRMAX; i++){
scanf("%d", &arr[i]);
if(arr[i] == EOA) break;}
i = arr_thre_all(arr, thre);
printf("%d\n", i);
return 0;}


152 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:18:00 ]
#include <stdio.h>
int main(){
int u,l;
while(1){scanf("%d",&u);if(u<11 && u>0){break;}}
while(1){scanf("%d",&l);if(l<u && l>0){break;}}
//printf("%d +%s%d = %d\n", u, (u-l>2)?" ... + ":" ", l, ( u + l )*( u - l + 1 ) / 2);
printf("%u\n", ( u + l )*( u - l + 1 ) / 2);
return 0;}


153 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:53:36 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
C#でクラスを用いてシューティングゲームを作れ。
スタート・中断・再開ボタン機能を必ず入れ、敵味方と弾は全てオブジェクトとする
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Windows visual studio2005
 [3.3] 言語: C#
[4] 期限:9月4日
[5] その他の制限: なし

C#は駄目でしょうか。
C#のソース付きのゲームとかがあればそれを参考にやれるんですが・・・

154 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:54:59 ]
C/C++のみです。C#は他言語です。

155 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 16:30:32 ]
C#のソース付きのゲームのサンプルってテトリスぐらいしかしらんな〜

156 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:03:05 ]
>>153
夏休み中に何をしていたんだ

157 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:14:24 ]
>>153
ガンシューにしてみたら?

158 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:58:00 ]
1対1のガンマンシューティングなんてどうだ?

159 名前:デフォルトの名無しさん [2007/09/01(土) 20:50:01 ]
[1] 授業単元:C言語
[2] 問題文: 文字列に含まれるすべての文字を、1つ後のASCUコードをもつ文字に置き換えるプログラムを作成する。
       例:Nurupo → Ovsvqp
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ: bcc
 [3.3] 言語: C
[4] 期限: 9月4日
[5] その他の制限: 特にありません。 よろしくお願いします。



160 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:07:52 ]
>>159
#include <stdio.h>
#define MAX_LENGTH 512
int main(void)
{
char str[MAX_LENGTH] = "Nurupo", buf[MAX_LENGTH];
int i;
for(i=0; str[i]; i++) buf[i] = str[i] + 1;
buf[i] = '\0';

printf("%s → %s", str, buf);
return 0;
}


161 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:08:52 ]
ああ、置き換えるのか・・・仕様とは違うなorz

162 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:16:12 ]
do *p+=1; while(*++p);
適当に置き換えておいてくれ


163 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:39:03 ]
アスキーコード最後の文字はどうするん?

164 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:45:54 ]
何も考えずに1つ後のASCUコードをもつ文字にするんだろ

165 名前:デフォルトの名無しさん [2007/09/01(土) 22:56:37 ]
[1] 授業単元:C言語
[2] 問題文: 長方形の縦と横の長さ(double型)を引数として受け取り、その長方形の面積(double型)を
       返す関数Xを作り、mainから呼び出して動作を確認するプログラムの作成
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Windows visual studio2005
 [3.3] 言語: C
[4] 期限: 9月3日 21時
[5] その他の制限: なし

166 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 23:02:06 ]
#include <stdio.h>

double X(double width, double hight)
{
return width * hight;
}

int main(void)
{
printf("%g", X(10.0, 8.0));
return 0;
}

167 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 23:50:03 ]
>>155
テトリスでもいいんで教えてもらえないでしょうか。要領さえ分かれば何とかなるんで
>>156
全然違う事の勉強です。

168 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:11:21 ]
>>162
これって1文字目が\0だとPC爆発しないか?

169 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:21:51 ]
しないよ



170 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 05:25:19 ]
>>167
school.topposystem.co.jp/SampleCode/PictureList.asp
のフリーサンプル集のどっかにあったよ。
っていうか、俺もサンプルとして見たかったからダウンしたので
それをupしますね
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4891.zip

171 名前:デフォルトの名無しさん [2007/09/02(日) 20:09:48 ]
>>160
お早い回答ありがとうございます!!
おかげで助かりました!

>>162
どこを置き換えればいいかもおしえていただけると助かるのですが
おしえていただけないでしょうか?

172 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:53:33 ]
>>171
void replaceFollower(char * foo)
{
for (unsigned ic = 0; foo[ic] != '\0'; ++ic) {
++foo[ic];
}
}
#include <stdio.h>
int main()
{
char str[] = "Nurupo";
printf("%s\n", str);
replaceFollower(str);
printf("%s\n", str);
return 0;
}

173 名前:36 [2007/09/02(日) 22:49:56 ]
>>36です.
遅くなりましたが,答えてくださった方ありがとうございます.
無事に課題提出を行うことができました.
実は>>36で書いた課題にはオプション問題がありまして,
自分には全く分からなかったので手を出さなかったのですが….
どのように解答するか気になるので,
もし分かる方がいたらよろしくお願いします.
[1] 授業単元:C言語
[2] 問題文:
二次座標平面において,ランダムに4〜5個ほど点が与えられる.
そのような複数の点の最近傍を通る円の方程式を求めよ.
ただし,中心座標(x_0,y_0)は
(1)一番低いy座標よりも下にある.
(2)一番低いx座標よりも左にある.または,一番高いx座標よりも右にある.
{if((x_0<=xmin||x_0<=xmax)&&y_0<=ymin) true;}
を満たすものとする.
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:C
[4] 期限:期限なし
[5] その他の制限:計算速度が速い方が好ましい.

174 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:55:35 ]
>>173
最近傍の評価はどうするの?
円と点 n の距離を Dn と置く時
Σ(Dn)
Σ((Dn)^2)
とかそういうのが無いと解けないっぽ

175 名前:36 [2007/09/02(日) 23:28:37 ]
>>174
評価関数は各自で任意に設定すると言われているのですが….
今回は
Σ(Dn^2)
の最小二乗法でお願いします.

176 名前:デフォルトの名無しさん [2007/09/03(月) 00:47:20 ]
[1] 授業単元:C言語
[2] 問題文: 整数aと自然数nを入力してaのn乗を求める。入力は正しく行われるものとする。
[3] 環境
 [3.1] OS:Win
 [3.2] コンパイラ:Win visual studio2005
 [3.3] 言語: C
[4] 期限: 9月5日
[5] その他の制限: --nを使うところまではわかるのですが、どうも上手くできません。
           お力を貸していただけると助かります。




177 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 01:04:59 ]
int factorial(int a,int n){
long int buf=a;
while(n!=0){
buf *=a;
n--;
}
return buf;
}
ただし少しnを大きくしただけでオーバーフローする

178 名前:デフォルトの名無しさん [2007/09/03(月) 07:13:30 ]
[1] 授業単元:C言語
[2] 問題文:掛け算の九九の表をファイルprod99.txtに書き込むプログラムを作成する。
 [3.1] OS:Windows
 [3.2] コンパイラ:Windows visual studio2005
 [3.3] 言語: C
[4] 期限: 9月5日 12時
[5] その他の制限: 特にありません


179 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 08:34:13 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
仕事は「納期 T、作業時間 W、ペナルティ C」の
三つの情報で特徴付けられるとする。

N 個の仕事が与えられる。これらの仕事を適当に並び替えて
「納期から遅れた時間×ペナルティ」の総和を最小にせよ。
なお、開始の時刻は 0 とする。

入力:
一行目は仕事の総数 N (正の整数、N ≦ 50 としてよい)
二行目から n+1 行目までは仕事の情報 T W C (すべて正の整数)

出力:
最小の「納期から遅れた時間×ペナルティ」の総和。

例:
(入力)
2
1 2 3
1 1 1
(出力)
5
(1番目の仕事をやってから2番目の仕事をやる。両方納期には遅れるが
 ペナルティ 5。逆にすると2番目の仕事は納期に間に合うがペナルティ 6)
[3] 環境:特に指定なし(OS環境問わず、C/C++どちらでも可)
[4] 期限:9月10日
[5] その他の制限:特になし



180 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 08:40:41 ]
>>173
付帯条件がよくわからんのだけど、つまり円の右上だけ(or 左上だけ)で
他の点に近い円を描けってことでよいのかね?

181 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 08:43:42 ]
>>178
#include <stdio.h>
int main() {
  int i, j;
  FILE *fp = fopen("prod99.txt", "w");
  for (i = 1; i <= 9; ++i) {
    for (j = 1; j <= 9; ++j) {
      fprintf(fp, "%2d ", i*j);
    }
    fprintf(fp, "\n");
  }
  fclose(fp);
}

182 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 08:45:10 ]
>>178
#include <stdio.h>
int main(void){
FILE *file;
if(({file=fopen("prod99.txt","r"))==NULL){
fputs("エディタを開いて、ファイル名 prod99.txt に以下を書き込んでください\n"
" 1 2 3 4 5 6 7 8 9\n"
" 1 1 2 3 4 5 6 7 8 9\n"
" 2 2 4 6 81012141618\n"
" 3 3 6 9121518212427\n"
" 4 4 812162024283236\n"
" 5 51015202530354045\n"
" 6 61218243036424854\n"
" 7 71421283542495663\n"
" 8 81624324048566472\n"
" 9 91827364554637281\n",stderr);
return 1;
}
fputs( " 1 2 3 4 5 6 7 8 9\n"
" 1 1 2 3 4 5 6 7 8 9\n"
" 2 2 4 6 81012141618\n"
" 3 3 6 9121518212427\n"
" 4 4 812162024283236\n"
" 5 51015202530354045\n"
" 6 61218243036424854\n"
" 7 71421283542495663\n"
" 8 81624324048566472\n"
" 9 91827364554637281\n",file);
fclose(file);
return 0;
}


183 名前:182 mailto:sage [2007/09/03(月) 09:01:27 ]
if(({file=fopen("prod99.txt","r"))==NULL){

if(({file=fopen("prod99.txt","w"))==NULL){

184 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 09:11:13 ]
{

185 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 12:02:13 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 逆ポーランド記法に変換してから計算する四則演算の電卓プログラムを作れ
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: c
[4] 期限: 2007年9月4日

よろしくおねがいします。

186 名前: ◆kRtmRcQ9ak [2007/09/03(月) 12:41:26 ]
[1] 授業単元: コンピュータプログラミング
[2] 問題文: 名前&身長&体重の入力&ファイルに記録&読み出し&BMI計算(BMI=体重kg/(身長m)^2)&身長順に並び替え
[3] 環境
 [3.1] windows
 [3.2] コンパイラ名とバージョン:C++Compiler5.5
 [3.3] 言語: C
[4] 期限:2007 9/5まで
[5] その他の制限:無し。

よろしくお願いします。


187 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 13:35:05 ]
>>185
エラーチェックはしていない
二桁以上の数が入力される場合にも対応していない

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4893.c

188 名前:billy [2007/09/03(月) 14:58:50 ]
構造体に入っている値を32個ずつ別のテキストファイルに出力したいのですが、どうしたらいいのですか?

189 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:00:11 ]
>>188
スレ違い



190 名前:デフォルトの名無しさん [2007/09/03(月) 16:19:38 ]
〔1〕C言語
〔2〕問題(下記)
#include<stdio.h>
void main()
{
int ia;

printf("整数を入力してください:");
scanf("%d",&ia);
if(○○)
printf("偶数です");
else
printf(”奇数です”);
}

上記に示したのは、入力した整数が偶数か奇数かを判断するプログラムである。
if(○○)の○○を埋めよ。
〔3〕WinXP

9月4日〆

よろしくお願い致します。

191 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:23:52 ]
>>190
(ia+191)%2

192 名前:デフォルトの名無しさん [2007/09/03(月) 16:35:44 ]
>>191
協力感謝です。
有難うございました!

193 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:47:42 ]
[1] 授業単元:C言語
[2] 問題:引数として渡された2つの整数の小さい方の値を返す関数である。
      〔  〕のを埋めて関数を完成させよ。

〔  〕imin(int ia,int ib)
{
if(ia<ib)
〔  〕
else
〔 〕
}

[3] 環境
 [3.1] OS:WindowsXP
 [3.3] 言語:C++
[4] 期限: 9月4日まで
[5] その他の制限: なし

葬式で1週間授業休んだらおいてかれた\(^o^)/


194 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:52:28 ]
>>193
〔int〕imin(int ia,int ib)
{
if(ia<ib)
〔return ia;〕
else
〔return ib;〕
}

195 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:54:22 ]
〔/*  〕imin(int ia,int ib)
{
if(ia<ib)
〔;  〕
else
〔*/int imin(int ia,int ib){return ia<ib?ia:ib;〕
}

196 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:55:12 ]
>>193
馬鹿?これよんどけ。
ttp://www5c.biglobe.ne.jp/~ecb/c/07_01.html
ttp://www5c.biglobe.ne.jp/~ecb/c/07_01_02.html
ttp://www5c.biglobe.ne.jp/~ecb/c/07_01_03.html
int
return ia;
return ib;

197 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:55:22 ]
>195の勝ち。

198 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:56:07 ]
>>195
この発想はなかったわ

199 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:52:39 ]
[1] 授業単元:パターン認識
[2] 問題:
問題の概要はwww.uploda.org/uporg1000429.txtにかきました。
問題は、入力データを正規分布のデータで評価し確率をもとめてほしいのです。
長くなりましたがお願いします。
計算がめんどうだったらlogで出してくれてもいいです。
[3] 環境
 [3.1] OS:LINUX
 [3.3] 言語:C
[4] 期限: いつでもいいです。




200 名前:36 [2007/09/03(月) 21:35:18 ]
>>180
そうです,右上または左上となる円を描くイメージです.
もしお時間ありましたらよろしくお願いします.

201 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 21:49:05 ]
>>199
「正規分布のデータで『評価』」ってなに?
アップローダにあるほうもグダグダかかれてて
結局問題でやるべきことがよくわからないんだが。






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

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

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