Arkadaşlar bir program yazdım C de program kullanıcının girdiği sayıyı kırpıyor(sayının sağından ya da solundan basamak eksiltiyor) Kullanıcıdan bir sayı alıyor(kaç basamaklı olursa olsun) bir de kırpma miktarı(işte kaç sayı eksiltilecek) Ona göre işlem yapıp yeni sayıyı veriyor. Ben soldan kırpmayı yazdım ama sağdan kırpmayı yazamadım Bunun için uygun matematiksel ifade ne olmalı sizce? Yardımlarınız için şimdiden teşekkürler ![]() Burda da kodlar: #include <stdio.h> //sayı kırpma #include <math.h> main(){ int sayi,miktar; printf("kirpilacak sayiyi girin\n"); scanf("%d",&sayi); printf("kirpma miktarini girin\n"); scanf("&d",&miktar); //soldan kırpma sayi=sayi%pow(10,miktar); printf("sayinin soldan kirpilmis hali: %d ",sayi); //sagdan kırpma yapamadım //??????????? return 0; } |
Dediğin şu mu oluyor , mesela 128 girildi , 1 basamak kırp dedin, cevap 12 olacak. Eğer böyleyse direk 10'a bölebilirsin. |
Merhaba. Yeni konu açıp kirlilik yapmayayım diyerek buradan direk konuya geçeyim; Hocamız C# temeli için kodlab visual studio 2012 kitabını almamın faydası olacağını belirtti. Alacağım yerde yok (kitapyurdu) bende 2015 alayım dedim (Kodlab-Süleyman Uzunköprü) 0'dan başlayacağım, (tabi birden fazla kaynak kullanacağımı belirtmek isterim) kitabın faydası olur mu ilk kaynak olarak? İçeriği farklı sanki. Bilen üstadlarımdan yardım bekliyorum... ![]() |
Merhabalar. Bu işlerde yeniyim. internette aradım ama çözümü bulamadım. Değerli yardımlarınızı bekliyorum. c++ vs 2015 te yaptığım basit bir konsol uygulamasının debug klasörü içindeki exe dosyasını başka bir bilgisayarda çalıştıramadım. Ama aynı kodu DEV-C++ ta yazıp derlediğimde burdan aldığım exe çalıştı. Yani kurulumsuz DEV-C++ ın exe çalışırken vs'nin exe'si çalışmıyor Not: DEV-C++ exe'si 1.7 MB civarı iken vs'nin exe'si 50 KB civarı. |
Visual C++ kullanarak mouse koordinatlarını almak istiyoruz form application olacak ancak http://stackoverflow.com/questions/1857292/how-do-you-get-the-location-in-x-y-coordinate-pixels-of-a-mouse-click burada bahsedilen şekilde yaptığımızda GET fonksiyonlarını çağıramıyoruz yardım edebilir misiniz çok önemli |
Herkese selam , codeblocks ve devc++ bilgisayarımda yüklü fakat ikiside derleme yapamıyor yapsada program açılıyor (exe) sadece siyah ekran kalıyor genelde aldığım uyarı, C:\Users\xxi\Desktop\collect2.exe[Error] ld returned 1 exit status çözümü nedir arkadaşlar ? |
Selamlar ; Bir zamanlar C# öğrenmeye niyetlendim ama bazı nedenlerle başlayamadım.Şimdi kendime biraz vakit ayırdım ve tekrar C# öğrenmeye karar verdim. Her neyse, C#'ı ilk öğrenmeye karar verdiğimde bir kitap almıştım.Yanlış hatırlamıyorsam Sefer Algan'a ait C# 4.0 kitabı. Aradan tabi ki epey bir zaman geçti şimdi piyasaya C# 6.0 çıkmış :) Yani yeni başlayacağım için bu 4.0 ile 6.0 arasında bana sıkıntı çıkaracak bir fark varmıdır ? Bir daha kitap almam gerekir mi ? Yardımcı olursanız sevinirim. Teşekkürler |
Herkese merhaba, C'de bir program yazmaya çalışıyorum ama işin içinden çıkamadım. Olay şu: Bir fonksiyon tanımlanacak. Bu fonksiyon, "Bir g giriniz" ve "Bir ilk hız giriniz" ifadelerinden sonra bu değerler üzerinden dikey atış formüllerini kullanarak 0.1 saniyelik aralıklarla atılan cismin düşey hızını yönlü olarak ve yerden yüksekliğini liste gibi hazırlayacak. Listenin sonunda ise çıkılan maksimum yüksekliği hmax=... diye verecek. hmax ın doğru değer olmasına gerek yok, sadece 0.1 sn aralıklarda ölçülen en yüksek değer olsa yeterli. Burada fonksiyon bir for veya while döngüsü içermeli ama nasıl bilemedim. Orada yardıma ihtiyacım var size de pratik olur. Örneğin 10 m/s ilk hızla g=9.81 için çıktı bu olmalı: 0.00 10.00 0.00 0.10 9.02 0.95 0.20 8.04 1.80 0.30 7.06 2.56 0.40 6.08 3.22 0.50 5.09 3.77 0.60 4.11 4.23 0.70 3.13 4.60 0.80 2.15 4.86 0.90 1.17 5.03 1.00 0.19 5.09 1.10 -0.79 5.06 1.20 -1.77 4.94 1.30 -2.75 4.71 1.40 -3.73 4.39 1.50 -4.72 3.96 1.60 -5.70 3.44 1.70 -6.68 2.82 1.80 -7.66 2.11 1.90 -8.64 1.29 2.00 -9.62 0.38 2.10 -10.60 -0.63 Hmax = 5.095 m Formüller: Hava sürtünmesinin ihmal edildiği bir ortamda, bir futbol topunun yukarıya doğru belli bir ilk hız (v0) ile atıldığını varsalım. Uygun bir koordinat seçimiyle, bu topun hızı (v), konumu (y) ve çıkabileceği en yüksek nokta (hmax) aşağıdaki denklemlere göre hesap edilir. v = v0 - g*t y = v0*t - 1/2*g*t^2 hmax= v0^2/(2*g) Benim yazdığım kadarı bu: #include <stdio.h> #include <stdlib.h> #include <math.h> int atis(double g, double v0, double t); int main(int argc, char *argv[]) { float v0,v,g,T,h,H; printf("Enter the velocity:"); scanf("%f", &v0); printf("Enter the value for g:"); scanf("%f", &g); printf("%4s %8s %6s\n", "Time", "Velocity", "Height"); printf("%4f %4f %4f\n", ); system("PAUSE"); return 0; } int atis(double g, double v0, double t) { double v; double h; double hmax; v = v0 - g*t; h = v0*t - (1/2)*g*pow(t,2) ; hmax = pow(v0,2)/(2*g); return hmax; } Teşekkürler şimdiden :) |
Sana sıkıntı çıkaracak bir fark yok. Gitiş sevşyesi ve orta seviyede bir fark zaten yok. İleri seviyede fark var ki o seviyeye geldiğinde referansın kitap olmayacaktır. |
Beyler c de bir dizi tanimlanicak boyutu 10 olan . Bu diziye rakamlari girecegiz. Ornek olarak:5678421305 Ama mesela ben iki tanr 5 girdim sadece ilk girilen 5 i yazdiracak. Cikti su sekilde olmali:567842130 Dizilere elemenlari aldim ama donguleri nasil kuracagimi anlamadim |
Benim kurduğum mantık aşağıdaki görseldeki gibi oldu, şu saatte koda dökmek istemiyorum, yardıma ihticanız olursa "Haberdar Et" ile bildirim yollarsanız ilgilenirim daha sonra. Ayrıca 10 tane bool değeri de atanabilir her rakam için, yerleştirme esnasında buna bakarak yerleştirme yapar ve değeri değiştirir. Sanıyorum bu iki yol da pratik değil, daha pratikleri mutlaka vardır ancak benim aklıma şimdilik bunlar geldi. Bu mesaja eklenen görseller: < Resime gitmek için tıklayın > |
Hocam belli bir yere kadar kodlasaniz daha cok yardimi dokunacak boyle 2.indisden sonrasini anlayamadim. |
Döngüleri derken karşılaştırma işlemlerini mi kastediyorsunuz? |
Aşağıdaki bloğu C# ile yazdım C'ye çevirirsin. Ayrıca şöyle bir problem söz konusu kullanıcı 10 sayı{1-2-3-3-4-5-6-7-8-9) girdi, girilen 2 tane 3 aynı olduğu için 1 tanesi diziye eklenmedi fakat tanımlanan dizi 10 sayı beklediği için ve null değer atılamadığı için boş kalan yere 0 giriyor. Aklıma gelen ilk çözüm kullanıcının aynı girdiği sayı adedini tutup adet kadar tekrar giriş almak olabilir veya int diziye null değer atamaya dair bir çözüm varsa kullanılabilir. int[] dizi = new int[10]; |
Dostum şöyle bir çözüm ürettim. 10 Elemanlı bi dizi oluşturuyoruz. Mesela kullanıcı 7-1-5-0 girdi. dizi[7]=0+1 dizi[1]=1+1 dizi[2] dizi[0]=3+1. Tabi değerleri atamadan önce dizi[7]in 0 olduğundan emin oluyoruz bu da ilk değer anlamına geliyor. Ben de uyku sersemi böyle bişeyler saçmalayayım dedim
|
C dili için kaynak olarak ne önerirsiniz? Dennis Ritchie ve Brian W. Kernighan'ın yazdığı C kitabı var mesela o nasıl? |
Dennis Ritchie zaten C'yi çıkartan adam. ![]() ![]() |
Ben de o yüzden sormuştum ![]() ![]() |
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int x;
git:
printf("\nProgramdan cikmak icin : 1\nPrograma devam etmek icin : 2\n");
printf("\nLutfen bir secim yapiniz : "); scanf("%d",&x);
if(x==1)
{
printf("Program kapaniyor...\n");
exit (0);
}
else
{
goto git;
}
return 0;
}
kullanıcı 1'e bastığı zaman programın tamamen kapanmasını istiyorum , yani işlemleri sonlandırmasını değil.
internette araştırma yaptım ama hep böyle çıkıyor karşıma , acaba c'de böyle birşey mümkün değilmi
edit : yukarıdaki kodları çalıştırıp 1'i seçtiğim zaman programdaki işlemler sonlanıyor fakat consol kapanmıyor.
< Bu mesaj bu kişi tarafından değiştirildi xSwindLer -- 20 Şubat 2016; 18:12:55 >
< Bu ileti tablet sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle