ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 04:09

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 9 件の記事 ] 
作成者 メッセージ
 記事の件名: 数字の足し算
投稿記事Posted: 2008年4月12日(土) 16:07 
オフライン

登録日時: 2006年8月21日(月) 14:26
記事: 104
お住まい: 兵庫県
どうもお久しぶりです・・・。
受験が終り、高校にやっとなれはじめた雷電です。

今回は、文字から変更した数字についてです。
文字列を数字に変更する関数はVal関数でいいのですが、
その変更した後、変更された数字を足し算したいのです。

例えば、文字列が12345だとすると、
1+2+3+4+5の計算をしたいのです。
一字ずつ切り出して、計算したいのですが、どなたかご教授ください・・・

_________________
===============================
MyHomePage;; raiden.no.land.to/
===============================


通報する
ページトップ
 記事の件名: 文字列の抽出演算
投稿記事Posted: 2008年4月12日(土) 18:42 
オフライン

登録日時: 2005年9月02日(金) 22:15
記事: 96
お世話になります。

 突貫プログラムです。

バグがあったら報告願います。
コード:
#N88BASIC

Dim Mojiretu$ As String
Dim Kotae As Long
Dim q As String

Mojiretu$="0123456789"

Kotae=MojiCal(Mojiretu$,0)

Print Kotae

Input "終了しました。(Hit Enter Key)";q

End

Function MojiCal(Mojiretu$ As String,Kotae As Long) As long
         Dim Mojisuu As Long
         Dim i As Long
         Mojisuu=Len(Mojiretu$)
         For i=1 To Mojisuu
             Kotae=Kotae+Val(Mid$(Mojiretu$,i,1))
         Next i
         MojiCal=Kotae
End Function


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2008年4月12日(土) 18:58 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
文字列を数値に変換した後に作業をするので、下でもいいと思います。
コード:
#console
Dim Strings As *Byte

Strings="0123456789"
Print Calc_AddPlace(Val(Strings))
Print Calc_AddPlace(123456789)
Sleep(-1)

Function Calc_AddPlace(src As DWord) As DWord
	Dim dst=0 As DWord
	While src
		dst=dst+(src Mod 10)
		src=src\10
	Wend
	Calc_AddPlace=dst
End Function

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
 記事の件名: 数字の足し算
投稿記事Posted: 2008年4月12日(土) 19:35 
オフライン

登録日時: 2008年4月12日(土) 18:44
記事: 1
コード:
#prompt
2 Dim A As Long'数字の入力用
3 Dim B As Long'数字の計算用
4 Dim C As Long'数字の表示用
5 A=0:C=0
6 Input "数字を入力してください";A
7 For B=1 TO A 
8 C=C+B
9 NEXT
10 PRINT"答えは";C'答えの表示
11 GOTO 5
end


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2008年4月12日(土) 20:23 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
>>tks
文字列を数字と見なした時の各桁の値の合計を求めるのが雷電さんの目的だと思ったのですが、
何かやってることが違うように見えます。

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
投稿記事Posted: 2008年4月12日(土) 20:56 
オフライン

登録日時: 2005年9月02日(金) 22:15
記事: 96
お世話になります。

 konisiさんにはいつも勉強させられます。

tksさんのプログラムは10を入力すると1~10までの合計55が答え、
例えが「1+2+3+4+5の計算をしたいのです」どおりですね。

ちょっと拡大解釈しすぎの2桁対応バージョンも作ってみました。
「カンマ区切りの不定長桁数もありかな?」
コード:
#N88BASIC

Dim Mojiretu$ As String
Dim Kotae As Long
Dim q As String

Mojiretu$="00112233445566778899"

Kotae=MojiCal(Mojiretu$,0)

Print Kotae

Input "終了しました。(Hit Enter Key)";q

End

Function MojiCal(Mojiretu$ As String,Kotae As Long) As long
         Dim Mojisuu As Long
         Dim i As Long
         Mojisuu=Len(Mojiretu$)
         For i=1 To Mojisuu Step 2
             Kotae=Kotae+Val(Mid$(Mojiretu$,i,2))
         Next i
         MojiCal=Kotae
End Function


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2008年4月12日(土) 21:15 
オフライン

登録日時: 2006年8月21日(月) 14:26
記事: 104
お住まい: 兵庫県
多数の返信ありがとうございます。
一応できましたww

ありがとうございましたw

_________________
===============================
MyHomePage;; raiden.no.land.to/
===============================


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2008年4月12日(土) 21:28 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
ちょっと遅れましたがCSV版を作れとの事なので作ってみました。
コード:
#console
Dim Strings As *Byte

Strings="23,432,54,2,0,123,-43"
Print Calc_AddCSV(Strings)
Sleep(-1)

Function Calc_AddCSV(src As *Byte) As Double
	Dim src$ As String,find_old=1 As Long,find=-1 As Long
	Dim dst$ As String,dst=0 As Double
	src$=MakeStr(src)
	Do
		find=InStr(find_old,src$,",")
		If find then
			dst$=Mid$(src$,find_old,find-find_old)
			dst=dst+Val(dst$)
			find_old=find+1
		Else
			dst$=Mid$(src$,find_old,Len(src$)-find_old+1)
			dst=dst+Val(dst$)
			Exit Do
		End If
	Loop
	Calc_AddCSV=dst
End Function

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
投稿記事Posted: 2008年4月12日(土) 22:48 
オフライン

登録日時: 2005年9月02日(金) 22:15
記事: 96
お世話になります。

 > ちょっと遅れましたがCSV版を作れとの事なので作ってみました。

おみそれしました。

 これって、実践コードモジュールに登録できるのでは?

参考になります。

 ありがとうございました。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 9 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot], Baidu [Spider] & ゲスト[18人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean