Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program.c
- 1 #include<stdio.h>
- 2 #include "mystr.h"
- 3
- 4 int main(void)
- 5 {
- 6 char a[100], b[100], c[100], d[100],i;
- 7
- 8 //funkcija treba ucitati liniju teksta sa stdin-a u predani buffer
- 9 //puts("Upisi tri stringa odvojena enterom");
- 10
- 11 printf("a:\n");
- 12 myreadline(a);
- 13 printf("b:\n");
- 14 myreadline(b);
- 15 printf("c:\n");
- 16 myreadline(c);
- 17 printf("\n");
- 18
- 19 //funkcija treba vratiti duzinu stringa
- 20 printf("Duzina stringa a: %d\n", mystrlen(a));
- 21 printf("Duzina stringa b: %d\n", mystrlen(b));
- 22 printf("Duzina stringa c: %d\n", mystrlen(c));
- 23
- 24 //funkcija treba prekopirati sadržaj prvog predanog stringa u drugi, vraca
- 25 //koliko je znakova prekopirano
- 26 int n = mystrcpy(a, d);
- 27 printf("\nString a je prekopiran u d i glasi: %s\n", d);
- 28 printf("Prekopirano je %d znakova\n", n);
- 29
- 30 //funkcija treba provjeriti jesu li stringovi jednaki, vraca int
- 31 if ( mystrcmp( a, b) )
- 32 printf("Stringovi a i b su jednaki!\n");
- 33 else
- 34 printf("Stringovi a i b su razliciti!\n");
- 35
- 36 //funkcija treba provjeriti je li prvi string sadrzan unutar drugoga, vraca
- 37 //index na kojem se nalazi prvi znak pronadjenog stringa, ili negativan broj
- 38 //ako nije pronadjen
- 39 puts("\nPretraga je li neki string dio nekog drugog stringa");
- 40 puts("Unesi prvo string u kojem trazim, a nakon toga string koji trazim:");
- 41 //char big[] = "Ovo je neki veliki string u kojem trazim!";
- 42 //char sub[] = "velik";
- 43 char big[100], sub[100];
- 44 printf("'glavni' string:\n"); myreadline(big);
- 45 printf("'podstring': \n"); myreadline(sub);
- 46 int loc = mysubstring(big,sub);
- 47 if (loc >= 0)
- 48 printf("String '%s' se u stringu '%s' nalazi na %d. mjestu.\n", sub, big, loc);
- 49 else
- 50 printf("String '%s' nije dio stringa '%s'\n", sub, big);
- 51
- 52 char e[100], f[100], g[100];
- 53 //ucitaj tekst u e i kopiraj ga u f i g
- 54 printf("\nUpisi tekst kojem ces mijenjati slova: \n");
- 55 myreadline(e);
- 56 mystrcpy(e,f);
- 57 mystrcpy(e,g);
- 58
- 59 //funkcija treba sva mala slova u stringu postaviti na velika slova
- 60 mytoupper(e);
- 61 printf("VELIKA SLOVA: %s\n", e);
- 62
- 63 //funkcija treba sva velika slova postaviti u mala
- 64 mytolower(f);
- 65 printf("mala slova: %s\n", f);
- 66
- 67 //funkcija treba sva velika slova prebaciti u mala, a sva mala u velika
- 68 myinvertcase(g);
- 69 printf("InVertIRANA sloVA: %s\n", g);
- 70
- 71
- 72 return 0;
- 73 }
- 74
- 75
- mystr.c
- 1
- 2 #include <stdio.h>
- 3 #include <stdlib.h>
- 4
- 5
- 6 void myreadline(char a[]){
- 7 gets(a);
- 8 }
- 9
- 10 int mystrlen(char a[]){
- 11 int broj;
- 12 for (int i=0;a[i]!='\0';i++)
- 13 broj=i;
- 14 return broj+1;
- 15 }
- 16
- 17 int mystrcpy(char a[], char d[]){
- 18 int i,k=0;
- 19 for (i=0;a[i]!='\0';i++){
- 20 d[i]=a[i];
- 21 k++;
- 22 }
- 23 d[k]='\0';
- 24 return i;
- 25 }
- 26
- 27 int mystrcmp( char a[],char b[]){
- 28 for (int i=0;a[i]!='\0';i++){
- 29 for (int j=0;b[i]!='\0';j++){
- 30 if(a[i]!=b[j]){
- 31 return 0;
- 32 }
- 33 else if (a[i]==b[j])
- 34 {
- 35 return 1;
- 36 }
- 37 }
- 38 }
- 39 }
- 40
- 41 int mysubstring(char big[], char sub[]){
- 42 for (int i=0; big[i]!='\0';i++){
- 43 for (int j=0;sub[j]!='\0';j++){
- 44 if(big[i+j]!=sub[j])
- 45 {
- 46 break;
- 47 }
- 48 if(j==(mystrlen(sub)-1))
- 49 {
- 50 return i;
- 51 }
- 52 }
- 53 }
- 54 return -1;
- 55 }
- 56
- 57 void mytoupper(char e[]){
- 58 int i;
- 59 for(i=0;e[i]!='\0';i++){
- 60 if (e[i]>96&&e[i]<122){
- 61 e[i]-=32;
- 62 }
- 63 }
- 64 }
- 65
- 66 void mytolower(char f[]){
- 67 int i;
- 68 for(i=0;f[i]!='\0';i++){
- 69 if (f[i]>64&&f[i]<91){
- 70 f[i]+=32;
- 71 }
- 72 }
- 73 }
- 74
- 75 void myinvertcase(char g[]){
- 76 int i;
- 77 for( i=0;i<g[i]!='\0';i++){
- 78 if (g[i]>96&&g[i]<122){
- 79 g[i]-=32;
- 80 }
- 81 else if (g[i]>65&&g[i]<90){
- 82 g[i]+=32;
- 83 }
- 84 }
- 85 }
- 86
- 87
- mystr.h
- 1 #ifndef MYSTR_H
- 2 #define MYSTR_H
- 3 #define _CRT_SECURE_NO_WARNINGS
- 4
- 5
- 6 void myreadline(char a[]);
- 7 int mystrlen(char a[]);
- 8 int mystrcpy(char a[], char d[]);
- 9 int mystrcmp( char a[],char b[] );
- 10 int mysubstring(char big[], char sub[]);
- 11
- 12 void mytoupper(char e[]);
- 13 void mytolower(char f[]);
- 14 void myinvertcase(char g[]);
- 15
- 16 #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement