C#'ta bir problem

  • Konuyu başlatan Konuyu başlatan cheleby
  • Başlangıç tarihi Başlangıç tarihi

cheleby

Profesör
Katılım
8 Mayıs 2009
Mesajlar
2,717
Reaksiyon puanı
227
Puanları
243
Elimizde 3 adet pozitif çift tamsayı var. Bu sayıların çarpımlarını, toplamlarına bölünce 7
sayısını elde ediyoruz. Bu sayıları bulan kodu yazınız.

bu işlemi nasıl yapabiliriz.Ben bir yere kadar gittim ama bir yerde tıkandım :)

int sayi, sayi1, sayi2, sayi3, toplam;
sayi=7;
sayi1 = Convert.ToInt32(textBox1.Text);
sayi2 = Convert.ToInt32(textBox2.Text);
sayi3 = Convert.ToInt32(textBox3.Text);
sayi = ((sayi1 * sayi2 * sayi3) / (sayi1 + sayi2 + sayi3));
toplam = sayi;
MessageBox.Show("sonuç" + toplam);
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
Bu sayıları bulunuz demiş soruda ama sen sayıları textboxlara kendin girmişsin nasıl olacak o iş :)
 

cheleby

Profesör
Katılım
8 Mayıs 2009
Mesajlar
2,717
Reaksiyon puanı
227
Puanları
243
Şöyle açıklayayım.Hoca birşey anlatmaz ise benimde yaptığım bukadar oluyor :)
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
Şimdi burada bi gariplik var, sorunun bu olduğuna emin misin, basamaklarının çarpımının toplamına bölümünü falan soruyor olmasın?
 

cheleby

Profesör
Katılım
8 Mayıs 2009
Mesajlar
2,717
Reaksiyon puanı
227
Puanları
243
Soruyu aynen kopyaladım buraya koydum.
 

xlorxlarge

Asistan
Katılım
28 Şubat 2011
Mesajlar
224
Reaksiyon puanı
1
Puanları
18
Soruya bak Soruyu anlamak için 10 kere okudum :D
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
Random üret dedim sayıları 100e kadar koydum sınırı, 2 4 ve 24 buluyor her seferinde. Çift sayı demese daha çok sonuç çıkıyor.

Random sınırını 1000 yaptım 2 dakkadır uğraşıyor bulamadı birşey :)
 

iz_

Öğrenci
Katılım
11 Temmuz 2011
Mesajlar
10
Reaksiyon puanı
0
Puanları
0
class Program
{
public static void Main(string[] args)
{
for (int i = 0; i < 100; i = i + 2)
{
for (int j = 0; j < 100; j = j + 2)
{
for (int k = 0; k < 100; k = k + 2)
{
if( (i*j*k) == (7*(i+j+k) ))
{
Console.WriteLine(i + " " + j + " " + k );
}
}
}
}
}
}

http://pastebin.com/azx3rn8s
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
Şimdi sayıların üst sınırını vermemiş, ya teee milyonlarda varsa bu sayı, iç içe milyon tane döngü biraz zor biter bilgisayar bile olsa.

Sen arkadaşın verdiği gibi 100 al sınırı, 2 4 ve 42 den başka çıkmayacağına da eminim :mrgreen: Ben autoitte yaptığım için veremedim kod.
 

ozkan370

Öğrenci
Katılım
22 Mart 2007
Mesajlar
99
Reaksiyon puanı
4
Puanları
0
aynı soruyu tek kişilik yazılım evindede soran sensin herhalde ordada cevabını verdim burdan da vereyim
double sayi, sayi1, sayi2, sayi3, toplam;
sayi = 7;
sayi1 = Convert.ToDouble(textBox1.Text);
sayi2 = Convert.ToDouble(textBox2.Text);
sayi3 = Convert.ToDouble(textBox3.Text);
toplam = ((sayi1 * sayi2 * sayi3) / (sayi1 + sayi2 + sayi3));
if (sayi == toplam)
{
MessageBox.Show("sonuç 7");
}
else {
MessageBox.Show("sonuç "+toplam);
}




 

cheleby

Profesör
Katılım
8 Mayıs 2009
Mesajlar
2,717
Reaksiyon puanı
227
Puanları
243
Evet bendim.Kusura bakmayın.Anlamamazlık insanı heryerden yardım almaya yöneltiyor.Cevaplarınız için çok teşekkür ederim.Sizleri yorduysam kusura bakmayın.
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
aynı soruyu tek kişilik yazılım evindede soran sensin herhalde ordada cevabını verdim burdan da vereyim
double sayi, sayi1, sayi2, sayi3, toplam;
sayi = 7;
sayi1 = Convert.ToDouble(textBox1.Text);
sayi2 = Convert.ToDouble(textBox2.Text);
sayi3 = Convert.ToDouble(textBox3.Text);
toplam = ((sayi1 * sayi2 * sayi3) / (sayi1 + sayi2 + sayi3));
if (sayi == toplam)
{
MessageBox.Show("sonuç 7");
}
else {
MessageBox.Show("sonuç "+toplam);
}

İlk mesaja dedim buna da diyeyim. Sayıları bulun diyor ama burada sayıları sen giriyorsun, nasıl bulacak ??
 

bortu3

