Arama butonu
Bu konudaki kullanıcılar: 1 misafir
34
Cevap
18467
Tıklama
0
Öne Çıkarma
Cevap: C'de bir cümleyi tersten kelime kelime yazdırma? (2. sayfa)
S
5 yıl
Yüzbaşı

niye async write yapıyorsun bu kadar basit birşey için? fileWriteSync kullan, callback karmaşasından kurtulmuş olursun



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


Bu mesajda bahsedilenler: @JSDeveloper
T
5 yıl
Yarbay

# Bu örnek sadece kelimelerin ilk harfini büyük harf yapmak üzerine, yani dosyaya kaydetmeyi eklemeye gerek yok; o zaman tabi uzun olur.

# map kullanarak Regex 'siz de çözdüm.

print join(' ', (map ucfirst, split(' ',$ARGV[0])));

# map 'e fonksiyon olarak ucfirst ı verdiğinde dizi argümanının elemanlarını UpperCase First olarak map'ler. Orada "map ucfirst, argüman" gösterimi yerine daha klasik olan " map {ucfirst} argüman" gösterimini de kullanabilirsin yani:

# print join(' ', (map {ucfirst} split(' ',$ARGV[0])));

# Büyük harfi map 'le yapınca Türkçe karakter sorunu da ortadan kalktı :)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @JSDeveloper
E
5 yıl
Yarbay

quote:

Orijinalden alıntı: Tuğkan-0153

# Bu örnek sadece kelimelerin ilk harfini büyük harf yapmak üzerine, yani dosyaya kaydetmeyi eklemeye gerek yok; o zaman tabi uzun olur.

# map kullanarak Regex 'siz de çözdüm.

print join(' ', (map ucfirst, split(' ',$ARGV[0])));

# map 'e fonksiyon olarak ucfirst ı verdiğinde dizi argümanının elemanlarını UpperCase First olarak map'ler. Orada "map ucfirst, argüman" gösterimi yerine daha klasik olan " map {ucfirst} argüman" gösterimini de kullanabilirsin yani:

# print join(' ', (map {ucfirst} split(' ',$ARGV[0])));

# Büyük harfi map 'le yapınca Türkçe karakter sorunu da ortadan kalktı :)
Güzel kombinasyonlar çıktı


@seyfi84
Alışkanlık olmuş, senkron pek kullanmıyorum nedense, o halini de yapayım.


Edit: Noktalı virgül geldiği için tamamiyle tek satır olmuyor, formatlanınca iki satıra geçiyor. Async yapınca tek satır alıyor. Bu yüzden hybrid.

require('fs').writeFile('./test.txt', 'ali bugün okula gitti'.split(' ').map(x => x.charAt(0).toUpperCase() + x.slice(1,x.length)).reverse().join(' '), (err) => console.log(err ? err : require('fs').readFileSync('./test.txt').toString()));





< Bu mesaj bu kişi tarafından değiştirildi ElwinVanDyke -- 9 Mayıs 2019; 16:37:31 >

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


Bu mesajda bahsedilenler: @seyfi84
D
5 yıl
Teğmen

#include <conio.h>
#include <iostream>
#include <string.h>
#include <windows.h>

int main(int argc, char* argv[])
{
setlocale(LC_ALL, "turkish");

string strCumle, strKelime, strTersCumle;

cout << "Tersten yazılacak cümleyi giriniz:\n\n";
cin >> strCumle;

int intCumleninUzunlugu = strCumle.length();
int intHarfNo = 0;

goto dongu;

dongu:
{
if (intCumleninUzunlugu == intHarfNo)
{
system("cls");

cout << "Cümlenin tersten yazılmış hali:\n\n" << strTersCumle << "\n\nProgramı kapatmak için klavyenizden bir tuşa basınız...";

getch();

return 0;
}

else
{
if (strCumle.substr(intHarfNo, intCumleninUzunlugu) != " ")
{
strKelime = strKelime + strCumle.substr(intHarfNo, intCumleninUzunlugu);

++intHarfNo;

goto dongu;
}

else
{
strTersCumle = strKelime + " " + strTersCumle;

++intHarfNo;

goto dongu;
}
}
}
}


Bu mesaja 1 cevap geldi.
T
5 yıl
Yarbay

Cümledeki kelimeleri sadece tersten yazdırma değil, her sözcüğün ilk harfini büyük harf yapıp oluşan cümleyi bir txt dosyasına kaydetmeyi tek bir satırda yapabiliyorken, böyle uzun kodlar biraz kullanışsız değil mi?

