AccessTr.neT

Tam Versiyon: replace komutu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
teşekkürler
sadece ikinci + - olsun
dersek birinci değişmesin
nasıl yazmalıyız
teşekkürler
sadece ikinci + - olsun
dersek birinci değişmesin
nasıl yazmalıyı
Metin0 isminde bir metin kutusu ve buton ekleyin forma. Butonun tıklanma olayına aşağıdaki kodu yapıştırın.
Kod:
Dim sonuc As String
Dim nerde As Integer
Dim oncesi As String

    nerde = InStr(1, Metin0, "+", vbTextCompare) ' ilk + nın nerede kaçıncı sırada olduğunu bulalım

    oncesi = Left(Metin0, nerde) ' İlk + ya kadar olan yazıları/bölümü oncesi değişkenine atayalım

    sonuc = Replace(Metin0, "+", "-", nerde + 1, 1, vbTextCompare) ' Metin kutusunda ilk + nın pozisyonundan sonraki + değiştirelim.

    MsgBox oncesi & sonuc ' iki değişkeni birleştirerek tam metni alalım
çok teşekkürler
yapmak istediğime adım adım yaklaşıyorum
hazıra konmamak için kendim yapamadığım kısımları sormaya çalışıyorum
asıl amacım daha öncede dediğim gibi
dört işlem işaretlerini tüm ihtimalleri kullanacak bir döngü oluşturmak
şöyleki
a + b + c + d
a + b + c - d
a + b - c + d
a - b + c + d
a + b - c - d
a - b - c + d
a - b - c - d
a + b + c * d
a + b * c + d
a * b + c + d
a + b * c * d
a * b * c + d
a * b * c * d
a + b + c / d
a + b / c + d
a / b + c + d
a + b / c / d
a / b / c + d
a / b / c / d

a b c d değişkenleri metin kutusuna yazılan sayılar olacak
bunun gibi 6 veya daha fazla sayıl olabilir
amacım
bu dört veya daha fazla olabilecek olan sayılardan dört işlemle elde edilebilecek tüm sayıları bulmak
tabiki her sayı bir kez kullanılacak
şimdi bu replace komutunu kullanarak formuldeki " + , - , * , / " işaretlerini değiştirmek
kolay gibi gelmişti
ama işin içinden çıkamıyorum
nasıl yapabilirim
yardımlarınız için teşekkürler
(27/08/2010, 12:40)accessman yazdı: [ -> ]çok teşekkürler
yapmak istediğime adım adım yaklaşıyorum
hazıra konmamak için kendim yapamadığım kısımları sormaya çalışıyorum
asıl amacım daha öncede dediğim gibi
dört işlem işaretlerini tüm ihtimalleri kullanacak bir döngü oluşturmak
şöyleki
a + b + c + d
a + b + c - d
a + b - c + d
a - b + c + d
a + b - c - d
a - b - c + d
a - b - c - d
a + b + c * d
a + b * c + d
a * b + c + d
a + b * c * d
a * b * c + d
a * b * c * d
a + b + c / d
a + b / c + d
a / b + c + d
a + b / c / d
a / b / c + d
a / b / c / d

a b c d değişkenleri metin kutusuna yazılan sayılar olacak
bunun gibi 6 veya daha fazla sayıl olabilir
amacım
bu dört veya daha fazla olabilecek olan sayılardan dört işlemle elde edilebilecek tüm sayıları bulmak
tabiki her sayı bir kez kullanılacak
şimdi bu replace komutunu kullanarak formuldeki " + , - , * , / " işaretlerini değiştirmek
kolay gibi gelmişti
ama işin içinden çıkamıyorum
nasıl yapabilirim
yardımlarınız için teşekkürler

çözümü bilen varmı acaba
Sn accessman,

İlk olarak şöyle başlayalım. 4 rakamda işlem yapacaksanız 4 rakam arasında 3 işlem operatörü olabilir.
Yanı a + b + c + d dediğimizde aradaki işlem oparatör sayısı 3 tür.
3 operatörün kombinasyonu.İkili sistemde gidersek.
000 +++
001 ++-
010 +-+
011 +--
100 -++
101 -+-
110 --+
111 --- yani 8 ayrı kombinasyon vardır.
Fakat dikkat ederseniz 2 ayrı işlem operatörü kullandık.
4 işlem oparatörü kullanacaksanız.

+ , - , * , / oparatörleri

+ -
+ *
+ /
- *
- /
* /

6 kombinasyonda burdan oluşuyor. Yani 4 rakamdan üretilebilecek rakam sayısı.
6*8 = 48 rakam olabilir. Bunun içinde +++ , --- , *** , /// tekrar edecektir. Onları gözardı etmemek lazım.

Siz öceki mesajınızda 19 kombinasyon çıkarmışsınız. Öncelikle algoritmamızı kontrol edelim daha sonra çözüm aşamasına geçeriz.Bu konuda hemfikir olup olmadığımızı test edelim.

Sizin kombinasyonlarınızda + - opetörlerini kullanırsak.

000 +++ a + b + c + d var
001 ++- a + b + c - d var
010 +-+ a + b - c + d var
011 +-- a + b - c - d var
100 -++ a - b + c + d var
101 -+- a - b + c - d -------- yok
110 --+ a - b - c + d var
111 --- a - b - c - d var

+ - kombinasyonunda 1 eksik işlem var fakat

+ * kombinasyonuna bakarsak

000 +++ a + b + c + d var +,- den geliyor tekrar edenleri ununtmamak lazım demiştim.
001 ++* a + b + c * d var
010 +*+ a + b * c + d var
011 +** a + b * c * d var
100 *++ a * b + c + d var
101 *+* a * b + c * d -------- yok
110 **+ a * b * c + d var
111 *** a * b * c * d var

Bu böyle devam eder.

+ / kombinasyonları ve
- * kombinasyonları ve
- / kombinasyonları ve
* / kombinasyonları bunlar zaten sizde yok.

Önce algoritmayı elden geçirmekte yarar var.
Sayfalar: 1 2 3