Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 3 mobil kullanıcı
4171
Cevap
168380
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (63. sayfa)
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: ► v-s-l ◄

C++ da ilginç bir hata

#include <iostream> 
using namespace std;

int main()
{
char a;
for (a=126; a<=128; a++)
cout << a << endl;
return 0;
}


Bu kodu derlediğimde sonsuz döngüye girmiş gibi karakterler akıyor. Bir hata mı var ?

Char ın sınırını aşıyorsun, değişken tiplerini çalış.



-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ► v-s-l ◄

C++ da ilginç bir hata

#include <iostream> 
using namespace std;

int main()
{
char a;
for (a=126; a<=128; a++)
cout << a << endl;
return 0;
}


Bu kodu derlediğimde sonsuz döngüye girmiş gibi karakterler akıyor. Bir hata mı var ?

C++'dan kaynaklı bir hata yok.

char 0 ile 127 arasında değer tutar.
a = 128 olduğu zaman bit işlemlerinden dolayı sayı -128 olur.
Daha açık olursam en büyük char bit olarak 01111111 dir. Sen buna 1 eklersen sayı 10000000 olur. En soldaki bit işaret bitidir. 1 olursa eksi demektir. Yani sayımız artık -128 dir. -128 < 128 olduğu için for'a devam edecektir. Bu şekilde sonsuz bir döngüye girer.



-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: uykusu gelen adam

merhaba,
Visual studio c# ta bir program yazdığımda konsolda çıktı olarak istediğim çıkıyor ancak değişiklik yaptığımda yine bir önceki program çıktısı çıkıyor.
örneğin ekranda ahmet yazısını çıkartıyorum sonra kapatıp kodları ahmet mehmet yazacak şekilde düzenliyorum çalıştırıyorum yine ahmet çıkıyor.
yeni proje açtığımda düzeliyor ancak yine değişiklik yaptığımda aynı çıktıyı veriyor. yardımcı olur musunuz?

Kodu tekrar derlemen lazım.


Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

yani şöyle olsun mesela

1 3 5
2 7
4 6 8

buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

??

Bu kod istediğini yapıyor. Gerisini halledersin umarım.

 
#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>

void yazdir(int dizi[][3])
{
int i, j;

for(i = 0; i < 3; ++i) {
for(j = 0; j < 3; ++j) {
int sayi = dizi[i][j];
if(sayi)
std::cout << sayi << ' ';
else
std::cout << " ";
}
std::cout << std::endl;
}
}

int main()
{
int d2[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};

srand(time(0));
std::random_shuffle((int *) d2, ((int *) d2) + 9);

yazdir(d2);
return 0;
}


Biraz değiştirdim.





< Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 27 Şubat 2013; 2:10:26 >
Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

yani şöyle olsun mesela

1 3 5
2 7
4 6 8

buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

??

5. yeri boşluk olarak varsayıyorum.

 
srand(time(0));
int matris[3][3] = {0};
matris[1][1] = -1;
int cikmislar[8] = {0};
int sayi = 0;
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
if(i == 1 && j == 1)
continue;
sayi = rand() % 8;
while(cikmislar[sayi] == 1)
{
sayi = rand() % 8;
}

matris[i][j] = sayi;
cikmislar[sayi] = 1;
}
}


Ayrıca sorular üzerinde pek düşünmüyorsun herhalde. Biraz uğraşma ile yapılabilecek bir soru. Zorlandığın yerde kağıdı kalemi al kağıt üzerinde çözmeyi dene.

Edit: Ben yazana kadar cevap gelmiş. Diğer cevabı görmeden yayınlamışım mesajı.





< Bu mesaj bu kişi tarafından değiştirildi -Source- -- 27 Şubat 2013; 1:27:05 >

S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: Seviyeli Yarbay

Atama yaparken önceden atama yapılıp yapılmadığını test etmek için başta tek boyutlu bir dizi de sayıları bulup , sonra matrisine yerleştirirsen işin kolaylaşır. Bu şekilde yapabilirsin :

