Space Normalization Program C++ (Proses Normalisasi Spasi)

Kali ini saya ingin memberikan sebuah kasus dalam pemrograman. Sebenarnya ini adalah soal recruitment programmer c++ atau java sebuah perusahaan game. Jadi bagi anda yang berminat menjadi programmer game mungkin soal ini bisa menjadi pembelajaran.


Jadi kasusnya seperti ini :
Buatlah program untuk membuat spasi atau tab menjadi normal! Contohnya :
input :
        bintang              catur                                putra
output:
bintang catur putra

saat ada jarak spasi atau tab sangat banyak maka program akan membuatnya normal, jika ada spasi atau tab di awal atau di akhir string maka spasi atau tab langsung dihilangkan.
Gambaran programnya seperti ini :


Nah, saya akan memberikan penyelesaiannya dengan c++.
berikut adalah source codenya:

#include <stdio>
#include <conio>
#include <string>
char *normal(char a[])
{
int i,j;
for (i=0;i<strlen(a);i++)
{
if (a[i]==' ' || a[i]=='\t')
{
for (j=i;j<strlen(a);j++)
{
a[j]=a[j+1];
}
i--;
}
else
{
if (a[i+1]==' ' || a[i+1]=='\t')
{
a[i+1]=' ';
i++;
}
}
}
return a;
}
main()
{
char s[100];
printf("input string\t= ");
gets(s);
printf("result\t\t= %s",normal(s));
getch();
}

dan berikut adalah untuk alur progamnya :
  • program dibagi menjadi dua, yaitu fungsi main, dan fungsi normal (untuk menormalkan spasi).
  • Pada main program yang pertama adalah proses input string.
  • Lalu fungsi normal dipanggil untuk proses normalisasi string.
Dan dalam fungsi normal alurnya adalah sebagai berikut:
  • Dengan perulangan karakter dengan index ke i akan dicek apakah karakter tersebut merupakan karakter spasi atau tab.
  • Jika karakter tersebut merupakan spasi atau tab maka karakter akan dihapus.• Jika bukan maka karakter sesudahnya akan dicek, jika karakter tersebut merupakan karakter spasi atau tab maka karakter sesudahnya akan diubah menjadi spasi dan dengan perintah i++ maka pengecekan untuk selanjutnya akan dilewati.
  • Setelah string sudah normal lalu nilai akan dikembalikan. atau anda juga bisa mendownload source code dan programnya di link di bawah ini :
DOWNLOAD

5 comments:

  1. wah, ngga mudeng aku nih, kalo CSS ya agak2 mudeng, heheee

    ReplyDelete
  2. gpp gan,,,
    makasih dah mampir

    ReplyDelete
  3. Menangkan Jutaan Rupiah dan Dapatkan Jackpot Hingga Puluhan Juta Dengan Bermain di www(.)SmsQQ(.)com

    Kelebihan dari Agen Judi Online SmsQQ :
    -Situs Aman dan Terpercaya.
    - Minimal Deposit Hanya Rp.10.000
    - Proses Setor Dana & Tarik Dana Akan Diproses Dengan Cepat (Jika Tidak Ada Gangguan).
    - Bonus Turnover 0.3%-0.5% (Disetiap Harinya)
    - Bonus Refferal 20% (Seumur Hidup)
    -Pelayanan Ramah dan Sopan.Customer Service Online 24 Jam.
    - 4 Bank Lokal Tersedia : BCA-MANDIRI-BNI-BRI

    8 Permainan Dalam 1 ID :
    Poker - BandarQ - DominoQQ - Capsa Susun - AduQ - Sakong - Bandar Poker - Bandar66

    Info Lebih Lanjut Hubungi Kami di :
    BBM: 2AD05265
    WA: +855968010699
    Skype: smsqqcom@gmail.com

    ReplyDelete
  4. Ijin promo yahh
    Hallo Bossku ! mau kasih info sedikit nihh , di EDENPOKER lagi memberikan bonus
    10.000 Ribu GRATISS LHOO dan kami juga memberikan bonus next depo 5 % juga lhoo
    ayoo buruaan gabung bersama kami di E D E N P O K E R . X Y Z

    ReplyDelete