Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 2 mobil kullanıcı
4171
Cevap
168384
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (161. sayfa)
S
11 yıl
Teğmen

scanf("%d", &a); -----> Burda ekrandan 'a' için bir değer alıyosun.

for(a=1; a<=5; a++) -----> Burda da 'a' yı 1 den başlatıp 1 er 1 er atlatıyosun. Ekrandan aldığın değerin bir anlamı kalmıyor yani. Orayı çözmen lazım öncelikle.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vitta
M
11 yıl
Teğmen

Arkadaşlar şimdi benim bir dizide ki sayıları tek çift olma durumuna göre çiftdizi ve tekdizi adlı bir başka dizilere aktarmam gerekiyor bu ödevlerimden bir tanesi. Adım adım gidiyorum. Dışarıdan girilen bir sayının tek mi çift mi diye belirleyip ekrana yazdırabiliyorum fakat aşağıda bu işlemi dizilerde yapmak isteyince be girersem çifttir yazıyor.Sadece buraya kadar olan kısımda nerde hata yapıyorum yardımcı olursanız sevinirim.


static void Main(string[] args)
{
int x = Convert.ToInt32(Console.ReadLine());
float k;
k = (x / 2) * 2;
if (x == k)
{
Console.Write("Girdiğiniz sayı çifttir");
}
else
{
Console.Write("Girdiğiniz sayı tektir");
}
Console.ReadKey();


}

bu normal bir şekilde yaptığım uyg. bunda sıkıntı yok...


static void Main(string[] args)
{
int n;
double k;
Console.Write("Dizinin elaman sayısını girin: ");
n = Convert.ToInt32(Console.ReadLine());
int[] dizi=new int[n];
for (int i = 0; i < n; i++)
{
Console.Write("{0}. Elemanı giriniz: ",i+1);
dizi = Convert.ToInt32(Console.ReadLine());

k = (i / 2) * 2;
if (i == k)
{
Console.WriteLine("çift");
}
else
{
Console.WriteLine("tektir");
}

}


Console.ReadKey();

}

Sıkıntı burada ^


Bu mesaja 1 cevap geldi.
S
11 yıl
Teğmen

Merhaba dostum. Senin kod biraz karışık geldi ( Fazla matematiksel işlem var kafam basmadı :) )

Daha önce bi arkadaşa şöyle bişey yapılmıştı.........http://pastebin.com/9bW0HH9Q

Onda ufak oynayınca da bu şekilde oldu ...............http://pastebin.com/5UevnGVr

Umarım işine yarar.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @godilli
S
11 yıl
Teğmen

k = (x / 2) * 2; Burda sayıyı 2 ye bölüyosun sonra 2 ile çarpıyosun. Bu işlem sayıyı değiştirmez ki. yani k her halikarda x e eşit olur.

Tek çift kontrolünü şu şekilde yapabilirsin.

if( x%2 == 0 ) /* Yani sayıyı 2 ye göre mod alınca kalan 0 oluyosa çift. */
{
//çift
}
if( x%2 == 1 ) /* Yani sayıyı 2 ye göre mod alınca kalan 1 oluyosa tek. */
{
//tek
}


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @mekrhn
D
11 yıl
Teğmen

quote:

Orijinalden alıntı: ~H!ddeN

3. satırdaki kullanım, pointer'ın tuttuğu adresteki değeri gösteriyor ve bu değer yerine adres atamaya çalışıyorsunuz.
yani cout<<*d; yazdığınız zaman, d pointerının tuttuğu adresteki değer ekrana yazdırılır. Doğru kullanım şekli d = &y; olacak.

