Моя проблема в том, что я получаю ошибку сегментации (ядро сбрасывается) каждый раз, когда я пытаюсь, я еще не очистил свой код, но я в тупике.
Я должен ввести значения с помощью компиляторанапример, "./filename 0 100", где 0 - это минимум, а 100 - это максимум.
Затем он должен заполнить массив из 10 элементов случайными числами (0-100). Я так близко, просто не могу понять основную функцию.
Кроме того, как я могу напечатать массив {0,1,2,3} в формате "[0,1,2,3]"включая запятые, без вида «[0,1,2,3,]»
#include <stdlib.h>
#include <stdio.h>
int getRandom(int min, int max);
void fillArray(int data[], int size, int min, int max);
void printArray(int data[], int size);
int main(int argc, char *argv[]) {
int a;
int b;
if (argc>=3){
a = atoi(argv[1]);
b = atoi(argv[2]);
int arr[10];
printf("\t An array with random values from 0 to 100 \n");
fillArray(arr,10 ,a, b);
printArray(arr, 10);
} else {
printf("Incorrect number of arguments - please call with assignment min max\n");
}
return 0;
}
int getRandom(int min, int max) {
int result = 0;
int low = 0;
int high = 0;
if (min<max) {
low = min;
high = max+1;
} else {
low = max + 1;
high = min;
}
result = (rand() % (high-low)) + low;
return result;
}
void fillArray(int data[], int size, int min, int max){
int i;
for(i=min ; i < max+1; i++){
data[i] = getRandom(min,max);
}
}
void printArray(int data[], int size){
int i;
printf("[");
for(i=0; i<size; i++){
printf("%d,", data[i]);
}
printf("]");
}