public static void Main() {
const int MATRIX_ROWS = 5;
const int MATRIX_COLUMNS = 17;
int[,] matrix = new int[MATRIX_ROWS, MATRIX_COLUMNS];
// Fill first row with user's input
for (int index = 0; index < MATRIX_COLUMNS; ++index) {
matrix[0, index] = Int32.Parse(Console.ReadLine());
}
// Fill second row with random values
Random random = new Random();
for (int index = 0; index < MATRIX_COLUMNS; ++index) {
matrix[1, index] = random.Next(0,51);
}
// Fill third row with the sum of first and second
for (int index = 0; index < MATRIX_COLUMNS; ++index) {
matrix[2, index] = matrix[0, index] + matrix[1, index];
}
// Fill fourth row with the third's row values squared
for (int index = 0; index < MATRIX_COLUMNS; ++index) {
matrix[3, index] = matrix[2, index] * matrix[2, index];
}
// Fill fifth row to be 1 if the value of the forth row is bigger than the next one, otherwise 0
for (int index = 0; index < MATRIX_COLUMNS - 1; ++index) {
matrix[4, index] = (matrix[3, index] > matrix[3, index + 1]) ? 1 : 0;
}
matrix[4, MATRIX_COLUMNS - 1] = 1;
// Display matrix
for (int i = 0; i < MATRIX_ROWS; i++) {
for (int j = 0; j < MATRIX_COLUMNS; j++) {
Console.Write(string.Format("{0} ", matrix[i, j]));
}
Console.Write(Environment.NewLine + Environment.NewLine);
}
Console.ReadLine();
}
בהתחלה, נאתחל מטריצה עם 5 שורות ו-17 עמודות. בלולאה הראשונה נמלא את השורה הראשונה עם המספרים של המשתמש. בלולאה השנייה נמלא את השורה השנייה עם מספרים אקראיים בין אפס לחמישים. בלולאה השלישית נמלא את השורה השלישית עם הסכום של שתי השורות הקודמות. בלולאה הרביעית נמלא את השורה הרביעית עם החזקה של הערכים של השורה השלישית. בלולאה החמישית נשים אחד אם הערך של השורה הנכוחית בשורה הרביעית גדול מהערך של התא הבא ואחרת אפס. שים לב כי בשורה הזאת אנחנו עוברים על 16 התאים האחרונים ובתא האחרון אני שם 1 כי לא הגדרת מה צריך להיות הערך שם (כי אין תא אחריו).
בלולאה האחרונה אני מדפיס את המטריצה.
מקווה שמובן, בהצלחה.