Cevap için teşekürler. Programlamada henüz yeniyim pointer kavramı biraz karışık geldi açıkcası.
Bir de şöyle bir sorum olacak sorunu görmek biraz sıkıntılı ama standart sapma hesaplayan bir program yazmak istedim. Çalıştırdığımda garip bir değer (-1.#0IND00) veriyor. calculation adlı fonksiyon da bi sıkıntı var sanırım. onu bir kontrol edebilir misiniz ?
#include <stdio.h> 
#include <stdlib.h>
#include <math.h>
#define MAX 100
double calculation();

int counter = 0;
int a[MAX];
int main (){
int number;


while(1){

printf ("Enter an integer number <enter negative number to end> :") ;
scanf ("%d", &number) ;

if (number < 0){
printf("\nThe standart deviation of this data set is = %f" , calculation());
break;
}
else {
printf("\nEntered number is = %d\n", number ) ;

a[counter] = number ;
counter++;
continue;
}

}
return 0 ;

}

double calculation(){
int karetoplam = 0;
int toplamkare = 0;
double countercarpim = 0 ;
double sapmaninkaresi = 0.0 ;
double sapma = 0.0 ;
int k , j ;

for (k=0 ; k< counter; k++ )
karetoplam += a[k] * a[k] ;

for (j=0 ; j< counter ; j++)
toplamkare += a[j] ;
toplamkare = toplamkare * toplamkare ;

countercarpim = (double)(counter) * (double)(counter - 1) ;
sapmaninkaresi = (double)(karetoplam - toplamkare) / countercarpim ;
sapma = sqrt(sapmaninkaresi);
return sapma;
}









< Bu mesaj bu kişi tarafından değiştirildi Deathamphetamine -- 9 Kasım 2014; 18:13:40 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @~H!ddeN , @SharpShoooterr
D
11 yıl
Teğmen

Çözdüm gençler sıkıntı yok



M
11 yıl
Teğmen

int olduğu için virgülden sonra ki kısım alınmaz yani 5 sayısını örnek olarak alırsak 5/2=2,5 fakat int olduğu için bu 2 olarak alınıyor ve 2 ile çarpınca 4 oluyor bu durumda 5 eşit olmadığı için 4 e ekrana tektir yazdırıyorum. Belki böyle tam olarak anlatamadım ama ilk attığımı incelerseniz anlayabilirsiniz orda tek girersen tek çift girersen çift diye yazdırıyor çünkü


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @SharpShoooterr
S
11 yıl
Teğmen

quote:

Orijinalden alıntı: mekrhn

int olduğu için virgülden sonra ki kısım alınmaz yani 5 sayısını örnek olarak alırsak 5/2=2,5 fakat int olduğu için bu 2 olarak alınıyor ve 2 ile çarpınca 4 oluyor bu durumda 5 eşit olmadığı için 4 e ekrana tektir yazdırıyorum. Belki böyle tam olarak anlatamadım ama ilk attığımı incelerseniz anlayabilirsiniz orda tek girersen tek çift girersen çift diye yazdırıyor çünkü

Örneğini tam incelememiştim dostum kusura bakma. Sıkıntılı olan örnek için ;

static void Main(string[] args)
{
int n;
double k;
Console.Write("Dizinin elaman sayısını girin: ");
n = Convert.ToInt32(Console.ReadLine());
int[] dizi=new int[n];
for (int i = 0; i < n; i++) // Dizinin eleman sayısını aldın güzel o kadar da döndürdün for u;
{
Console.Write("{0}. Elemanı giriniz: ",i+1);
dizi = Convert.ToInt32(Console.ReadLine()); // Burda eleman ataman hatalı. Dizinin hangi elemanı için değer alıcağını belirtmemişsin. Bu şekilde tüm diziye eleman atıyosun. Yapman gereken dizi[i ] = ConvertToInt32(Console.ReadLine()) diyip, dizinin kaçıncı elemanı için atama yaptığını belirtmen..

k = (i / 2) * 2; // Artık diziye eleman atadığın için senin i ile işin yok.. Dizi[ i] ile iş yapıcaksın. Yani k=(dizi[ i]/2)*2;
if (i == k) // Burda da dizi ile k yı karşılaştırıcaksın. if ( dizi[ i] == k)
{
Console.WriteLine("çift");
}
else
{
Console.WriteLine("tektir");
}

}
Console.ReadKey();

}


Bu mesaja 1 cevap geldi.
M
11 yıl
Yüzbaşı

merhaba çok basit bişey yazmaya çalışıyorum ama yapamadım yardımcı olabilirmisiniz kalvyeden girilen ismi 10 kez ekran yazan program


c++ kullanıyorum

int main(int argc, char *argv[]) {

int i=1,ad;
printf("ad gir");
scanf("%d",ad);
for (i=1; i<=10; i++)
printf("=%d",a);

return 0;





< Bu mesaj bu kişi tarafından değiştirildi mnyx -- 9 Kasım 2014; 22:49:44 >
Bu mesaja 1 cevap geldi.
M
11 yıl
Er

bizden c++ istiyorlar şimdilik o yüzden mecbur bundayız ama yaptım kardeş bi şekilde oldu bende anlamadım ama başka sorum olacak . baştaki include ları falan atlıyorum direk konuya gircem

int main() {
int a = 1;
int b = 3;

while(a<b){
printf("while'in icindeyim\n");
a=a+1;
}

printf("while'in disindayim");

getch();
return(0);
}

burda whileın içindeki ifade sonlanana kadar dışına çıkmıyor ve belirttiğimiz aralık kadar tekrarlanıyor sonra çıkıyor. aralık küçük olunca sıkıntı yok ama diyelim aralık çok uçuk bu değerde . o whilein içindeki ifadenin art arda ne kadar tekrarlandığını numaralamamız mümkünmü acaba ? ama bu numaralamayı programın kendisinin yapması lazım


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @SharpShoooterr
V
11 yıl
Çavuş

Dun hallettim kardes. Sagolasin yinede. Bu basligi kesfettigim iyi oldu. Her cuma damlarim artik buraya.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @SharpShoooterr
G
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: SharpShoooterr

Merhaba dostum. Senin kod biraz karışık geldi ( Fazla matematiksel işlem var kafam basmadı :) )

Daha önce bi arkadaşa şöyle bişey yapılmıştı.........http://pastebin.com/9bW0HH9Q

Onda ufak oynayınca da bu şekilde oldu ...............http://pastebin.com/5UevnGVr

Umarım işine yarar.

Hocam pek benimkine benzetemedim ya biraz da acemiyim de C++'da :)
Benimkinde mesela 5 sayısı girdiğimde 5x5 matris yapıp ortasına dörtgen çizecek.10 girdiğimde 9x9 matris yapıp çizecek falan biraz daha karışık benimki ben biraz daha çalışayım en iyisi


Edit:Benim yazdığım kodlarda if içine yazdığım ((j <= ((N / 2) - (2 * i - 1)) / 2) işleminde çıkan sonucu eksili almıyor galiba çünkü mesela eksili çıksa doğru görüntü çıkacak.
örneğin; i=3 j=1 ve N=6 olsun j<=-1 olmayacağı için atıyorum + işareti koyması lazım ama o -1 değil 1 alıyor ve 1<=1 diyip - işareti koyuyor.Bunu nasıl çözerim anlamadım.





< Bu mesaj bu kişi tarafından değiştirildi godilli -- 9 Kasım 2014; 23:49:40 >
Bu mesaja 1 cevap geldi.
M
11 yıl
Er

quote:

Orijinalden alıntı: mrkramazan

bizden c++ istiyorlar şimdilik o yüzden mecbur bundayız ama yaptım kardeş bi şekilde oldu bende anlamadım ama başka sorum olacak . baştaki include ları falan atlıyorum direk konuya gircem

int main() {
int a = 1;
int b = 3;

while(a<b){
printf("while'in icindeyim\n");
a=a+1;
}

printf("while'in disindayim");

getch();
return(0);
}

burda whileın içindeki ifade sonlanana kadar dışına çıkmıyor ve belirttiğimiz aralık kadar tekrarlanıyor sonra çıkıyor. aralık küçük olunca sıkıntı yok ama diyelim aralık çok uçuk bu değerde . o whilein içindeki ifadenin art arda ne kadar tekrarlandığını numaralamamız mümkünmü acaba ? ama bu numaralamayı programın kendisinin yapması lazım



kardeş hiç boşuna okuma bişeyler denedim ve yaptım ,oldu :D başka soruya kaldı inşallah




Bu mesajda bahsedilenler: @SharpShoooterr
S
11 yıl
Teğmen

Eksili almıyo diye birşey olmaz dostum. Bilgisayar sonuçta bu, sonuç neyse onu alır

Derleyici olarak visual studio kullanıyosan, breakpoint kullanımını araştır. Satır satır nerde ne sonuç çıkıyo inceleyebilirsin.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @godilli
G
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: SharpShoooterr

Eksili almıyo diye birşey olmaz dostum. Bilgisayar sonuçta bu, sonuç neyse onu alır

Derleyici olarak visual studio kullanıyosan, breakpoint kullanımını araştır. Satır satır nerde ne sonuç çıkıyo inceleyebilirsin.

Tamam hocam hallettim sağolasın.



S
11 yıl
Teğmen

quote:

Orijinalden alıntı: mnyx

merhaba çok basit bişey yazmaya çalışıyorum ama yapamadım yardımcı olabilirmisiniz kalvyeden girilen ismi 10 kez ekran yazan program


c++ kullanıyorum

int main(int argc, char *argv[]) {

int i=1,ad;
printf("ad gir");
scanf("%d",ad);
for (i=1; i<=10; i++)
printf("=%d",a);

return 0;

Merhaba, alıcağın isim integer bir değer değil. o yüzden char kullanmalısın.

int main()
{
char ad[10]; // char tek karakter alır. Ama dizi olarak tanımlarsan 10 karaktere kadar alabilirsin.
printf("Ad Girin : ");
scanf("%s", &ad); // char değişkeni %s ile alınır. Ayrıca ad'a atama yapıcağın için &ad demen gerekir.

for(int i = 0 ; i<10 ; i++)
{
printf("%s \n" , ad);
}

system("PAUSE");
return 0;
}


Bu mesaja 1 cevap geldi.
T
11 yıl
Onbaşı

FİBONACCİ SAYISINI VEREN KOD C DİLİNDE.FOR DÖNGÜSÜNÜN İÇİNDE BİR HATA VAR GALİBA ÇÖZEMEDİM YARDIMCI OLUR MUSUNUZ


/*
TASK 2 : Write a main program to compute the Fibonacci number.
*/

#include<stdio.h>

int main(){

int x,x0=0,x1=1,sum,counter,intervalvalue;

printf("Please enter an integer:");
scanf("%d",&x);

if(x==0)
printf("Fib(0)=0.\n");

if(x==1)
printf("Fib(1)=1.\n");

if(x>1){
for(counter=0;counter<x;++counter){
intervalvalue=x0+x1;
x0=x1;
x1=intervalvalue;
sum=x0+x1;}

printf("Fib(%d)=%d.",x,sum);}

getch();
return 0;
}


Bu mesaja 2 cevap geldi.
C
11 yıl
Yüzbaşı

n-- olsa anlarımda , --n olunca nasıl böyle oldu?
< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
M
11 yıl
Onbaşı

quote:

Orijinalden alıntı: cezaalp

n-- olsa anlarımda , --n olunca nasıl böyle oldu?
< Resime gitmek için tıklayın >

n-- ve --n kullandığı yere göre farklılık gösterir. Yani her zaman farklı sonuçlar verecek diye bir kaide yok! Mesela sen bir matematiksel işlem yapıyorsun burada fark eder!

örneğin :
x=10;
y=5;
z=16;

m=++x - --y + z++;

printf("z=%d \n",z);
printf("x=%d \n",x);
printf("y=%d \n",y);
printf("m=%d \n",m);

Ekran Çıktısı
z=17
x=11
y=4
m=23
olur. Sen for içinde kullanırsan farketmez!


Bu mesaja 1 cevap geldi.
C
11 yıl
Yüzbaşı

Çok teşekkür ederim




Bu mesajda bahsedilenler: @MergenHan