Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4171
Cevap
167936
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (95. sayfa)
B
12 yıl
Teğmen

@-Source-

quote:

char input[]="This is a Text with % Charakter";

std::string str = input;
int pos = str.find_first_of('%');
str.replace(pos, 1, "%%");

std::cout << str << std::endl;


teşekkürler ama ben string kullanmadan orijinal dizi üzerinde (input) bunu yapmak istiyorum. Yardımcı olabilir misin?
Ayrıca orijnal dizide % yerine %% eklersem çıktıda bu % olarak görünmesine rağmen dizinin büyüklüğü 1 karakter daha artacak mı?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @-Source-
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: beterman

@-Source-

quote:

char input[]="This is a Text with % Charakter";

std::string str = input;
int pos = str.find_first_of('%');
str.replace(pos, 1, "%%");

std::cout << str << std::endl;


teşekkürler ama ben string kullanmadan orijinal dizi üzerinde (input) bunu yapmak istiyorum. Yardımcı olabilir misin?
Ayrıca orijnal dizide % yerine %% eklersem çıktıda bu % olarak görünmesine rağmen dizinin büyüklüğü 1 karakter daha artacak mı?


Sen diziye yeni bir karakter eklemek istediğin için mecburen boyutunun artması gerekiyor.
char input[] = "..." // 32 elemanlı bir dizi sen buna eleman ekleyemezsin. Sadece %'dan sonraki boşluğa ikinci %'i ekleyebilirsin. Bu yüzden std::string ile yapmıştım.
Benim bildiğim bu kadar. std::string varken char katarları ile ugrasmıyorum uzun zamandır.
 
char input[]="This is a Text with % Charakter";

for(int i = 0; i < sizeof(input); i++)
{
if(input[i] == '%')
{
input[++i] = '%';
}
}


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

string'in nimetleri konusunda hemfikirim ama ben mevcut C ile yazılmış bir kod üzerinde değişiklik yaptığımdan kodu fazla bozmadan (orijinal karakter dizisini değiştirerek) sorunu çözmek istiyorum. Önerdiğin şekilde yapmak sanırım tek çarem. Teşekkürler


Bu mesaja 1 cevap geldi.
H
12 yıl
Çavuş

Arkadaşlar graphics.h yükleyip çalıştımak istiyordum.

internette graphics.h dosyasını C:\Dev-Cpp\include konumuna, libbgi.a dosyasını ise C:\Dev-Cpp\lib konumuna yapıştırın yazıyordu. Bende Dev-Cpp, Program dosyalrı (x86) /Dev-Cpp dizininde bulunuyor. includede Dev-Cpp/MinGW64 dizinde bulunuyor graphics.h dosyasını oraya attım. libbgi.a dosyasınıda yıne o dzindeki lib dosyasına attm baglayıcılarıda ekledım yanı lınkleri . Fakat program -lbgi bulamıyor. Aşağıdaki hatayı verıyor

< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: hellbas

Arkadaşlar graphics.h yükleyip çalıştımak istiyordum.

internette graphics.h dosyasını C:\Dev-Cpp\include konumuna, libbgi.a dosyasını ise C:\Dev-Cpp\lib konumuna yapıştırın yazıyordu. Bende Dev-Cpp, Program dosyalrı (x86) /Dev-Cpp dizininde bulunuyor. includede Dev-Cpp/MinGW64 dizinde bulunuyor graphics.h dosyasını oraya attım. libbgi.a dosyasınıda yıne o dzindeki lib dosyasına attm baglayıcılarıda ekledım yanı lınkleri . Fakat program -lbgi bulamıyor. Aşağıdaki hatayı verıyor

< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >

libbgi.a dosyasıhttp://www.uniqueness-template.com/devcpp/libbgi.a bu linkten indirip denesene olacak mı bakalım.(Sağ tık farklı kaydet.)
Ayrıca linker kısmını da aşağıdaki ekle.
-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32


Bu mesaja 1 cevap geldi.
H
12 yıl
Çavuş

hala aynı hatayı verıyor


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @-Source-
B
12 yıl
Yarbay

Arkadaşlar sefer algan her yönüyle c# kitabında for döngüsü konusunda bir soru sormuş;
kullanıcının gireceği byte türünden bir sayının bütün bitlerini ekrana yan yana yazdıracak bir program yazınız diye.(Örn 255 girerse 11111111 şeklinde yazacak)Çözemedim kitabında çözüme baktım ama açıklamamış bu and adlı değişkeni ne için kullanmış anlayan biri açıklayabilir mi?)
quote:

