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
These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Reddit
  • Spurl
  • StumbleUpon
  • Technorati

Leave a comment