Svuda dođi¶
Autor zadatka: Aleksandar Vasiljević <alexva02@uns.ac.rs>
Napisati program koji na osnovu ulaznog stringa A
formirati izlazni string B
sačinjen od prve i poslednje reči ulaznog stringa A
.
Prilikom unosa ulaznog stringa A
voditi računa o maksimalnoj dozvoljenoj dužini koja iznosi 22 karaktera.
Izlazni string B
treba da se sastoji isključivo od velikih slova (konverziju raditi samo nad slovima):
Unesite zeljeni string (max duzine 22): Svuda podji, kuci dodji
Očekivani izlaz na ekranu je:
SVUDA DODJI
Očekivani izlaz na ekranu ukoliko se za vrednost string A
unetog preko standardnog ulaza „Svuda“ je sledeći:
SVUDA SVUDA
Primer rešenja¶
1#include <stdio.h>
2#include <string.h>
3
4#define MAX_STRING 22+1
5
6int main()
7{
8 char str[MAX_STRING],prvi[MAX_STRING],poslednji[MAX_STRING];
9 int n,i,indPrvi=0,indPoslednji=0;
10
11 do
12 {
13 printf("Unesite zeljeni string (max duzine %d):",MAX_STRING-1);
14 gets(str);
15 } while(strlen(str)<=0 || strlen(str)>MAX_STRING);
16
17 for(i=0;i<strlen(str);i++)
18 {
19 if(str[i]==' ')
20 {
21 break;
22 }else
23 {
24 if(str[i]>='a' && str[i]<='z')
25 prvi[indPrvi] = str[i]-32;
26 else
27 prvi[indPrvi] = str[i];
28
29 indPrvi++;
30 }
31 }
32 prvi[indPrvi]='\0';
33
34 int index;
35 for(i=strlen(str);i>=0;i--)
36 {
37 if(str[i]==' ')
38 {
39 index = ++i;
40 break;
41 }
42 }
43
44 for(i=index;i<strlen(str);i++)
45 {
46 if(str[i]>='a' && str[i]<='z')
47 poslednji[indPoslednji] = str[i]-32;
48 else
49 poslednji[indPoslednji] = str[i];
50
51 indPoslednji++;
52 }
53 poslednji[indPoslednji] = '\0';
54
55 strcat(prvi," ");
56 puts(strcat(prvi,poslednji));
57
58 return 0;
59}
60