Итак, у меня есть код, который создает 7x7 плату с динамически распределенными массивами , а внутри платы полно "?" и что я хочу создать новую функцию, и внутри функции я использовал rand command , чтобы получить случайные числа, подобные этой,
int random() {
return ((rand() % 7) + 1);
}
Поэтому у меня была проблема с изменением 6 случайных чисел в доска и мой код ниже,
Этот ниже - тот, который я пытался получить случайные числа для массива,
printf("Enter number: ");
scanf("%d", &b);
char *rando = (char *)malloc(7 * 7 * sizeof(char));
for (i = 0; i < b; i++) {
rand1 = random();
rand2 = random();
*(rando + rand1 + rand2) = '*';
}
И это где Я напечатал "?" знаки , а также там, где я пытался изменить 6 различных знаков , и он выводит только "else" part, игнорируя "if" по какой-то причине
for (j = 0; j < 7; j++) {
if (*(board + i + j) == *(rando + i + j))
printf("| %c ", *(rando + i + j));
else
printf("| %c ", *(board + i + j));
}
И весь мой код такой, он довольно длинный, но большинство из них для красивой доски
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int random() {
return ((rand() % 7) + 1);
}
int main() {
int i, j, k, rand1, rand2, b;
srand(time(NULL));
printf("Enter number: ");
scanf("%d", &b);
char *rando = (char *)malloc(7 * 7 * sizeof(char));
for (i = 0; i < b; i++) {
rand1 = random();
rand2 = random();
*(rando + rand1 + rand2) = '*';
}
char *board = (char *)malloc(7 * 7 * sizeof(char));
for (i = 0; i < 7; i++) {
for (j = 0; j < 7; j++) {
*(board + i + j) = '?';
}
}
for (i = 1; i <= 7; i++) {
printf("%4d", i);
}
printf("\n ");
for (i = 0; i < 7; i++) {
printf("+---");
}
printf("+\n");
for (i = 0; i < 7; i++) {
printf("%d ",i);
for (j = 0; j < 7; j++) {
if (*(board + i + j) == *(rando + i + j))
printf("| %c ", *(rando + i + j));
else
printf("| %c ", *(board + i + j));
}
printf("|\n");
for (k = 0; k <= 7; k++)
if (k == 0)
printf(" ");
else
printf("+---");
printf("+\n");
}
}
Я указал важный части , с которыми я застрял, но все еще не уверен, что есть проблема в других частях моего кода, поэтому я показал это здесь, на всякий случай .