//Byte türünden girilen sayının bit değerini ekrana yazdırma
Console.WriteLine("Bir sayı giriniz(0-255 arası): ");
byte sayi = Convert.ToByte(Console.ReadLine());
for (byte j = 8; j >= 1; j--)
{
byte And = 1;
for (int k = 1; k <= j - 1; k++)
{
And *= 2;

}
byte bit=(byte)((sayi & And)>>j-1);
Console.Write(bit);
}
Console.ReadKey();


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

quote:

Orijinalden alıntı: hellbas

hala aynı hatayı verıyor

Mecbur değilsen libgdi kullanma. Çok eski ve sorunlu bir kütüphane. Mis gibi SDL var.



G
12 yıl
Yarbay

quote:

Orijinalden alıntı: Bilgisayar Bağımlısı

Arkadaşlar sefer algan her yönüyle c# kitabında for döngüsü konusunda bir soru sormuş;
kullanıcının gireceği byte türünden bir sayının bütün bitlerini ekrana yan yana yazdıracak bir program yazınız diye.(Örn 255 girerse 11111111 şeklinde yazacak)Çözemedim kitabında çözüme baktım ama açıklamamış bu and adlı değişkeni ne için kullanmış anlayan biri açıklayabilir mi?)
quote:

//Byte türünden girilen sayının bit değerini ekrana yazdırma
Console.WriteLine("Bir sayı giriniz(0-255 arası): ");
byte sayi = Convert.ToByte(Console.ReadLine());
for (byte j = 8; j >= 1; j--)
{
byte And = 1;
for (int k = 1; k <= j - 1; k++)
{
And *= 2;

}
byte bit=(byte)((sayi & And)>>j-1);
Console.Write(bit);
}
Console.ReadKey();


Uzun yazmış. Onu açıklamaktansa kendim yazıp onu açıklayayım.

 
byte sayi = Convert.ToByte(Console.ReadLine());

for(int bit = 7; bit >= 0; --bit)
Console.Write((sayi >> bit) & 1);


Döngünün her adımında sayıyı sıradaki bit en sağa gelecek şekilde sağa öteliyoruz ve 1 ile VE işlemine sokuyoruz. 1 in binary açılımı 0000 0001. Sayıyı 1 ile VE lediğimiz zaman 0 lara karşılık gelen bütün bitler sıfırlanır. 1 e karşılık gelen ise değişmez. Yani sonuç olarak elimizde ya 0 olur ya da 1.



B
12 yıl
Yarbay

Anladım hocam teşekkürler.And değişkeni benim kafamı karıştırmıştı sefer alganın örneğinde siz sade ve öz çözünce anladım


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @elektro_gadget
M
12 yıl
Binbaşı

#include <stdio.h>
#include <math.h>
int main()
{

int a,b;
double hip=a*a+b*b;
printf("a yi girin:"); scanf("%d",&a);
printf("b yi girin:"); scanf("%d",&b);
printf("hipotenus:%f",hip);
}

soyle basit bir kodu bile calistiramadim sorun nerde?


Bu mesaja 1 cevap geldi.
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mow_

#include <stdio.h>
#include <math.h>
int main()
{

int a,b;
double hip=a*a+b*b;
printf("a yi girin:"); scanf("%d",&a);
printf("b yi girin:"); scanf("%d",&b);
printf("hipotenus:%f",hip);
}

soyle basit bir kodu bile calistiramadim sorun nerde?


 

int a,b;
printf("a yi girin:"); scanf("%d",&a);
printf("b yi girin:"); scanf("%d",&b);
double hip=a*a+b*b;
printf("hipotenus:%f",sqrt(hip));



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

ya bu hep bu sirayla mi oluyordu ki? neyse tesekkurler hocam


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @-Source-
-
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mow_

ya bu hep bu sirayla mi oluyordu ki? neyse tesekkurler hocam

Evet sırayla oluyor.


Bu mesaja 1 cevap geldi.
I
12 yıl
Yüzbaşı

Arkadaşlar ben bir biyografi oluşturma programı yapıyorum. Doğduğunuz yeri girdiğinizde İstanbul ise İstanbul'da, İzmir ise İzmir'de şeklinde ek almalarını istiyorum. 'da ve 'de eki alan illeri yazdım ama 'te ve 'ta eki alan illeri aynı şekilde yazdığımda sorunum düzelmedi. Lütfen yardımlarınızı esirgemeyin.

