VioletaBabel
8958번: OX퀴즈 본문
#include<iostream>
#include<string.h> //memset용
using namespace std;
int main()
{
int a, o = 1;
cin >> a;
char **ox = new char*[a];
int *score = new int[a];
for (int i = 0; i < a; ++i)
{
ox[i] = new char[80];
memset(ox[i], 0, sizeof(char) * 80);
score[i] = 0;
}
for (int i = 0; i < a; ++i)
{
cin >> ox[i]; // 어째서인지 getline을 쓰면 디버그로 보니까
// 여기서 바로 for로 띵가먹어버린다. 그래서 띄어쓰기도 없으니
// 걍 cin.
for (int j = 0; (j < 80) && (ox[i][j] != '\0'); ++j)
{
if (ox[i][j] == 'O')
{
score[i] += o++;
}
else
{
o = 1;
}
}
o = 1;
}
for (int i = 0; i < a; ++i)
cout << score[i] << endl;
}
==================================================
//2차원배열 동적할당
#include <string.h> // memset 함수 사용을 위해 include
/* 메모리 할당 */
int **arr = new int*[sizeY];
for(int i = 0; i < sizeY; ++i) {
arr[i] = new int[sizeX];
memset(arr[i], 0, sizeof(int)*sizeX); // 메모리 공간을 0으로 초기화
}
/* 메모리 해제 */
for(int i = 0; i < sizeY; ++i) {
delete [] arr[i];
}
delete [] arr;
//1차원배열 동적할당
int size;
int *arr = new int [size]; // 동적으로 20개의 메모리 할당
delete [ ] arr; // 동적으로 배열 제거
'백준 > 백준-C++' 카테고리의 다른 글
2941번: 크로아티아 알파벳 (0) | 2017.01.26 |
---|---|
2920번: 음계 (0) | 2017.01.23 |
11719번: 그대로 출력하기 2 (0) | 2017.01.23 |
11718번: 그대로 출력하기 (0) | 2017.01.23 |
2577번: 숫자의 개수 (0) | 2017.01.19 |