VioletaBabel

8958번: OX퀴즈 본문

백준/백준-C++
8958번: OX퀴즈
Beabletoet 2017. 1. 23. 14:25

#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
Comments