Asistan
Katılım
7 Ekim 2010
Mesajlar
114
Reaksiyon puanı
0
Puanları
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleApplication1
{
class Program
{



static void Main(string[] args)
{


Random i = new Random();


int a = 1;


int b = 1;


int c = 1;


int t = 1;


while (true)
{


a = i.Next(1, 100);


b = i.Next(1, 100);


c = i.Next(1, 100);


t = (a * b * c) / (a + b + c);


if (t == 7)
{
Console.WriteLine(a.ToString() + " " + b.ToString() + " " + c.ToString() + " = " + t.ToString());
Console.WriteLine("Bulundu :):)");
break;
}
else
{
Console.WriteLine(a.ToString() + " " + b.ToString() + " " + c.ToString() + " = " + t.ToString());
}

}
Console.ReadLine();
}
}
}


http://pastebin.com/raw.php?i=Xj7ZcJx4


b
unu geliştirmek sana kalmış 100 denemede filan buluyo bende

---------- Post added at 09:13 ---------- Previous post was at 08:51 ----------

sabah sabah bu konu ilgimi çekti ekmek almaya giderken şunları hesaplayıp bi yerde toplayayayım dedim bak ne kadar sonuç çıktı :D

http://pastebin.com/raw.php?i=P9ZyydNH

y
anlız bir sorun var bu sayıları hesap makinesinde hesaplarsa 7 küsür çıkıyor ama oda sorun olmaz heralde
 

ozkan370

Öğrenci
Katılım
22 Mart 2007
Mesajlar
99
Reaksiyon puanı
4
Puanları
0
İlk mesaja dedim buna da diyeyim. Sayıları bulun diyor ama burada sayıları sen giriyorsun, nasıl bulacak ??


aynı soruları başka bir yerde bende sordum ondan aldığım bilgilere göre yazdım bu programı aramızdaki konuşma şöyle




ben: öncelikle bu 3 sayı kullanıcıdan alınıp mı kontrol edilecek yoksa bilgisayar bu 3 sayıyı deneyerek kendisi mi bulacak buna göre devam edelim

o: Valla bilmiyorum.soru aynen böyle.İki şekilde de yapsak ?

ben: bilgisayarın bu sayıları denemesi 3 adet değişkeni üç tane iç içe döngü içinde istediğin sayıya kadar denersin ama bu algoritma hiç sağlıklı olmaz ama kullanıcıdan istersek bu 3 sayıyı sen çarpımlarını toplamlarına bölmüşsün bunu bir if ile 7 ye eşitmi diye kontrol et değilse sayıları değiştirmelerini söyle eşitse buldunuz de

o: şimdi ben bu if yapısını nasıl kullanabilirim.Neden bilmediğimi açıklardım ama gerek yok.Gerçekten yardımcı olabilirseniz sevinirim.Sizi yorduğum için kusura bakmayın.

en son programı yapıp attım
 

bortu3

Asistan
Katılım
7 Ekim 2010
Mesajlar
114
Reaksiyon puanı
0
Puanları
0
aynı soruları başka bir yerde bende sordum ondan aldığım bilgilere göre yazdım bu programı aramızdaki konuşma şöyle




ben: öncelikle bu 3 sayı kullanıcıdan alınıp mı kontrol edilecek yoksa bilgisayar bu 3 sayıyı deneyerek kendisi mi bulacak buna göre devam edelim

o: Valla bilmiyorum.soru aynen böyle.İki şekilde de yapsak ?

ben: bilgisayarın bu sayıları denemesi 3 adet değişkeni üç tane iç içe döngü içinde istediğin sayıya kadar denersin ama bu algoritma hiç sağlıklı olmaz ama kullanıcıdan istersek bu 3 sayıyı sen çarpımlarını toplamlarına bölmüşsün bunu bir if ile 7 ye eşitmi diye kontrol et değilse sayıları değiştirmelerini söyle eşitse buldunuz de

o: şimdi ben bu if yapısını nasıl kullanabilirim.Neden bilmediğimi açıklardım ama gerek yok.Gerçekten yardımcı olabilirseniz sevinirim.Sizi yorduğum için kusura bakmayın.

en son programı yapıp attım


benim yolladığım işine yaramıcakmı yani ?
 
Katılım
3 Mart 2007
Mesajlar
29,198
Reaksiyon puanı
2,148
Puanları
7,358
[MENTION=17237]ozkan370[/MENTION] kendisinin girmesi mantıksız, çünkü sadece 2 4 ve 42 sayıları sağlıyor bunu. Bunu da bulsa bulsa [MENTION=158160]iz_[/MENTION] in verdiği algoritma bulur :) sayılara 100 sınırı verilirse problem olmaz çabuk biter, ben 1000 verdim bekledim bekledim bitmedi döngü, yok demek ki başka sayılar :)
 

iz_

Öğrenci
Katılım
11 Temmuz 2011
Mesajlar
10
Reaksiyon puanı
0
Puanları
0
using System;

namespace mat
{
class Program
{
public static void Main(string[] args)
{
double kacaKadar = 100d;
double hassaslik = 0.1d;

for (double i = 0.0d; i < kacaKadar; i = i + hassaslik)
{
for (double j = 0.0d; j < kacaKadar; j = j + hassaslik)
{
for (double k = 0.0d; k < kacaKadar; k = k + hassaslik)
{
if( (i*j*k) == (7*(i+j+k) ))
{
Console.WriteLine("Sayi1=" + i + " Sayi2= " + j + " Sayi3= " + k);
}
}
}
}
Console.WriteLine("bitti");
}
}
}

http://pastebin.com/ExFeRP1E
 

annttiigs

Profesör
Katılım
7 Şubat 2007
Mesajlar
2,589
Reaksiyon puanı
24
Puanları
218
bence hard bir şekilde tek tek taramak yerine bir matematiksel işlem ile sayılar arasındaki bağlantıyı bulmak lazım.
 
Üst