U E D R , A S I H C RSS

Yggdrasil/가속된씨플플/2장

2

,

  • :
  • (loop invariant): while . , . , while while .( ...) 하 . , , .

~cpp 
//:  r 함
int r=0;
//r 0 팅하   
while(r!=rows)
{
//    
//한행    ( )
std::cout<<std::endl;
//r     
++r;
}
//   
  • (short-circuit): if(a==0||b==0){...} a==0 b==0 행한 . || | . , .
  • : , a+=b, a=a+b 형태.
  • : , for(i=0;i<3;i++)처럼, 시작인 0은 포함하나 3은 포함하지 않고 2에서 끝난다. 이것을 [0,3)으로 표현하는데, 3은 루프 범위에 표현되지 않는 "끝을 벗어난 값"이다.

string


~cpp 
std::string::size_type//unsigned형 ,       .   type   .
  • 1 0
    • " 1 0 " , .
    • () , [0,5) 5 . 1,5 5 .
    • 해하 .

2-1

  • pad 0 화하 .

2-2

  • pad , . , rows, cols .

2-3


~cpp 
#include<iostream>
#include<string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main()
{

	int pad_rows, pad_cols;
	cout<<"Please input blank of rows and cols:";
	cin>>pad_rows;
	cin>>pad_cols;
	cout<<"Please enter your first name: ";
	
	string name;
	cin>>name;

	const string greeting="Hello, "+name+"!";

	const int rows=pad_rows*2+3;
	const string::size_type cols=greeting.size()+pad_cols*2+2;

	cout<<endl;

	for(int r=0;r!=rows;++r)
	{
		string::size_type c=0;
		while(c!=cols)
		{
			if(r==pad_rows+1&&c==pad_cols+1)
			{
				cout<<greeting;
				c+=greeting.size();
			}
			else
			{
				if(r==0||r==rows-1||c==0||c==cols-1)
					cout<<"*";
				else
					cout<<" ";
				++c;
			}
		}
		cout<<endl;
	}
	return 0;
}

2-6

  • 1 10 .

2-7

  • for(int i=10;i>-6;i--) std::cout<

2-8


~cpp 
#include<iostream>
#include<string>
int main()
{
	int sum=1;
	for(int i=1;i<10;i++)
		sum*=i;
	std::cout<<sum;
	return 0;
}

2-10

  • using std::cout .


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:28
Processing time 0.0260 sec