952 :
デフォルトの名無しさん:2006/02/16(木) 01:24:14
最強はやはりBASIC
話題のガベコレももれなくついてくる
953 :
◆KxeUK/HCiI :2006/02/16(木) 02:38:22
[1] コンピュータープログラミング
[2] パズルを考える。このパズルでは,9×9 のマスに,次の条件に従って 1〜9 の数字を入れていく。
同じ列・同じ行に同じ数字を入れてはならない。
9×9 のマスは,大きな 3×3 のブロック 9 つに仕切られており,この中でも同じ数字は複数入れてはならない。
という問題です。
ttp://www.iba.k.u-tokyo.ac.jp/~iba/C/report3/report3.htm [3] 環境
[3.1] Linux
[3.2] gcc 3.4 VC 6.0
[3.3] どちらでも可
[4] 2006年3月10日
[5] 特に制限はありません
よろしくお願いいたします
>>953 明日はお偉いさんから呼び出しだな
覚悟きめておいたほうがいい
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): コードの入力ミスをチェックするためにチェックディジットを付けたコードを利用することがある。
チェックディジットの算出方法について考える。,
コードの形式は基本コードの後に、チェックディジットを一桁つける。
コード XXX・・・Xx(X コード、x チェックディジット)
例えば、基本コードが"3869214"のとき
基本コードの各桁にウェイト付けを行う。ウェイトは桁の先頭から
7,6,5,4,3,2,7,6,5・・・,2の順で繰り返す基本コードを数値に変換し、ウェイトは桁の先頭から。
各桁の総和を求める。このとき各桁の値が2桁の場合は、10位と1の位を、それぞれ1桁の数値として加算する。
基本コード '3' '8' '6' 9' '2' '1' '4'
数値変換 3 8 6 9 2 1 4
x x x x x x x
ウェイト 7 6 5 4 3 2 7
21 48 30 36 6 2 28
分割 2+1 + 4+8 + 3+0 + 3+6 + 0+6 + 0+2 + 2+8 =45
加算した結果45を11で割った余りをを求める。さらに、求めた余りを11から引いた値がチェックディジットになる。
なお値が2桁のときは、1の位の数字がチェックディジットとなる。
45 % 11 = 4 余り 1
11 - 1 = 10 (0 チェックディジット)
よってチェックディジットは0となり、これを文字に変換して、文字列の末尾に付加する。
付加した結果、コードは、"38692140"となる。
[3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン VC 6.0 [3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: 穴埋めです@〜Dまでに入る文を教えてください
/* チェックディジット */
#include <stdio.h>
int chkdigit(char *code)
{
int wait[] = {7,6,5,4,3,2};
int i =0, kei = 0, work;
int chk_d;
while(*code != '\0'){
if(@) return -1;
A;
kei += (work / 10) * (work % 10);
B;
code++;
}
C;
if(chk_d >=10) chk_d = chk_d % 10;
*code = chk_d + '0';
D;
return 0;
}
void main(void)
{
char code[100];
gets(code);
if(chkdigit(code)) printf("エラー\n");
else printf("%s\n",code);
}
よろしくお願いします連投すいません
>>955 例題の通りだとすると、一部問題に間違いがあると思う。修正して出した。
/* チェックディジット */
#include <stdio.h>
int chkdigit(char *code)
{
int wait[] = {7,6,5,4,3,2};
int i =0, kei = 0, work;
int chk_d;
while(*code != '\0')
{
if( (*code - '0' < 0 ) || (9 < *code - '0') ) return -1;
work = (*code - '0') * wait[i % 6];
kei += (work / 10) + (work % 10);//ここは間違い?題意では*ではなく+では?
i++;
code++;
}
chk_d = 11 - (kei % 11);
if(chk_d >=10) chk_d = chk_d % 10;
*code = chk_d + '0';
*(code+1) = '\0';
return 0;
}
[1] 授業単元:プログラミング演習
[2] 問題文:
1〜3999 のいずれかを入力して、ローマ数字による表記で出力するプログラムを作りなさい。
ただし、 I(1) V(5) X(10) L(50) C (100) D(500) M(1000) を使って表すものとし、とする。
( 例 )
45...XLV
3999...MMMCMXCIX
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C
[4] 期限: 2006年2月17日まで
960 :
959:2006/02/16(木) 05:39:39
できれば switch文を用いる感じで・・・
次スレはいらないね
>959
int a;
/* 入力は略 */
switch (a) {
case 1: printf("I\n"); break;
case 2: printf("II\n"); break;
/* 略 */
}
>>963 あとはそのcase文を自動生成するプログラムを書けばいいね!
>>953 level1 の方針
(1)1〜9の数字がそれぞれ置ける状態どうかを記録する領域をマスの数だけ準備
(2)数字が入っているマスがあった場合、そのマスの縦、横、3*3のマスにはその数字が置けないとして記録
(3)1〜9の数字のうち、1種類の数字しか置きようがないマスが出てくるのでそこに数字いれる
(4)数字をマスに入れたら、そのマスの縦、横、3*3のマスにはその数字が置けないとして記録
(5)進展がなくなるまで(3)〜(4)の繰り返し
(6)全部マスが埋まってたら答え、埋まってないマスがあればlevel1じゃとけねーよっと
(*)どの数字も入れようがないマスが発生したら解けない問題です
日本語分かりにくくてすまないな・・('A`)
昔作ったソースがあったがひどいもんだったのでupとかは多分しない
がんばれよ東大生
967 :
デフォルトの名無しさん:2006/02/16(木) 07:40:40
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):半角カタカナから全角カタカナに変換する関数
[3] 環境
[3.1] OS:Windows XP Pro
[3.2] コンパイラ名とバージョン:VC++ 6.0
[3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:なし
よろしく、お願いします。
969 :
デフォルトの名無しさん:2006/02/16(木) 07:46:32
期限が無期限の宿題ってなんぞやもし?
センセー! ひょっとして、
>>967は業務プログラムですか?
972 :
111:2006/02/16(木) 08:01:15
前のスレに同じ質問があったのですが、
[1] 授業単元:生産工学
[2] 問題文(含コード&リンク):
次の4点
(0,0),(1,0),(1,1),(0,1)
を順に通る3次のSPLINE曲線とそのグラフを描くプログラムを作成せよ。
始点と終点の接線の方向はそれぞれ(1,1)と(-1,0)とする。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラは何でもいいっていわれました
[3.3] 言語: C
[4] 期限: できるだけ早くお願いします。
[5] その他の制限: プログラムリストとそれによってできたグラフを印刷して提出といわれますた。
グラフのソフト等も特に制限はないそうです。
をもう一度お願いします。卒業かかっているので、宜しくお願いします。
半角から全角は濁点とかが付いたりするから面倒くさいんだよな
VCだと_mbbtombcがあるからすこしはマシになるけど
>>972 グラフィック関係のやる人いないと思うぞ…
数学 魔方陣
でググればおいしいことが見つかるかも
978 :
976:2006/02/16(木) 12:44:40
>>976 39行目 answer_check って行はデバッグ用だったので,消してください.
>>914=967で、業務用プログラムだな。
大方名簿か在庫管理のコードで、最初書き出しに困って、
次に半角の名前に困ったってことだろ
>>980 濁音半濁音の処理はしてくれないのかな?
>>967 iconvでiso2022に変換してから元の漢字コードに戻すといいよ。
#nkfでもいいけどw
>>980 「ガ」は「ガ」にしてください。
詳細設計で書いてあるので絶対そうしてください。
詳細設計ってなんだろ・・・
そんな突っ込みはいいから早く
急いでます
今日、合コンだから残業できないんだよ!
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
>絶対そうしてください。
市ね
あ〜、もうムカツク。
お前が氏ね
>>988 お前ら役に立たないので向こうで質問してきます。
釣り放題でつね ニヨニヨ( ・∀・ )ニヨニヨ
991 :
967:2006/02/16(木) 14:19:43
というか、なぜトリップをつけないのかと・・・
つけました
次スレまだー?
嫌気がするような連続書き込みをしてライバルを減らし
楽してズルして1000は頂く
ほげ
hage
すいませんちょっと質問していいですか?
長くなるので次スレに書きます・・・
教えてクン(`皿´)ウゼー
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。