diff --git a/images/1.png b/images/1.png deleted file mode 100644 index cf5bece..0000000 Binary files a/images/1.png and /dev/null differ diff --git a/images/6.png b/images/6.png deleted file mode 100644 index d73cfec..0000000 Binary files a/images/6.png and /dev/null differ diff --git a/problems/1181/21500426.cpp b/problems/1181/21500426.cpp new file mode 100644 index 0000000..7e994b3 --- /dev/null +++ b/problems/1181/21500426.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include + +using namespace std; +bool compare (string& first, string& second) { + return first.size() < second.size(); +} +int main () { + vector words; + vector ::iterator stash; + int N, i, j = 0; + string word = ""; + cout << "how many words? "; + cin >> N; + + /* push data to vector */ + for(i = 0; i < N; i++) { + cout << "enter the word : "; + cin >> word; + words.push_back(word); + } + + + /* sort */ + sort(words.begin(), words.end()); + + /* remove duplicates */ + words.erase(unique(words.begin(), words.end()), words.end()); + + /* sort by length */ + sort(words.begin(), words.end(), compare); + + /* print */ + for(i = 0; i < words.size(); i++) { + cout << words[i] << endl; + } + + return 0; +} + diff --git a/problems/2108/21500426.cpp b/problems/2108/21500426.cpp new file mode 100644 index 0000000..f90247c --- /dev/null +++ b/problems/2108/21500426.cpp @@ -0,0 +1,104 @@ +#include +#include +#include + +using namespace std; + +double getave(int * arr, int len); +int getmean(int * arr, int len); +int getmode(int * arr, int len); +int getrange(int * arr, int len); + +int main() { + double ave, mean, mode, range = 0; + int N; + + cout << "enter length of list : "; + cin >> N; + + int * arr = new int[N]; + + for(int i = 0; i < N; i++){ + cout << "enter " << i+1 << "th value : "; + cin >> arr[i]; + } + ave = getave(arr, N); + mean = getmean(arr, N); + mode = getmode(arr, N); + range = getrange(arr, N); + + cout << "ave : " << ave << endl; + cout << "mean : " << mean << endl; + cout << "mode : " << mode << endl; + cout << "range : " << range << endl; + + delete[] arr; + return 0; +} + +double getave(int * arr, int len) { + double result = 0; + for(int i = 0; i < len; i++){ + result += arr[i]; + } + result /= (double)len; + return result; +} + +int getmean(int * arr, int len) { + // sort in ascending order + sort(arr, arr+len); + + // find the middle value from sorted list + int i = len/2; + return arr[i]; +} + +int getmode(int * arr, int len) { + // traverse through array + // have counting variable for each value + + int cntlen = arr[len-1]+1; + int * cnt = new int[cntlen]; + int * modes = new int[cntlen]; + int mode = 0; + // initialize + for(int i = 0; i < cntlen; i++) { + cnt[i] = 0; + modes[i] = 0; + } + + // count + for(int i = 0; i < len; i++) { + cnt[arr[i]]++; + } + + /* test print + for(int i = 0; i < cntlen; i++) { + cout << "cnt [" << i << "] : " << cnt[i] << endl; + } + */ + + // compare maximum counting variable and return that value + int max = INT_MIN; + for(int i = 0; i < cntlen; i++) { + if(cnt[i] > max) max = cnt[i]; + if(cnt[i] == max) modes[i] = i; + } + sort(modes, modes+cntlen, greater()); + + /* test print + for(int i = 0; i < cntlen; i++) { + cout << "modes[" << i << "] : " << modes[i] << endl; + } + */ + + mode = modes[1]; + return mode; +} + +int getrange(int * arr, int len) { + // it's already sorted + // max - min + return arr[len-1] - arr[0]; +} diff --git a/problems/2581/21500426.cpp b/problems/2581/21500426.cpp new file mode 100644 index 0000000..c1e8af2 --- /dev/null +++ b/problems/2581/21500426.cpp @@ -0,0 +1,12 @@ +#include + +int main () { + + + + + + + + return 0; +}