download soal

Matakuliah
Tahun
Versi
: T0616 / Algoritma dan Pemrograman
: 2007
: 1/0
Latihan Pertemuan 19-20
String
1
Latihan
• Diberikan sebuah array karakter :
char str1[] = "Latihan.";
• Buat program untuk mengkopi string dari
str1 ke str2
2
Latihan
• Diberikan sebuah array karakter :
char str1[] = “Happy";
char str1[] = “New Year";
• Buat program untuk menghasilkan str3
yang berisi :
– “Happy New Year”
– “Happy Year”
3
Latihan
• Buat program untuk:
– mengambil string dari keyboard
– membalik susunan karakter dalam string tsb
– menampilkan string yg sudah dibalik ke layar
monitor
Contoh: String yg diinput :
Ditampilkan :
KASUR
RUSAK
4
Latihan
• Palindrom adalah kata yang dibaca dari
belakang dan depan sama saja.
• Contoh : SUGUS, TAMAT (coba cari contoh
yang lain)
• Tugas Anda adalah membuat program untuk
menerima input string dari keyboard dan
mengecek apakah sebuah kata palindrom atau
bukan.
• Contoh :
Masukkan kata : KASUR
Bukan Palindrom
Makukkan kata : sugus
Palindrom
5
Latihan
• Buatlah sebuah program untuk menginput
nama Anda dari keyboard dan
menggerakkan string nama Anda dari
posisi kiri atas layar ke posisi kanan
bawah ( dari pos(0,0), pos(1,1,), pos(2,2),
pos(3,3) s/d pos(24,24) )
6
Latihan
• Jelaskan apakah output program berikut !
#include <stdio.h>
void main() {
char str[80];
int i, delt = `a' - `A';
printf(“Input string (maks 80 char):\n");
gets( str );
i = 0;
while (str[i]){
if ((str[i] >= `a') && (str[i] <= `z'))
str[i] -= delt;
++i;
}
printf(“Hasil string :\n");
puts( str );
}
Adakah
cara lebih
mudah ?
7
Latihan
Apa yang akan dicetak oleh kode berikut:
char s[] = “Bina Nusantara”;
int count = 0;
for(char *p = s; *p; p++)
if(isupper(*p)) ++count;
printf(“\n%d “, count);
Apa yang akan dicetak oleh kode berikut:
char s[] = “Bina Nusantara”;
for(char *p = s; *p; p++)
if(isupper(*p)) *p = tolower(*p);
printf(“\n%s “, s);
8
Latihan
Apa tugas fungsi cp() berikut:
char* cp(char *s1, const char *s2) {
for(char *p = s1; *s2; *p++ = *s2++;
*p = ‘\0’;
return s1;
}
Apa tugas fungsi rev() berikut :
void rev() {
for(char *end = s; *end; end++)
char temp;
while(s < end -1) {
temp = *--end;
*end = *s;
*s++ = temp;
}
}
9