Загрузка...

Заполнить Динамический массив в отдельной функции

Тема в разделе C/C++ создана пользователем Muha665161 16 дек 2022. 232 просмотра

  1. Muha665161
    Muha665161 Автор темы 16 дек 2022 67 3 дек 2019

    #include <stdio.h>
    #include <stdlib.h>


    struct Student
    {
    int age;
    };

    void Get_datas(Student *arr, int size)
    {
    for (int i = 0; i < size; i++)
    {
    scanf_s("%d", arr[i].age);
    }
    }

    int main()
    {

    Student* arr = (Student*)malloc(3 * sizeof(Student));
    Get_datas(arr, 3);
    free(arr);

    return 0;
    }


    Нужно чтобы динамический массив заполнялся в отдельной функции. Но он не заполняется
     
    16 дек 2022 Изменено
  2. KupalniK
    KupalniK 16 дек 2022 Заблокирован(а) 4 3 ноя 2022
    Все правильно, но чет мне не понравилось использование scanf_s. Возможно дело в нем. Попробуй scanf
     
  3. Uwuku
    Uwuku 16 дек 2022 пишу кодик:pressF: 262 11 окт 2019
    что такое scan_f?
     
  4. cardholder
    cardholder 16 дек 2022 Заблокирован(а) 2448 13 июл 2022
    C
    #include <stdio.h>
    #include <stdlib.h>

    struct Student
    {
    int age;
    };

    void Get_datas(Student *arr, int size)
    {
    for (int i = 0; i < size; i++)
    {
    scanf_s("%d", &arr[i]->age);
    }
    }

    int main()
    {
    Student* arr = (Student*)malloc(3 * sizeof(Student));
    Get_datas(arr, 3);

    // Выводим значения возраста студентов
    for (int i = 0; i < 3; i++)
    {
    printf("Возраст студента %d: %d\n", i + 1, arr[i]->age);
    }

    free(arr);

    return 0;
    }
    Попробуй
     
    1. Посмотреть предыдущие комментарии (1)
    2. cardholder
    3. cardholder
      Muha665161,
  5. Uwuku
    Uwuku 16 дек 2022 пишу кодик:pressF: 262 11 окт 2019
    у меня есть исходник заполнение динамического массива, вот[IMG]
     
    16 дек 2022 Изменено
  6. bezklanov
    bezklanov 17 дек 2022 5 19 ноя 2020
    C
    #include <iostream>
    #include <vector>

    using namespace std;

    // функция
    void fillArray(vector<int> &arr);

    int main()
    {
    // динамический массив с начальным размером 5
    vector<int> myArray(5);

    // Вызов функцию fillArray, чтобы заполнить массив значениями.
    fillArray(myArray);

    // Вывести значения массива
    for (int i : myArray)
    cout << i << " ";

    return 0;
    }

    // Описание функции
    void fillArray(vector<int> &arr)
    {
    // Заполнить массив значениями
    for (int i = 0; i < arr.size(); i++)
    arr[i] = i + 1;
    }
     
    1. bezklanov
      функция fillArray принимает ссылку на векторный объект в качестве аргумента и заполняет его значениями. Векторный объект передается по ссылке, поэтому любые изменения, внесенные в него внутри функции, отражаются в исходном объекте
Top
Загрузка...