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.0151 sec