Bir satır derken sadece 105 karakter:

print $t=join(" ",reverse(map ucfirst,split(" ",$ARGV[0])));open D,">:encoding(UTF-8)","y.txt";print D $t;

Deneme:

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @DrakeMcCain
D
5 yıl
Teğmen

Ona kullanışsız demeyelim de şöyle diyelim: Sen belli ki Perl dilini kullanmışsın ki bu bir interpreted dil, ki ben bu tarz dilleri sevmiyorum. Ayrıca uzun uzun kod yazmak beni rahatsız etmiyor ki zaten kodlamayı zevkine yapıyorum.
Ama yine de görüşüne saygı duyarım.

Ayrıca başlıkta "C dilinde" denmiş.





< Bu mesaj bu kişi tarafından değiştirildi DrakeMcCain -- 10 Temmuz 2019; 0:49:19 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
5 yıl
Yarbay

quote:

Ayrıca başlıkta "C dilinde" denmiş.


Fakat senin kod da C değil ki? Ve C++ ile yazıldığı halde gereksiz uzun hem de hatalı. cin fonksiyonu ile arada boşluklar olan kelimeler girilmez. Kodun kullanışsız olması benim görüşümden cok bir gerçek.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @DrakeMcCain
B
5 yıl
Yüzbaşı

En iyi hal
İki misali de birden vermek.
Hem uzun olanı hem kısa olanı. 😄
Uzun yazmayıdı severim. Uzun bir şeyi kısaltmayıda
Fakat şunu bilirim c++ var olan for döngüsüne basit bir şeyi yaptıramadım.
olay ne for'un düzgün çalışmaması. (farklı bir proje fakat herkesin işine yarar)
bu yapınca haber veririm.
O yüzden ikinizi de başlatan adına teşekkür ederim.





< Bu mesaj bu kişi tarafından değiştirildi berce -- 10 Temmuz 2019; 7:49:24 >

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

D
5 yıl
Teğmen

C'yi sadece çok küçük bir kısmında kullanmıştım. <conio.h> headeri ve getch() fonksiyonu C'nin değil mi?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
5 yıl
Yarbay

C++ koduna bir C başlığı ve fonksiyonu ekleyince o C programı olmaz. Konunun en başındaki 2 koda bakın; onlar C kodu.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @DrakeMcCain
D
5 yıl
Teğmen

Her neyse çok da önemli değil, önemli olan kod yazabilmek ve kullandığın dile hakim olmak değil midir?



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
5 yıl
Yarbay

C++ ile yazıyorsam input cümlesini STL'deki vector<string> cumle(10) içine kaydedip kelimeleri tersten yazdırmak için de vector Container'ının metodlarını kullanarak belki 5 satırda bu işlemi yaparım. Senin kod 40 satır. Ve çalışmıyor zaten. Bunun adı dile hakimiyet ise ben de Trump Obama'yım.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @DrakeMcCain
D
5 yıl
Teğmen

Ben dile hakimim demedim ki. Benim işim programcılık bile değil. Sadece kendi çapımda öğrenmeye çalışıyorum. Dolayısıyla yazdığım kodların çalışmaması da gayet mümkün. Kaldı ki ben kimseye artistlik de yapmadım veya programlama uzmanıyım falan da demedim.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
5 yıl
Yarbay

Perl değil, C++ kodu. Comment'ler haric 17 satır ve Türkçe karaktere kadar doğru çalışıyor. Hah böyle birşey göndersen, programlama uzmanıyım dedim, demedim vs. demeye gerek kalmayacaktı.

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




Bu mesajda bahsedilenler: @DrakeMcCain
H
3 yıl
Er

#include <stdio.h>
 #include <string.h>
 #include <conio.h>
 void main()
 {
  const char*bosluk =" ";
  char birsatir[100];
  char* birkelime = NULL;
  char kopya[5][250];
   int i=0;
  printf("bir cumle giriniz : \n");
  gets(birsatir);

  birkelime = strtok(birsatir, bosluk);
  while (birkelime != NULL)
  {
  strcpy(kopya, birkelime);
  i++;
  birkelime = strtok(NULL, bosluk);
  }

  for (int j = i; j >= 0; j--)
    printf("%s ",kopya[j]);

  getchar();
 }

eksiksiz



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.