Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define STRING_LENGTH 64
- int isalphaCustom(char character)
- {
- if (character >= 'A' && character <= 'Z' ||
- character >= 'a' && character <= 'z' ||
- character == '\x86' ||
- character == '\x84' ||
- character == '\x94' ||
- character == '\x8F' ||
- character == '\x8E' ||
- character == '\x99')
- return 1;
- return 0;
- }
- char *getWord(char string[], int word)
- {
- if (word < 0)
- return NULL;
- int currentWord = 0;
- for (int i = 0; string[i] != '\0'; i++)//Loop till slutet av strängen, bryts när rätt ord hittats
- {
- if (isalphaCustom(string[i]) && !isalphaCustom(string[i - 1]))//Första bokstaven efter specialtecken
- {
- if (currentWord == word)//Hittat rätt ord
- return &string[i];
- currentWord++;
- }
- }
- return NULL;
- }
- void printFirstWord(char string[])
- {
- int i = 0;
- while (isalphaCustom(string[i]))//Skriver tills specialtecken eller mellanslag hittas
- {
- printf("%c", string[i]);
- i++;
- }
- printf("\n");
- }
- void printWord(char string[], int word)
- {
- char *pWord = getWord(string, word);
- if (pWord != NULL)
- {
- printf("Ord %d i \"%s\" \x84r: ", word, string);
- printFirstWord(pWord);
- }
- else
- printf("Ordet finns ej\n");
- }
- int main(void)
- {
- int word;
- char string[STRING_LENGTH];
- char repeat;
- do
- {
- printf("Skriv en mening: ");
- fgets(string, STRING_LENGTH, stdin);
- for (int i = 0; i < STRING_LENGTH; i++)//Tar bort radbyte från input, underlättar utskrift
- if (string[i] == '\n')
- string[i] = '\0';
- printf("Vilket ord vill du skriva ut? ");
- scanf_s("%d", &word);
- printWord(string, word);
- printf("igen? y/n");
- scanf_s(" %c", &repeat);
- char c;
- while ((c = getchar()) != '\n' && c != EOF);//Flush stdin
- } while (repeat == 'y');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement