Create Sorter Andrin.c
This commit is contained in:
parent
4627d6994a
commit
2d00a6caf5
|
@ -0,0 +1,120 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
|
||||
void printArray(char[10][20]);
|
||||
void bubbleSort(char[10][20],size_t size);
|
||||
int readIn(char[],char[10][20]);
|
||||
void makeUpper(char[]);
|
||||
|
||||
|
||||
|
||||
int main() {
|
||||
char array[10][20];
|
||||
|
||||
for(int i=0;i<10;i++) {
|
||||
char newLine[21];
|
||||
printf("Insert Word: ");
|
||||
fgets(newLine,20,stdin);
|
||||
while(getchar() != '\n'){}
|
||||
|
||||
makeUpper(newLine);
|
||||
|
||||
|
||||
if(readIn(newLine,array) == 0) {
|
||||
return 0;
|
||||
}else if(readIn(newLine,array) == 1){
|
||||
strncpy(array[i],newLine,20);
|
||||
}
|
||||
}
|
||||
|
||||
bubbleSort(array,10);
|
||||
printArray(array);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int readIn(char word[],char array[10][20]) {
|
||||
if(strcmp(word,"ZZZ\n") == 0) {
|
||||
return 0;
|
||||
}
|
||||
for(int i = 0; i < 10;i++) {
|
||||
if(strcmp(word,array[i]) == 0){
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void makeUpper(char newLine[]) {
|
||||
for (int i = 0; i < newLine[i]!='\0'; i++) {
|
||||
if(newLine[i] >= 'a' && newLine[i] <= 'z') {
|
||||
newLine[i] = newLine[i] - 32;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void printArray(char array[10][20]) {
|
||||
for(int i=0;i<10;i++) {
|
||||
printf("At %d: %s\n",i,array[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void bubbleSort(char array[10][20],size_t size) {
|
||||
for(int i = 0; i < size-1;i++){
|
||||
|
||||
for(int j = 0; j < size-i-1;j++){
|
||||
char word1[20];
|
||||
char word2[20];
|
||||
strcpy(word1,array[j]);
|
||||
strcpy(word2,array[j+1]);
|
||||
int position = 0;
|
||||
while(word1[position] == word2[position]) {
|
||||
position++;
|
||||
}
|
||||
int w1 = word1[position];
|
||||
int w2 = word2[position];
|
||||
if(w1 > w2) {
|
||||
char tmp[20];
|
||||
strcpy(tmp,word1);
|
||||
strcpy(array[j],word2);
|
||||
strcpy(array[j+1],tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void bubbleSortPointer(char array[10][20],size_t size){
|
||||
for(int i = 0; i < size-1;i++){
|
||||
|
||||
for(int j = 0; j < size-i-1;j++){
|
||||
char word1[20];
|
||||
char word2[20];
|
||||
strcpy(word1,array[j]);
|
||||
strcpy(word2,array[j+1]);
|
||||
int position = 0;
|
||||
while(word1[position] == word2[position]) {
|
||||
position++;
|
||||
}
|
||||
int w1 = word1[position];
|
||||
int w2 = word2[position];
|
||||
if(w1 > w2) {
|
||||
char tmp[20];
|
||||
strcpy(tmp,word1);
|
||||
strcpy(array[j],word2);
|
||||
strcpy(array[j+1],tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue