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