записи массива целочисленных данных используя динамическую память но при этом чтобы не нужно было предварительно указывать количество данных которые нужно ввести. Сделать так чтобы процедура определяла конец чтения по введенному пользователем нулю. Я не прошу сделать это за меня а просто интересуюсь может у вас есть идеи реализации?
Я пробовал написать такую процедуру через буферный указатель на динамическую память но в итоге программа крашилась если данных больше 5 и прочитав в интернете информацию об ошибке которая выскочила при краше программы я понял что иду не тем путем и затея изначально говеная.
#include <stdio.h> #include <stdlib.h> int main (void) { int *arr = (int *)calloc(1, sizeof(int));; int input, i = 0; do { printf("enter data. 0 to exit: "); scanf("%i", &input); arr[i] = input; arr = (int *)realloc(arr, (i + 1)*sizeof(int)); i++; } while (input != 0); i = 0; while (arr[i] != 0) { printf("%d\n", arr[i]); i++; } exit(EXIT_SUCCESS); }
Спасибо что сделали хоть я и просил лишь идею). Просмотр работы более сильных людей всегда помогал мне поднять личный уровень в чем бы то нибыло
надо ведь помогать чтоб систы не извелись
Печально, но ваш вариант так же перестает работать если значений больше 6
Обсуждают сегодня