• ベストアンサー

正しい値が戻ってきません。どこが間違っているのでしょう。

おはようございます http://www.newcanyon.com/i/tips.html のルールで相性を占うプログラムをここで何度か質問させていただきまして、組み、無事できた!と思ったのですが、実行すると誤った数値が戻ってきます いったいどこが間違っているんでしょうか? ぜひヒントを出していただけると助かります ※ん・記号などの文字は6として計算します 入力フォームは あなたの名前 <INPUT TYPE=text NAME=myname Value="" SIZE=20> 相手の名前 <INPUT TYPE=text NAME=yourname Value="" SIZE=20> から成り Receive.aspは NAME1=Request.Form("myname") NAME2=Request.Form("yourname") NAME=NAME1&NAME2 Dim i,p p=Len(NAME) Dim Suji(100) For i=1 to p Suji(i)=Mid(NAME,i,1) Select Case Suji(i) Case Suji(i)="あ","か","が"… Suji(i)=1 Case Suji(i)="い","き","ぎ"… Suji(i)=2       以下ウ、エ、オの段が続く Case Else Suji(i)=6 End Select Next Dim m,j,k,n,nows m=Len(NAME) n=Len(NAME) For k=1 to n-1 For j=1 to m-1 Suji(j)=Suji(j)+Suji(j+1) nows=k If Suji(j)>=10 Then Suji(j) = Suji(j) mod 10 End If Next Next Aisho=Suji(j-1)&Suji(j) Response.Write S1 & "相性は" & aisho & "%です" %> たとえば、myname=あ yourname=い なら26%が戻ってきます。 selectのところが違うんでしょうか…

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

aspはどういう記述方法か知りませんが、select caseが文法的におかしいと思います。 Select Case Suji(i) Case "あ","か","が"… Suji(i)=1 では? 毎度毎度条件を入力するくらいならselect caseなんて文法自体が無駄なわけですし・・・。

analogy
質問者

お礼

早速のお返事ありがとうございます!あーなんかselectcase自体の書き方を勘違いしてました。ほんとにありがとうございます。

その他の回答 (2)

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.3

クレペリンの計算方法は、 ------------------------------------------------------ <% ・ ・ ・ ・ For i = 1 To SujiLength - 2   For j = 1 To SujiLength - i     Suji(j) = Suji(j) + Suji(j+1)     If Suji(j) > 10 Then Suji(j) = Suji(j) - 10   Next Next   %> 相性は<%= Suji(1) %><%= Suji(2) %>%です ------------------------------------------------------ このような感じですかね。 [注意]表示の関係上、ソースコードのスペースは全角になっています。

analogy
質問者

お礼

ありがとうございます。なるほど!そこにiを入れるんですね。 二桁だとうまくいきますが、それ以上ですとなんか変です…?うーんでも考え方、少しつかめました。ちょっと自分で考えて見ます。ほんとにありがとうございました。

analogy
質問者

補足

うまくいきました!!わたしが足し合わせる行の数をSujiLength - 2だと思い込んでいたので変になっていました…。一段目はselectcaseで出てるんですよね… すみません。本当にありがとうございました。こんな朝からどうもありがとうございました。

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.2

For i = 1 To p   Select Case Mid(NAME,i,1)   Case "あ","か","が"…     Suji(i)=1   Case "い","き","ぎ"…     Suji(i)=2   Case Else     Suji(i)=6 Next とりあえずSelectはこんな感じ。

analogy
質問者

お礼

なるほど、一行省略できるんですね!宣言はとりあえず残すことにしました。ほんとにありがとうございます。

関連するQ&A

専門家に質問してみよう