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

このエントリーをはてなブックマークに追加
蟹チャーハンうまうま
蟹工船
879hj:04/02/26 01:52
氏名を5人分をキーボードから入力して、昇順にソートする。
そして、データマッチング機能を使用して、キーボードから
検索したい氏名を入力してあれば表示する。

分かる方、いました教えてもらえないでしょうか?
お願いします。
>>879
>データマッチング機能
正規表現の事か?
単なる文字列比較でいいんじゃないの?
「使用して」って言うと大層に聞こえるけど。
コード関係の質問てここでしてもいいんでしょうか(´・ω・`)
レベルはかなり低いと思うのですが、教科書買ってないため全然手がつけられません
例をあげると

次の各意味を表すコードを記述しなさい
1.テキストボックス1を空欄にする 
といった感じです

ちなみに変数型の名称調べるのに1時間かかったへたれです_| ̄|○
>>882
教科書は買わずとも、何とかして手に入れるべき。勉強にならんだろ。
で、授業に出てない奴とかの宿題は、全文が書いてなかったり前提条件が不明だったりするので、
解答が得られることはまれ。

この場合のテキストボックスとはなんぞや?というところから入らないといけないのでね。
884882:04/02/26 13:13
>>883
課題の内容からいくと、ただのコードの記述だけでいいと思うのですが
それすらわからないという感じです(´ω`;)

次の各意味を表すコードを記述しなさい
1.テキストボックス1を空欄にする 

TextBox1.Caption = ""          (あってるのかな_| ̄|○

という感じの問題が大多数を占めています
>>884
VBのくだスレ行った方がいいんじゃないかな・・・
ありがとうございます
レス検索してまいります
887デフォルトの名無しさん:04/02/26 22:59
C言語の問題です。

キーボードから入力された数値の範囲をチェックします。
範囲は0〜100として、入力の際に文字(a〜z,A〜Z,特殊文字)、
空白を含む入力、リターンのみの入力はエラーと表示します。
そしてもう一度入力を要求し、正常データが入力された時点で入力数値を表示して終了する。

実行結果例
INPUT:aaa
エラー
INPUT:A1a
エラー
INPUT:?1?
エラー
INPUT:(Enterキーのみ)
エラー
INPUT:101
エラー
INPUT:55
55

数字と文字をどうやって区別するのかがさっぱりわかりません。
どなたかお願いします。
#include <stdio.h>
#include <string.h>

int main()
{
       char str[256];
       int i;

       while(1) {
              printf("INPUT : ");
              gets(str);
              for(i=0;i<strlen(str);i++) {
                     if(str[i] < 0x30 || str[i] > 0x39) {
                            printf("エラー\n");
                            break;
                     }
              }

              if(i == strlen(str)) {
                     printf("%s\n",str);
                     break;
              }
       }
       return 0;
}

かなりテキトゥー
というかgetsでEnterのみを判別することは出来るんだろうか_| ̄|○
>>887
短いやつ。でも荒がありそう。
#include <stdio.h>
int main(void)
{
char str[BUFSIZ],str2[BUFSIZ];
int num;
while(1)
{
if(fgets(str,sizeof(str),stdin)==NULL)continue;
if(sscanf(str,"%d%s",&num,str2)!=1)continue;
if(num<0||num>100)continue;
break;
}
return 0;
}
スマン整数の範囲チェック入れ忘れた
getcharを3回やっちゃだめ?
892887:04/02/26 23:25
>>888〜891
ありがとうございました。
数字と文字の判別法とかわかりました。すごく助かりました。
#include <stdio.h>
void main(void)
{
int a;
printf("Input ; ");
gets('a');

if(a<1 || 100<a)
printf("\nError\n");

printf("%d",a);
}
fgets()で入力し、sscanf()かstrtol()で解析。
ここはこんな簡単なものも書けない香具師ばっかりか?
>891
入力データのサイズは決まっていない。
>>895
>範囲は0〜100として
>>896
ユーザが3桁しか入力しないという保証はない。
898891:04/02/27 16:02
>>897
だから、getcharを使ってプログラム側で3桁で
入力を打ち切るんだってば。できない?
char data[3];
int x;
data[0] = getchar();
data[1] = getchar();
data[2] = getchar();
if ('0' <= data[0] && data[0] <= '9'
&& '0' <= data[1] && data[1] <= '9'
&& '0' <= data[2] && data[2] <= '9')
&& 0 <= (x = (data[0] - '0') * 100 + (data[1] - '0') * 10 + (data[2] - '0'))
&& x <= 100)
//hogehoge
else
//hogehoge
みたいに。
>>898
打ってる途中での修正がきかないだろ。
900891:04/02/27 16:53
>>899
はい、その通り。
逝ってくる。
修正できるかどうかはコンソール次第だろ。
つーか一回作れよ。
100以外は全部エラーかよ
for(;;){
int i,data;
char buf[3+1]={0};;
for(i=0; i<sizeof(buf); ++i){
if((data=getchar())==EOF) break;
if(data=='\n') break;
if(i==sizeof(buf)-1){ ungetc(data, stdin); break; }
buf[i]=data;
}
if(data==EOF || feof(stdin)) break;

if(sscanf(buf,"%d",&i)<=0) x=-1;
if(i<0 || 100<i) i=-1;

printf(" -- %s", (i>=0)?"OK":"NG");
if(i>=0) printf(" (%d)", i);
putchar('\n');
}
あ、 x って間違ってるよ
906デフォルトの名無しさん:04/02/27 22:28
別に宿題じゃないんですが、無限ループの中で交互にある処理を実行した
い場合次の方法以外に何かありますか?

