0
這個程序應該輸出到控制檯輸入的字符串,例如,如果我輸入「im餓了」,那麼它應該輸出即時消息飢餓到控制檯在一個矩陣,如果有什麼我輸入過長則延續到矩陣如何在輸入字符串時輸出字母
的下一行繼承人的代碼,我到目前爲止:
#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 2013-03-22 17:39:09
哇,代碼是相同的...... – 2013-03-22 17:43:44
'M','ROWS'和'COLS'都在'main()'中未初始化。你只傳遞1給'ROWS'和'COLS'參數的'fill()',然後打印尚未初始化的'M'數組。我可以提出一個[良好的C++書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)? – Blastfurnace 2013-03-22 17:45:49