0
이 프로그램은 내가 "배가 고픈"다음에 배가 고픈 배가 고픈 메시지를 입력하는 것과 같이 내가 입력하는 문자의 문자열을 콘솔에 출력한다고 가정합니다. 내가 입력 뭔가 후 너무 긴 경우에 대한 매트릭스에서 콘솔, 그것은을 heres 코드가 지금까지 가지고있는 매트릭스당신이 그들을 입력 할 때 문자열을 출력하는 방법
의 다음 라인에 전달 :
#include <iostream>
#include <string>
using namespace std;
#define N 6
//
// fill:
//
void fill(string s, int M[][N], int ROWS, int COLS)
{
int i, r, c;
s= "x";
for (i=0, r=0; r < ROWS; r++)
{
for (c=0; c < COLS; c++)
{
M[r][c] = s[i]; // store ith character into matrix:
i++; // next character:
if (i == s.length()) // start-over if that was last char:
i = 0;
}
}
}
void print(int M[][N], int ROWS, int COLS)
{
string s;
s= "x";
int r, c;
for(r=0; r< ROWS; r++)
{
for(c=0; c < COLS; c++)
{
cout<<(char)M[r][c];
}
cout <<endl;
}
}
//
// main:
//
int main()
{
string s;
getline(cin,s);
int M[N][N];
int M2[N][N];
int row, col, ROWS, COLS;
fill(s, M, 1, 1);
print(M, ROWS, COLS);
return 0;
}
대신 출력 내가 유형을 입력하면 임의의 문자 (이 입력에 관계없이)의 행렬을 계속 출력하여 문제를 해결할 수있는 방법을 제안합니다. 당신이 정말로 매트릭스의 필요가없는 경우
매트릭스가 정말로 필요합니까? – Shoe
와우, 코드는 동일합니다 ... –
'M','ROWS' 및'COLS'는 모두'main()'에서 초기화되지 않았습니다. 'ROWS'와'COLS' 매개 변수에 대해서만'fill()'을 1 번 전달한 후 초기화되지 않은'M' 배열을 출력합니다. [Good C++ Book] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)을 제안 할 수 있습니까? – Blastfurnace