int a=0;
for(;;){
if(a == 0)
a=1;
else
a = 0;
}
>>906
一体何の処理をしているのかよく分からんが・・・

int a=0;
for(;;) a = !a;
>>906
分岐しなくとも2個が交互に実行されるだけなら、
1回のループで2個処理を一気に実行すればいいんじゃないのか?
909デフォルトの名無しさん:04/02/28 10:57
ttp://www.42ch.net/UploaderSmall/source/1077933333.txt
このような問題を出されたのですが良ければ
この中のレポート問題1~4のやり方できたら教えてください
910デフォルトの名無しさん:04/02/28 10:58
>>909
問題はどれですか?
911909:04/02/28 11:26
すいません問題間違えてました。
ttp://www5f.biglobe.ne.jp/~freeuploader/yui/source3/No_0474.txt
WM_TIMER
WM_LBUTTONDOWN
WM_RBUTTONDOWN
WM_PAINT
913ぼるじょあ ◆yBEncckFOU :04/02/28 12:15
(・3・)エェー 質問受付中ですYO!
ぼるじょあさんはいつもスレ見てるんではないのですか?
915モナーぼるじょあ ◆yBEncckFOU :04/02/28 13:38
>>914
ぼるじょあは全知全能の神だからだYO(・3・)
漸痴蝉嚢
sage
918デフォルトの名無しさん:04/02/28 17:51
問題の条件として、「各関数の引数と戻り値は定義せず外部変数を使うこと」
とあるんですが、どういうことかわかりません。
void 関数名(void)
みたいな関数のみを使って書け、ということでしょうか?
919デフォルトの名無しさん:04/02/28 17:56
>>918
だろうな。
staticをつけないグローバル変数だけでどうにかしろということだと思う。
920918:04/02/28 18:08
>>919
ありがとうございました。迷いがなくなりました。
>>899
うちではコンソールで修正できた。
Metrowerks CodeWarrior 8.2 Pro for Win

やっぱり処理系依存みたい。
922デフォルトの名無しさん:04/02/29 22:54
成績が正規分布に従うとして、偏差値60、70、80以上の人数を求めよ

…数学板行きかな?
キーワードはZ
>>922
ざっとn{1-P(X<(d-50)/10)}人。
(nは人数、dは偏差値、P(X<x)は標準正規分布に従う変数Xがxより小さくなる確率)
P(X<x)は
(1 + erf(x / sqrt(2))) / 2
で行けるはず。標準通りdouble erf(double)が実装されていればの話だが。
ちなみに家では#if !__INTEL__とかされて実装されてされてない(w
926デフォルトの名無しさん
0〜999までの整数X,Yをそれぞれ入力し、
その入力された整数を一つの文字列に結合・変換し出力したいです。
また入力された整数が1桁や2桁の場合は3桁に変換し、
必ず6文字の文字列なるように変換しなければなりません。
例)入力・・・X=9、Y=30
  出力・・・009030(文字列)
というような感じです。よろしくお願いします。