U E D R , A S I H C RSS

Medusa Cpp Study/희경

MedusaCppStudy 희경 숙제

정사각형을 짜봤습니다
~cpp 
#include<iostream>
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<iostream>
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<iostream>
#include<string.h>
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<iostream>
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;
}
리팩토링 요망~


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:45
Processing time 0.0119 sec