if (textBox3.Text == "Artvin") 
{
if (textBox3.Text == "Balıkesir")
{
if (textBox3.Text == "Bilecik")
{
if (textBox3.Text == "Bingöl")
{
if (textBox3.Text == "Bitlis")
{
if (textBox3.Text == "Çanakkale")
{
if (textBox3.Text == "Denizli")
{
if (textBox3.Text == "Edirne")
{
if (textBox3.Text == "Eskişehir")
{
if (textBox3.Text == "Gümüşhane")
{
if (textBox3.Text == "Hakkari")
{
if (textBox3.Text == "Mersin")
{
if (textBox3.Text == "İzmir")
{
if (textBox3.Text == "Kayseri")
{
if (textBox3.Text == "Kırklareli")
{
if (textBox3.Text == "Kırşehir")
{
if (textBox3.Text == "Kocaeli")
{
if (textBox3.Text == "Mardin")
{
if (textBox3.Text == "Nevşehir")
{
if (textBox3.Text == "Niğde")
{
if (textBox3.Text == "Rize")
{
if (textBox3.Text == "Tunceli")
{
if (textBox3.Text == "Kırıkkale")
{
if (textBox3.Text == "Kilis")
{
if (textBox3.Text == "Osmaniye")
{
if (textBox3.Text == "Düzce"){

}
}
}
}
}
}
}
}
}
}
}
};
}
}
}
}
}
}
}
}
}
}
}
}
}
{

}
}
}
}

{


{
{
{
textBox8.Text = "Adım " + textBox1.Text + ". " + textBox2.Text + " tarihinde " + textBox3.Text + "'de doğdum" + ". " + textBox4.Text + " şehrinde yaşıyorum" + ". " + textBox5.Text + "'nde okudum" + ". " + "Mesleğim " + textBox6.Text + ". " + textBox7.Text + " ilgi alanlarımdan" + ". ";


*Bu şekilde 'da yerine sonu 'de ekiyle bitmesi gereken illeri yazdım (ve oldu.)


if (textBox3.Text == "Gaziantep") 
{
if (textBox3.Text == "Bilecik")
{
if (textBox3.Text == "Siirt")
{
if (textBox3.Text == "Karabük")
{
textBox8.Text = "Adım " + textBox1.Text + ". " + textBox2.Text + " tarihinde " + textBox3.Text + "'te doğdum" + ". " + textBox4.Text + " şehrinde yaşıyorum" + ". " + textBox5.Text + "'nde okudum" + ". " + "Mesleğim " + textBox6.Text + ". " + textBox7.Text + " ilgi alanlarımdan" + ". ";


**Daha sonra 'de yerine 'te eki alması gereken illeri yazdım (ve olmadı.)


                                            if (textBox3.Text == "Tokat") 
{
if (textBox3.Text == "Uşak")
{
if (textBox3.Text == "Yozgat")
{
if (textBox3.Text == "Zonguldak")
{
if (textBox3.Text == "Bayburt")
{
if (textBox3.Text == "Şırnak")
{
textBox8.Text = "Adım " + textBox1.Text + ". " + textBox2.Text + " tarihinde " + textBox3.Text + "'ta doğdum" + ". " + textBox4.Text + " şehrinde yaşıyorum" + ". " + textBox5.Text + "'nde okudum" + ". " + "Mesleğim " + textBox6.Text + ". " + textBox7.Text + " ilgi alanlarımdan" + ". ";
}
}
}
}
}
}
}
}
}
}
}




{



}

}

}
}

}


***En sonda da 'te yerine 'ta eki alması gereken illeri yazdım (ve olmadı.)


İlk 'de eki alması gereken illeri if ile yaptığımda olmasına rağmen daha sonra 'te ve 'ta eki alması gereken illeri de aynı şekilde yaptığım halde olmamasının sebebi nedir? Lütfen yardım edin.


Bu da sorunumun videosu: http://www.screenr.com/bqrH





< Bu mesaj bu kişi tarafından değiştirildi IdeaBulb -- 3 Eylül 2013; 15:27:58 >
Bu mesaja 1 cevap geldi.
G
12 yıl
Er

C dilinde linkedlist bir yapi olusturarak bir text dosyasindaki verilerin icindeki ilk adresten baslayarak 36 byte giderek ve bunun son 4 byte'ini pointer olarak baska adrese atayarak bu dongu icinde sonunda FFFF gormeyi hedefleyen bir program hazirladim. Fakat text dosyasindaki adresler 011C0730, 011C0890, 011C07F0 gibi sonu sadece sifir ile biten adreslerden olusuyor ve benim programim 011C089C gibi bir adres buldugunda buna gidemeyerek tikaniyor. Cunku 011C0890'dan itibaren C sayisini bulana kadar hexadecimal olarak saymasi gerekiyor ki devam etsin. Bu konuda yardimci olursaniz sevinirim.


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

quote:

Orijinalden alıntı: gizem991