#include <stdio.h> 
#include <stdlib.h>
#include <time.h>

int main()
{

int dizi[9],asilDizi[3][3];
int sayac=0,kontrolcu=-1,sayac2=-1,i,j;

srand(time(NULL));

dizi[0]=rand()%9;

while(sayac<8)
{
sayac++;

dizi[sayac]=rand()%9;

while(kontrolcu<sayac-1)
{
kontrolcu++;
if(dizi[kontrolcu]==dizi[sayac])
{
kontrolcu=-1;
dizi[sayac]=rand()%9;
}
}
kontrolcu=-1;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
sayac2++;
asilDizi[i][j]=dizi[sayac2];

if(asilDizi[i][j]==0)
printf("? ");

else
printf("%d ",asilDizi[i][j]);
}
printf("\n");
}


system("PAUSE");
return 0;
}


Bu mesaja 1 cevap geldi.
D
12 yıl
Er

1. Uzunluğu dışarıdan girilen(n) bir dizinin elemanları 0-99 arasında rastgele atanacaktır.
 Dizinin rastgele seçilen iki elemanının yerleri değiştirilecektir.
 Değişim işlemi yapıldıktan sonra kullanıcıya tekrardan aynı işlemin yapılmasını isteyip
istemediği sorulacak ve cevap evet olduğu sürecek işlem tekrarlanacaktır

şöyle bir problem var c++ kodu nasıl olur acaba yardım edebilir misiniz biraz yeniyimde bu konuda



U
12 yıl
Teğmen

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

arkadaşlar c++'ta 3x3'lük bir dizide rastgele 1-8 arası sayılar atamak istiyorum rastgele ve atanan sayı bir daha atanmasın. tek terim de boş kalsın oraya kullanıcıdan değer alacağım. bu yapmaya uğraştığım şeyin bir kısmı fakat tıkandım. yardımcı olabilir misiniz ?

yani şöyle olsun mesela

1 3 5
2 7
4 6 8

buna benzer şeyler çıkarsın ekrana, o boşluktaki kısma kullanıcıdan değer alıp işlem yaptıracağım ama önce burayı halletmem lazım

??

Bu kod istediğini yapıyor. Gerisini halledersin umarım.

 
#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>

void yazdir(int dizi[][3])
{
int i, j;

for(i = 0; i < 3; ++i) {
for(j = 0; j < 3; ++j) {
int sayi = dizi[i][j];
if(sayi)
std::cout << sayi << ' ';
else
std::cout << " ";
}
std::cout << std::endl;
}
}

int main()
{
int d2[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};

srand(time(0));
std::random_shuffle((int *) d2, ((int *) d2) + 9);

yazdir(d2);
return 0;
}


Biraz değiştirdim.

Tekrar derliyordum zaten. Vs yi silip tekrar kurdum sorun duzeldi



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

S
12 yıl
Yarbay

arkadaşlar uğraşanlara çok teşekkür ediyorum.
haklısınız kolay olabilir, emin olun uğraşıyorum.
1 kere bilgisayar programlama dersi almadan bunu aldirdilar şimdi, ve mecburen katlaniyorum. ne seviyorum ne ilgi duyuyorum o yüzden biraz uğraştıktan sonra ister istemez birakiyorum ilgi alanim olsa baska bi ders olsa sabaha kadar ugrasirim ama bilgisayar programlamayla hic isim olmaz o yuzden bu donem idare edecegim mecburen.

cevap verenlere cok tesekkur ediyorum tekrar



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
B
12 yıl
Teğmen

merhaba arkadaşlar
c++ ile basit bir işlem yapmak istiyorum. Konsoldan enter tuşuna basılına kadar programın devam etmesini istiyorum. Kullanıcı başka birşey girmeden sadece enter tuşuna basarsa programın sonlanması gerekiyor...


 
void main()
{
char name[80];
do
{
cin>>name;
//kullanıcı birşey yazmadan enter tuşuna basarsa programın sonlanması gerekiyor
cout<<name<<endl;

}while(name!=NULL);
}


