Я прохожу короткий курс по программированию на c, и в последнее время я был так занят другими своими уроками и помогал своему собеседнику подготовиться к его свадьбе (так как я его лучший мужчина), что я отстал и мне нужна помощь. любая помощь в этом коротком задании будет высоко ценится, так как я совсем не знаком с матрицами и с их погашением через несколько дней.
присваивается сумма третьей верхней антидиагональной матрицы в квадрате.
мне дали эту информацию:
Матрица должна быть квадратной, целочисленной матрицей размера N. В этом назначении матрица будет сохранена
в 1-м блоке памяти. Вам придется конвертировать между концептуальной адресацией 2d матрицы и
Адресация 1-го блока с арифметикой указателя.
Примечание к случайным числам:
rand()
функция возвращает следующее целое число последовательность псевдослучайных чисел в диапазоне
[0, RAND_MAX
]. RAND_MAX
- это очень большое число, которое варьируется от системы к системе. Чтобы получить
целое число в диапазоне [мин., макс.]:
(int)((min)+rand()/(RAND_MAX+1.0) * ((max)-(min)+1))
srand(SEED)
используется для установки семени для ранда. Если srand()
вызывается с тем же начальным значением,
последовательность псевдослучайных чисел повторяется. Чтобы получить разные случайные числа каждый раз
программа запускает time(NULL)
в качестве начального числа. Рэнд в stdlib.h
, который должен быть включен.
Программа должна быть структурирована следующим образом.
#define N 32 // Matrix size
#define MYSEED 1234 // Last 4 digits of your student number.
int *initialise( ) // Allocate memory for the matrix using malloc
// Initialise the matrix with random integers x, 1≤ x ≤ 9
// Use 'MYSEED' as the seed in the random generator.
// Return a pointer to the matrix
void print_matrix(int *) // Print matrix on screen
int compute_diagonal(int *) // Compute your required calculation using pointer arithmetic.
// (square bracket [ ] array indexes shouldn't be used)
// Return the solution.
void finalise(int *) //free the allocated memory.
int main() // The main function should print the solution to screen.