=== MedusaCppStudy 희경 숙제 === 정사각형을 짜봤습니다 {{{~cpp #include using namespace std; int main() { int x; cin >> x; for(int i = 0; i < x; i++) { cout << "* "; } cout << endl; for(int j = 0; j < (x-2); j++) { cout << "*"; for(int k = 0; k < (x-2); k++) { cout << " "; } cout << " *" << endl; } for(int l = 0; l < x; l++) { cout << "* "; } cout << endl; return 0; } }}} ---- 삼각형도 짜봤군요 {{{~cpp #include using namespace std; int main() { int x; cin >> x; for(int i = 0; i < x-1; i++) { if(i == 0) { for(int j = (x-i-1); j > 0; j--) { cout << " "; } cout << "*" << endl; } else { for(int j = (x-i-1); j > 0; j--) { cout << " "; } cout << "*"; for(int k = 0; k < (2*i-1); k++) { cout << " "; } cout << "*" << endl; } } for(int l = 0; l < x; l++) { cout << "* "; } cout << endl; return 0; } }}} ---- 문장 입력시 가장 긴, 짧은 단어의 길이 구하기 (영어입력!! 한글은 곱하기 2해서 나옴) 이런 문제를 보니 ;를 만났을때 문장 끝이라고 했는데 전 그냥 엔터치면 문장 끝이군요. 뭐 상관없겠죠? {{{~cpp #include #include using namespace std; int num(); char str[50]; int main() { cout << "뛰어쓰기나 마침표 포함해서 50자내로 문장을 작성하시오" << endl; cin.getline(str,50); int count = 0; int x = num(); cout << "단어 개수: " << x << endl; int *lenth = new int [x]; int word = 0; for(int i = 0; i < strlen(str)+1; i++) { if((str[i] == ' ') || (i == strlen(str))) { lenth[word] = count; word++; count = 0; } else if(str[i] != '.') count++; } int temp; int k = 1; for(int l = 0; l < x-1; l++) { for(int m = k; m < x; m++) { if(lenth[l] < lenth[m]) { temp = lenth[l]; lenth[l] = lenth[m]; lenth[m] = temp; } } k++; } cout << "가장 긴 단어 길이: " << lenth[0] << endl; cout << "가장 짧은 단어 길이: " << lenth[x-1] << endl; delete lenth; return 0; } int num() { int count2 = 1; for(int i = 0; i < strlen(str); i++) { if(str[i] == ' ') { count2++; } } return count2; } }}} ---- 큰 숫자 4개 골라내기..... 숫자의 개수를 입력해야되게밖에 못 짜겠군요.. {{{~cpp #include using namespace std; int main() { int num; cout << "숫자 개수를 입력해 주세요 :"; cin >> num; cout << "숫자를 차례대로 입력해주세요(숫자는 서로 띄어쓰기로 구분한다) :" << endl; int *pocket = new int[num]; for(int i = 0; i < num; i++) { cin >> pocket[i]; cin.get(); } int temp; int l = 1; for(int j = 0; j < num-1; j++) { for(int k = l; k < num; k++) { if(pocket[j] < pocket[k]) { temp = pocket[j]; pocket[j] = pocket[k]; pocket[k] = temp; } } l++; } cout << "큰 숫자 4개 :"; if(num > 4) { for(int m = 0; m < 4; m++) { cout << pocket[m] << " "; } } else { for(int n = 0; n < num; n++) { cout << pocket[n] << " "; } } cout << endl; return 0; } }}} 리팩토링 요망~ ---- [MedusaCppStudy]