26/08/2010, 17:07
replace komutu
27/08/2010, 08:07
accessman
teşekkürler
sadece ikinci + - olsun
dersek birinci değişmesin
nasıl yazmalıyı
sadece ikinci + - olsun
dersek birinci değişmesin
nasıl yazmalıyı
27/08/2010, 11:43
alpeki99
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
27/08/2010, 12:40
accessman
ç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
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
01/09/2010, 03:03
accessman
(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
01/09/2010, 11:25
POWER
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.
İ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.