課題を出してくれ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/06/23(土) 01:38:44課題出してくれたらCで作ります。
0002デフォルトの名無しさん
2007/06/23(土) 01:42:34なるべく使いやすいI/Fでな
0003デフォルトの名無しさん
2007/06/23(土) 01:44:34素数を全て列挙するプログラムを作れ。
0004デフォルトの名無しさん
2007/06/23(土) 01:47:40指定したディレクトリ内からエロ画像だけ認識して別のディレクトリに移動するプログラムたのむ
0005デフォルトの名無しさん
2007/06/23(土) 01:47:48だったら上2つを3日で頼む
0006デフォルトの名無しさん
2007/06/23(土) 01:52:500007デフォルトの名無しさん
2007/06/23(土) 01:56:01単語は配列に入っていて、数は決まってない。
配列の最後はNULLが入っている。
char *words[] = {
"abc",
"cde",
"efg",
NULL
};
○ agc efg cde
× abc efg def
0008デフォルトの名無しさん
2007/06/23(土) 01:56:09素数は無限にあるから全て列挙する事は不可能
0009デフォルトの名無しさん
2007/06/23(土) 01:58:55これって結局,何ていう問題にリデュースするの?
0010デフォルトの名無しさん
2007/06/23(土) 01:59:240011デフォルトの名無しさん
2007/06/23(土) 02:00:04void func(T table[], int n);
配列と、その長さを渡されて、その中身の順列組み合わせを表示する関数。
配列の型は適当に。
0012デフォルトの名無しさん
2007/06/23(土) 02:02:17それを考えるのも課題のうちだろう。
0013デフォルトの名無しさん
2007/06/23(土) 02:04:15struct RECT {
int top, bottom, left, right;
};
int f(struct RECT* p1, struct RECT* p2);
0014デフォルトの名無しさん
2007/06/23(土) 02:07:29一番長く続いている箇所の、文字とその長さを表示する関数。
"aaabbbbbbccddd"
これだったら、"b"で長さ6とか。
0015デフォルトの名無しさん
2007/06/23(土) 02:12:03この関数のテスト用データを作成するプログラムを作成せよ。
0016デフォルトの名無しさん
2007/06/23(土) 02:17:04使う正規表現は、*+.の三つ。
たとえば"AA+C*" という正規表現を渡されたら、
"AAAAAAA","AACCCC","XXAAC"のような文字列を生成する。
簡単すぎると思ったら、正規表現の数を増やしてみること。
0017デフォルトの名無しさん
2007/06/23(土) 03:01:15無限に生成できちゃわね?
0018デフォルトの名無しさん
2007/06/23(土) 03:05:270019デフォルトの名無しさん
2007/06/23(土) 10:37:020020デフォルトの名無しさん
2007/06/23(土) 12:12:20ここに問題が山ほどある。
0021デフォルトの名無しさん
2007/06/23(土) 13:01:270022デフォルトの名無しさん
2007/06/23(土) 13:06:020023デフォルトの名無しさん
2007/06/23(土) 15:03:20これでいい?
#include <stdio.h>
#include <string.h>
int ChkSiri(char *w[])
{
int t[256] = {0}, n = 0, i;
for ( ; *w; w++)
t[**w]++, t[(*w)[strlen(*w)-1]]--;
for (i = 0; i < 256; i++)
if (t[i])
n++;
return n <= 2;
}
int main(void)
{
char *words0[] = {"abc", "cde", "efg", NULL};
char *words1[] = {"agc", "efg", "cde", NULL};
char *words2[] = {"abc", "efg", "def", NULL};
printf("しりとり出来%s\n", ChkSiri(words0) ? "る" : "ない");
printf("しりとり出来%s\n", ChkSiri(words1) ? "る" : "ない");
printf("しりとり出来%s\n", ChkSiri(words2) ? "る" : "ない");
return 0;
}
0024デフォルトの名無しさん
2007/06/23(土) 20:19:07先頭と最後の文字のカウントしてるだけじゃ、
axa bxb cxc でも、しりとりできるって判定されるよ。
0025デフォルトの名無しさん
2007/06/25(月) 00:23:02力技。wordsの中身直接いじってます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4378.txt
ちなみに >>1 じゃないよ。
002625
2007/06/25(月) 00:32:160027デフォルトの名無しさん
2007/06/26(火) 10:47:160028デフォルトの名無しさん
2007/06/26(火) 12:14:57それぞれの文字列を点にして後に繋げられるという関係を辺で表すと有向グラフになるから、全ての点を一度ずつ通る経路が存在するかどうかのグラフ理論の問題になるね。
0029デフォルトの名無しさん
2007/06/26(火) 13:15:40一行目で読み込んだ、文字列(半角)を二行目で読み込んだ、文字列と比較し
何番目が違うかを表示するプログラムを作成せよ。
実行例
make
takes
1番目が違います。
5番目が違います。
0030デフォルトの名無しさん
2007/06/26(火) 14:20:10NP困難とかじゃなかったっけ
これって
0031デフォルトの名無しさん
2007/06/26(火) 15:00:020032デフォルトの名無しさん
2007/06/29(金) 16:40:17関数ではありませんが、
最長の文字連続(_文字列,_文字ならび,_長さ) :- atom_chars(_文字列,L),連続(L,0,[],_文
字ならび,_長さ).
連続([],Max,L,L,Max).
連続([A|R],Max,L,X,Y) :- 先頭から連続([A|R],L1,R3),list_length(L1,Len),連続_1(A,Le
n,Max,R3,L,X,Y).
連続_1(A,Len,Max,R3,L,X,Y) :- Len=Max,not(member(A,L)),連続(R3,Len,[A|L],X,Y).
連続_1(A,Len,Max,R3,L,X,Y) :- Len=Max,member(A,L),連続(R3,Len,L,X,Y).
連続_1(A,Len,Max,R3,L,X,Y) :- Len>Max,連続(R3,Len,[A],X,Y).
連続_1(A,Len,Max,R3,L,X,Y) :- Len<Max,連続(R3,Max,L,X,Y).
先頭から連続([A,A|R1],[A|R2],R):- 先頭から連続([A|R1],R2,R).
先頭から連続([A,B|R1],[A],[B|R1]) :- not(A=B).
%%% 実行例 %%%
?- 最長の文字連続(aaabbbbbbccdddeeeeeefffeeeeeejjjjee,_長さ,_文字).
_文字=[e,b],
_長さ=6
yes
?-
003332
2007/06/29(金) 17:13:42?- 最長の文字連続(aaabbbbbbccdddeeeeeefffeeeeeejjjjee,_文字,_長さ).
でした。書き込み直前に>>14の仕様に合わせたのだが、肝心の質問部分を
書き直し忘れた。
0034デフォルトの名無しさん
2007/06/29(金) 18:16:580035デフォルトの名無しさん
2007/06/29(金) 18:40:34FILE *fp = fopen("デスノート", "w");
if(fp == NULLL) exit(1);
fscanf("%s", name);
fprintf(fp, "%s¥n", name);
fclose(fp);
0036デフォルトの名無しさん
2007/06/29(金) 18:43:27デスマになって誰か死ぬかも。
0037デフォルトの名無しさん
2007/06/29(金) 18:49:010038デフォルトの名無しさん
2007/06/29(金) 18:51:500039デフォルト名無しさん
2007/06/29(金) 19:35:01n回ビット回転させるプログラムおしえておくれ〜
0040デフォルトの名無しさん
2007/06/29(金) 19:39:14胴元になれ
確実ではないがプレイヤーよりは儲かる仕組みを自分が作れる
0041デフォルトの名無しさん
2007/06/29(金) 19:53:33ここは課題を代わりに解いてもらおうという
腐れた人間のためのスレではなあい!
0042デフォルトの名無しさん
2007/06/29(金) 19:57:27宿題スレいけ
004332
2007/06/30(土) 06:40:07Prolog向きの課題。仕様からはちょっと外れるが。
しりとり(L,_実行結果) :- member(A,L),しりとり(A,L,_実行結果).
しりとり(A,[A],[A]) :- !.
しりとり(A,L,[A|R]) :- delete(L,A,L2),sub_atom(A,_,1,0,B),member(E,L2),sub_atom(E,0,1,_,B),しりとり(E,L2,R).
sub_atom/5,\+/1,!/0はISO標準規格の組込述語。delete/3とmember/2は
標準規格外だが、組込述語となっている処理系が多い。
delete([],_,[]).
delete([A|R1],A,R2) :- delete(R1,A,R2).
delete([B|R1],A,[B|R2]) :- \+(A=B),delete(R1,A,R2).
member(A,[A|_]).
member(A,[_|R]) :- member(A,R).
0044デフォルトの名無しさん
2007/07/01(日) 15:55:30勤務表は一時間単位であり、以下の制約条件を充たす必要がある。
要員は木村、新井、吉田の3名である。
最小勤務単位は2時間であり、一時間だけの勤務は認められない。
一人勤務は1時間までであり、もし一人勤務に就いた場合は、
次の少なくとも1時間は勤務に就けない。
以下の時間は、それぞれ用事があり、勤務できない。
木村・・14時、新井・・11時と14時、吉田・・9時と11時
004544
2007/07/01(日) 16:00:580046デフォルトの名無しさん
2007/07/03(火) 03:36:46findall/3 と sub_atom/5 を駆使すると
% 最長の文字連続(S,X,Max) :-
% findall(Len,(sub_atom(S,_,Len,_,S1),連続判定(S1)),Lens),
% max(Lens,Max),
% findall(Subatom,(sub_atom(S,_,Max,_,S2),連続判定(S2)),X).
% 連続判定(S) :-
% sub_atom(S,0,1,_,A),
% findall(A,sub_atom(S,_,1,_,A),L),
% atom_chars(S,L) .
でいけるようです。
0047課題
2007/08/17(金) 06:33:09「Windowsが僕のプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
彼のWindowsプログラムが動かないのを調べるのは誰の仕事なのでしょうか?
0048デフォルトの名無しさん
2007/08/17(金) 06:38:10単純なコピーだけでなく、ミスや恣意的な表現の揺らぎにも対応したもの。
0049デフォルトの名無しさん
2007/08/17(金) 06:58:18よりは
彼はそのプログラムをWindowsで動くように作ったのかどうかを調べる
ほうが効率的。
0050デフォルトの名無しさん
2007/08/17(金) 07:01:27別人じゃね。たぶん47。
if文が7段くらい入れ子してそうなコードの悪寒。
0051デフォルトの名無しさん
2007/08/17(金) 09:01:340052デフォルトの名無しさん
2007/08/17(金) 11:39:28彼の次に派遣で来る人
0053デフォルトの名無しさん
2007/08/17(金) 15:04:23氏ねゴミ
0054デフォルトの名無しさん
2007/08/17(金) 15:12:22まあ、ほっといても将来、公園のテントでリアル厨房に虐殺されるかもしれんがw
0055デフォルトの名無しさん
2007/08/17(金) 15:18:010056デフォルトの名無しさん
2007/08/17(金) 15:22:25甘いな
そういうバカでも切るまでに1ケ月は必要
0057デフォルトの名無しさん
2007/08/19(日) 06:24:52まあ、ほっといても将来、社員も派遣も皆失業だから転職かテント暮らしの準備しとけ。
上流から下流まで、人件費が安いベトナム人とかインド人がやるだろうよ。
どっかのアニメーターみたく。
>>56
ひたすらそいつが出したバグを突付きまくって1月凌ぐ。
やるほうもやられるほうも虚しいけどな。
0058デフォルトの名無しさん
2007/09/23(日) 19:18:25こ…この問題、解けたつもりなのにWrongAnswer食らいまくりなんだが…。
0059デフォルトの名無しさん
2007/09/23(日) 20:55:28何が書いてあるんだ?俺は英語くらいしか分からんから読めない・・・
006058
2007/09/24(月) 00:44:20要するに…
普通の直交2次元座標で
円O[中心(x,y),半径R]と点P(u,v)を与えたときに
点(u,v)を中心に持つ円Hが次の条件を満たす最大半径を求めよ。
1・円Hは円Oの内部を含まない。
2・(0,0)放射線源としから円Oを障壁とする。
円Hが放射線に当たらない。
※(0,0)と(u,v)は円Oの外部にあるものとする。
※答えは小数点以下第3位まで求める。条件を満たす円Hがない場合は
0.000とする。
0061デフォルトの名無しさん
2007/09/24(月) 02:36:58入力
3
0 5 3 0 1
0 5 3 2 9
0 5 3 5 9
出力
0.000
1.472
1.400
0062デフォルトの名無しさん
2007/09/24(月) 16:15:411次元変数a[5]を定義し、a[0]〜a[4]に適当な数値を入力したあとにこれらの平均を
計算・表示するプログラム。(a[i](i=0,1,2,3,4)はscanfで読み込み、for文で計算する)
俺はこれでかなり迷ったけどみんなできる?
ちなみに俺は↓の問題がわかりません。このままわからない場合は宿題スレで聞く予定です。
a,b,cをそれぞれ入力し、axの2乗+bx+c=0の2つの解を表示するプログラムです。
0063デフォルトの名無しさん
2007/09/24(月) 16:26:58#define N 5
#define S N-1
double average(int *a)
{
double sum = 0;
int *temp;
for(temp = &a[0]; temp <= &a[S]; temp++)
sum += *temp
return sum/(double)N;
}
0064デフォルトの名無しさん
2007/09/24(月) 16:33:49正解だとは思うけど、defineとか習ってないからできているのか俺からは
何もいえない・・・すいません。
0065デフォルトの名無しさん
2007/09/24(月) 16:42:43ソース晒しておくれ
0066デフォルトの名無しさん
2007/09/24(月) 19:29:45#include <stdio.h>
void main(void)
{
int a[5];
int i,sum;
sum=0;
for(i=0;i<=4;i++){
printf("配列No%d:",i+1);
scanf("%d",&a[i]);
sum += a[i];
}
printf("%d\n",sum/5);
}
こんなんでいいの?
0067デフォルトの名無しさん
2007/09/25(火) 06:06:52正解だと思います。俺の場合averageを使ったので。でもさすがです。
0068デフォルトの名無しさん
2007/09/25(火) 15:19:07動作確認したらあってました。
問題
2次方程式の解放プログラム:a,b,cをそれぞれ入力し、axの2乗+bx+c=0の
2つの解を表示するプログラム
Cのプログラミングでn次元変数を使ってください。
0069デフォルトの名無しさん
2007/09/25(火) 15:44:430070デフォルトの名無しさん
2007/09/25(火) 16:04:101次元変数とか2次元変数です
0071デフォルトの名無しさん
2007/09/25(火) 16:13:09>C言語 "2次元変数" に一致する日本語のページ 4 件
0072デフォルトの名無しさん
2007/09/25(火) 16:15:450073デフォルトの名無しさん
2007/09/25(火) 23:04:35>>72はまーだー??
0074デフォルトの名無しさん
2007/09/25(火) 23:06:46C++ならstd::stackがあるけど、Cならマクロとか駆使すればできるのかな?
0075デフォルトの名無しさん
2007/09/25(火) 23:14:03興味ってすごいね。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4969.zip
0076デフォルトの名無しさん
2007/09/25(火) 23:14:40むしろプリプロセッサなしでは出来ない。
■ このスレッドは過去ログ倉庫に格納されています