1. naloga
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void)
{
char niz[11];
int i,j,p;
// preberemo niz
printf("Vnesi besedo: ");
scanf("%s",niz);

// izpišemo ascii kodo posaemznega znaka
for (i=0;i<strlen(niz);i++)
printf("%d ",niz[i]);
printf("\n");

// izpišemo niz z malimi črkami
for (i=0;i<strlen(niz);i++)
printf("%c",tolower(niz[i]));
printf("\n");

// obrnemo velike v male črke in obratno
for (i=0;i<strlen(niz);i++)
if (islower(niz[i]))
printf("%c",toupper(niz[i]));
else
printf("%c",tolower(niz[i]));
printf("\n");

// izpišemo besedo v obratnem vrstnem redu
for (i=strlen(niz)-1;i>=0;i--)
printf("%c",niz[i]);
printf("\n");

// izpišemo vse možne permutacije
for (j=0;j<strlen(niz);j++)
{
for (i=0,p=j;i<strlen(niz);i++,p++)
{
if (p>=strlen(niz))
p=0;
printf("%c",niz[p]);
}
printf(" ");
}
printf("\n");

return 0;
}


2. naloga
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void)
{
char niz[11]="BESEDA";
char niz2[11],y[11];

// pretvorimo v BESEDNA
strncpy(niz2,niz,5);
niz2[5]='\0';
strcat(niz2,"NA");
strcpy(niz,niz2);
printf("%s\n",niz);

// pretvorimo v BESNA
strncpy(niz2,niz,3);
niz2[3]=0;
strcat(niz2,"NA");
strcpy(niz,niz2);
printf("%s\n",niz);

// pretvorimo v ENA
strcpy(niz,"ENA");
printf("%s\n",niz);

// zapomenmo tri črke
strcpy(niz,"BESEDNA");
sprintf(y,"%c%c%c",niz[2],niz[3],niz[6]);
printf("%s\n",y);

// prve tri črke
strncpy(y,niz,3);
y[3]=0;
printf("%s\n",y);

// zadnje tri črke
sprintf(y,"%c%c%c",niz[strlen(niz)-3],niz[strlen(niz)-2],niz[strlen(niz)-1]);
printf("%s\n",y);

return 0;
}


3. naloga
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void)
{
char niz[61];
char bes[61]="";
char max[61]="";
int sog,sam,st_besed;
int i,j;
sog=0;
sam=sog;
st_besed=sam;
printf("Vnesi stavek: ");
fgets(niz,60,stdin);
if (niz[strlen(niz)-1]=='\n')
niz[strlen(niz)-1] = 0;

for (i=0;i<strlen(niz);i++)
{
switch(tolower(niz[i]))
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u': sam++;
break;
case 'b':
case 'c':
case 'd':
case 'f':
case 'g':
case 'h':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'p':
case 'r':
case 's':
case 't':
case 'v':
case 'z':sog++;
break;
}
}
printf("V stavku je %d samoglasnikov in %d soglasnikov\n",sam,sog);
if (isupper(niz[0]))
printf("Stavek se zacne z veliko zacetnico.\n");
else
printf("Stavek ne zacne z veliko zacetnico.\n");

if ((niz[strlen(niz)-1] == '!') || (niz[strlen(niz)-1] == '.') || (niz[strlen(niz)-1] == '?'))
printf("Stavek je pravilno zakljucen.\n");
else
printf("Stavek ni pravilno zakljucen.\n");

// poiscemo st besed
for (i=0;i<strlen(niz);i++)
{
if (niz[i]==' ')
{
st_besed++;
j=i+1;
while (niz[j] == ' ')
{
j++; i++;
}
}
}
printf("Stevilo besed v stavku je %d\n",++st_besed);


// poiscemo najdaljso besedo
for (i=0;i<=strlen(niz);i++)
{
if ((niz[i] == ' ') || (niz[i]=='\0') || (niz[i]=='.') || (niz[i]=='?') || (niz[i]=='!'))
{
printf("%s\n",bes);
if (strlen(bes)>strlen(max))
strcpy(max,bes);
strcpy(bes,"");
}
else
{
sprintf(bes,"%s%c",bes,niz[i]);
}
}

printf("Najdaljsa beseda je %s\n",max);
return 0;
}


4. naloga

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void)
{
char x[30],y[30];
int i;
printf("Vnesi besedo: ");
scanf("%s",x);

// izpisemo zadnji dve crki
if (strlen(x)>2)
printf("Zadnji dve crki: %c%c\n",x[strlen(x)-2],x[strlen(x)-1]);

// izpisemo prvi dve crki
if (strlen(x)>2) {
strncpy(y,x,2);
y[2]=0;
printf("Prvi dve crki: %s\n",y); }

// izbrisemo prvi dve crki
// <= da kopiramo tudi ničlo
if (strlen(x)>2) {
for (i=2;i<=strlen(x);i++)
{
x[i-2]=x[i];
}
printf("Izbrisani prvi dve crki: %s\n",x);
}

if (strlen(x)>2) {
x[strlen(x)-2]=0;
printf("Izbrisani zadnji dve crki: %s\n",x);
}
sprintf(x,"%sIN",x);
printf("Dodan niz IN na konec: %s\n",x);

if (strlen(x)>3) {
if (strlen(x)%2==1)
printf("Nakljucna crka: %c",x[rand()%(strlen(x)-2)+1]);
else
printf("Nakljucni crki: %c%c",x[rand()%(strlen(x)-2)+1],x[rand()%(strlen(x)-2)+1]);
printf("\n");
}

for (i=strlen(x)/2;i<strlen(x);i++)
printf("%c",x[i]);
printf("\n");
system("PAUSE");
return 0;
}


Zadnja sprememba: 26. 2. 2014, 3:47