yardımcı olursanız çok sevinirim


Bu mesaja 1 cevap geldi.
M
12 yıl
Er

YARDIMCI OLABİLİR MİSİNİZ ÇOK ACİİİL!!


Factoring of integers. Write a program that asks the user for an
integer and then prints out all its factors.
For example, when the user
enters 150, the program should print:
2
3
5
5


Bu mesaja 1 cevap geldi.
M
12 yıl
Er

C++ da yazmam lazım yardımcı olabilecek var mı


Bu mesaja 1 cevap geldi.
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: melisozyurt

C++ da yazmam lazım yardımcı olabilecek var mı

Bir şeyler yazsaydınız yardımcı olabilirdik, hazır ödev teslim etmiyoruz istisnalar dışında.



F
12 yıl
Er

#include <conio.h>
#include <string.h>
#include <stdio.h>

main()
{char cumle;
int b=0,i;
printf("cumleyi giriniz\n");
gets(cumle);
for(i=0;i<strlen(cumle);i++)
if(cumle=="A"||cumle=="a") b++;
printf("%u",b);
getch();
}

bu program niye çalışmıyor biri bana açıklayabilir mi?


Bu mesaja 1 cevap geldi.
F
12 yıl
Teğmen

random_shuffle fonksiyonu yerine daha basit ve ayni isi yapacak bisey var mi?



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

Z
12 yıl
Er

yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com


Bu mesaja 1 cevap geldi.
S
12 yıl
Yarbay

quote:

Orijinalden alıntı: zeynelak61

yeni başlayanllar için küçük program kodları ve kısa açıklammalar http://www.zeynelakcay.com

bence iyi olmuş, yeni mi burası ? daha da geliştirilebilirse çok iyi olur.


Bu mesaja 2 cevap geldi.
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: FutureEngineer

#include <conio.h>
#include <string.h>
#include <stdio.h>

main()
{char cumle;
int b=0,i;
printf("cumleyi giriniz\n");
gets(cumle);
for(i=0;i<strlen(cumle);i++)
if(cumle=="A"||cumle=="a") b++;
printf("%u",b);
getch();
}

bu program niye çalışmıyor biri bana açıklayabilir mi?

#include <conio.h>  
#include <string.h>
#include <stdio.h>

main()
{
char cumle[20]; //
int b=0,i;

printf("cumleyi giriniz\n");
gets(cumle);

for(i=0;i<strlen(cumle);i++)
{
if(cumle[i]=='A'||cumle[i]=='a') //
b++;
}

printf("%d",b);
getch();
}


Bu mesaja 1 cevap geldi.
F
12 yıl
Er

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: FutureEngineer

#include <conio.h>
#include <string.h>
#include <stdio.h>

main()
{char cumle;
int b=0,i;
printf("cumleyi giriniz\n");
gets(cumle);
for(i=0;i<strlen(cumle);i++)
if(cumle=="A"||cumle=="a") b++;
printf("%u",b);
getch();
}

bu program niye çalışmıyor biri bana açıklayabilir mi?

#include <conio.h>  
#include <string.h>
#include <stdio.h>

main()
{
char cumle[20]; //
int b=0,i;

printf("cumleyi giriniz\n");
gets(cumle);

for(i=0;i<strlen(cumle);i++)
{
if(cumle[i]=='A'||cumle[i]=='a') //
b++;
}

printf("%d",b);
getch();
}


öncelikle teşekkürler.
char cumle yerine char *cumle yazsaydık nasıl olurdu peki.
pointerlar kafamı karıştırıyor ama hoca pointer kullanmamızı istiyor.



Z
12 yıl
Er

öncelikle teşekkürler, evet yeni yaklaşık bir iki aya yakın oluyor siteyi düzenleyeli fırsat buldukça yeni kodalar ve açıklamalar ekleyecegim...