C dilinde linkedlist bir yapi olusturarak bir text dosyasindaki verilerin icindeki ilk adresten baslayarak 36 byte giderek ve bunun son 4 byte'ini pointer olarak baska adrese atayarak bu dongu icinde sonunda FFFF gormeyi hedefleyen bir program hazirladim. Fakat text dosyasindaki adresler 011C0730, 011C0890, 011C07F0 gibi sonu sadece sifir ile biten adreslerden olusuyor ve benim programim 011C089C gibi bir adres buldugunda buna gidemeyerek tikaniyor. Cunku 011C0890'dan itibaren C sayisini bulana kadar hexadecimal olarak saymasi gerekiyor ki devam etsin. Bu konuda yardimci olursaniz sevinirim.


Kodu calistirmak icin text dosyasina ihtiyac var fakat, onceki mesajimi daha anlasilir kilmasi acisindan kodu yolluyorum.

[code]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct datas
{
char byteAddress[8];
char byteData[8];
struct datas *nextPtr;
}datasPtr;

datasPtr *first=NULL,*last=NULL, *tempPtr=NULL;
int counter=0;
char tempArray[9]={0};
int control=0;
void add_address();
void list();
void binaryTour(datasPtr *);
void octalTour();
int main()
{

add_address();
binaryTour(first);
while(control!=1)
{
octalTour(tempPtr);
binaryTour(tempPtr);
}
return 0;
}


void add_address()
{
datasPtr *new_address;
FILE *read;
read=fopen("message_buffer.txt","r");
new_address=(datasPtr*)malloc(sizeof(datasPtr));

if(new_address==NULL)
{
puts("Place isn't Reserved");
exit(0);
}

while(!feof((read)))
{
new_address = (datasPtr*)malloc(sizeof(datasPtr)); //yenikayit için yer ayrıldı
fscanf(read,"%s",new_address->byteAddress);

if(first != NULL)//ilk kayır değilse
{
last->nextPtr = new_address;
last = new_address;
last->nextPtr = NULL;
}
else //ilk kayıt ise
{
first = new_address;
last = first;
first->nextPtr = NULL;
}

}
}

void binaryTour(datasPtr *address)
{

datasPtr *binary;
binary=(datasPtr*)malloc(sizeof(datasPtr));
binary=first;
binary=address;

while(binary!=NULL)
{
if(strlen(binary->byteAddress)==2)
{
counter++;

if(counter>32 && counter<37)
{
// printf("%s....\n",ikili->byteAdres);
strcat(tempArray,binary->byteAddress);
}
if(counter>=37)
{
printf("Data Address : %s \n",tempArray);
break;
}

}
binary=binary->nextPtr;

}
counter=0;
tempPtr=binary;
return;
}

void octalTour(datasPtr *address)
{
datasPtr *octal;
octal=(datasPtr*)malloc(sizeof(datasPtr));
octal=first;


while(octal!=NULL)
{
if(strlen(octal->byteAddress)==8)
{
counter++;

if(strcmp(octal->byteAddress,tempArray)==0)
{
printf("At the %d. row the address %s is found.\n",counter,octal->byteAddress);
counter=0;
if(strcmp(tempArray,"FFFF")==0)
{
printf("End of File : FF FF FF FF : Address is Found");
control=1;
exit(0);

}
break;
}

}
octal=octal->nextPtr;
}
tempPtr=octal;
memset(tempArray,'\0',9);
return;
}
[\code]


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

#include <stdio.h>
#include <math.h>
int main()
{
int not1,not2,not3;

printf("1.sinav notunuzu girin:"); scanf("%d", not1);
printf("2.sinav notunuzu girin:"); scanf("%d", not2);
printf("3.sinav notunuzu girin:"); scanf("%d", not3);

int top=not1+not2+not3;
float ort=(float)top/(float)3;

if(ort<45)
{
printf("sinif tekrari");
}
else
{
printf("gectiniz");
}

}

bunda nerde hata var acaba?


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

quote:

Orijinalden alıntı: mow_

#include <stdio.h>
#include <math.h>
int main()
{
int not1,not2,not3;

printf("1.sinav notunuzu girin:"); scanf("%d", not1);
printf("2.sinav notunuzu girin:"); scanf("%d", not2);
printf("3.sinav notunuzu girin:"); scanf("%d", not3);

int top=not1+not2+not3;
float ort=(float)top/(float)3;

if(ort<45)
{
printf("sinif tekrari");
}
else
{
printf("gectiniz");
}

}

bunda nerde hata var acaba?

scanf("%d",&değişkenAdı); şeklinde kullanılıyodu sanırım


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

tabi ya
saol hocam




Bu mesajda bahsedilenler: @Mtntk