С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/74: Рейтинг темы: голосов - 74, средняя оценка - 4.70
15 / 15 / 3
Регистрация: 24.09.2010
Сообщений: 45

Функции создания массива и удаления эл-та из массива

15.10.2010, 21:47. Показов 15486. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот нужно написать к двум функциям (на Си) .h и .c файлы :
1. создания массива
2. удаление элемента из массива

Помогите пожалуйста, что-то я не очень представлю как это сделать, не откахжусь от указаний и наставлений.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2010, 21:47
Ответы с готовыми решениями:

Написать функции добавления и удаления произвольного элемента динамического массива
Несмотря на вроде бы распространенность задачи нигде не могу найти простое и универсальное решение, без векторов в дополнительных функций....

Предусмотреть публичные методы добавления в конец массива, извлечения и удаления из массива по индексу
Помогите пожалуйста! Написать класс динамического массива (массив, который может изменять свой размер в зависимости от количества...

Написать функции нахождения и удаления максимального элемента массива
delete

9
 Аватар для TheMachinist
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
15.10.2010, 23:50
может нужна функция заполнения массива, а не создания???
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
15.10.2010, 23:52
Цитата Сообщение от OMAAGAAD Посмотреть сообщение
1. создания массива
C
1
2
3
4
5
6
7
8
9
10
11
// *.h
int* CreateArray(size_t size);
 
// *.c
int* CreateArray(size_t size) {
  int* result = malloc(sizeof(int) * size);
  
  memset(result, 0, sizeof(int) * size);
  
  return result;
}
0
 Аватар для TheMachinist
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
16.10.2010, 00:12
CyBOSSeR, и что дальше?

int Arr = CreateArray(10); ??????
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
16.10.2010, 00:20
NikolaWhite,
C
1
2
3
4
5
int* arr = CreateArray(10);
 
// Работаем с массивом arr
 
free(arr);
В чем, собственно, проблема?
0
 Аватар для TheMachinist
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
16.10.2010, 01:05
В чем, собственно, проблема?
Вы сами то пробовали запускать???

1>c:\users\пользователь\documents\visua l studio 2008\projects\test\test\test.cpp(4) : error C2440: 'initializing' : cannot convert from 'void *' to 'int *'
1> Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>c:\users\пользователь\documents\visua l studio 2008\projects\test\test\test.cpp(6) : error C3861: 'memset': identifier not found
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.10.2010, 01:18
NikolaWhite,
C++
1
2
memset - #include <cstring>.
  int* result = (int*)malloc(sizeof(int) * size);
Пробуй.
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
16.10.2010, 11:23
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Вы сами то пробовали запускать???
Нет.
Цитата Сообщение от NikolaWhite Посмотреть сообщение
1>c:\users\пользователь\documents\visua l studio 2008\projects\test\test\test.cpp(6) : error C3861: 'memset': identifier not found
Добавить заголовочный файл указанный Lavroff'ым
Цитата Сообщение от NikolaWhite Посмотреть сообщение
1>c:\users\пользователь\documents\visua l studio 2008\projects\test\test\test.cpp(4) : error C2440: 'initializing' : cannot convert from 'void *' to 'int *'
1> Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Ах да, приведение забыл:
C
1
int* result = (int*)malloc(sizeof(int) * size);
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
16.10.2010, 12:32
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
// *.h
int* CreateArray(size_t size);
 
// *.c
int* CreateArray(size_t size) {
  int* result = malloc(sizeof(int) * size);
  
  memset(result, 0, sizeof(int) * size);
  
  return result;
}
C
1
#define CREATE_INT_ARRAY(size) calloc(size, sizeof(int))


И кстати в С указатель на void сам приводится к указателю на другой тип. Вот в С++ уже не пройдёт...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
    
#define CREATE_INT_ARRAY(size) calloc(size, sizeof(int))
 
int main(void){
    int * arr;
    size_t i, size = 5;
    
    if ( ( arr = CREATE_INT_ARRAY(size) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    
    for ( i = 0; i < size; ++i )
        printf("%d ", arr[i]);
 
    free(arr);
    return 0;
}
1
16.10.2010, 12:59

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
И кстати в С указатель на void сам приводится к указателю на другой тип
Точно, а я еще думал почему ругается на отсутствие явного приведения. Видимо NikolaWhite компилировал исходник как C++'ый.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2010, 12:59
Помогаю со студенческими работами здесь

Массив: Реализовать функции клонирования и удаления двухмерного массива
Всем привет, у меня есть 2 вопроса по двухмерным массивам. Пишу программу в которой есть 2 ф-ции клонировать и удалить, с одномерными...

Написать функции создания массива, сортировки и вывода. Ошибка Incompatible type conversion
Доброе утро) Подскажите пожалуйста в чем ошибка. Задача: Создать массив n*m (ввод пользователем). Написать функции создания массива,...

Разработать программу для создания нового массива, содержащего повторяющиеся элементы исходного массива
Есть псевдокод. Возможно он не правильный ( я же состовлял.) Помогите сделать программу на паскале ( Не хватает знаний. Помогите...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из отрицательных элементов двумерного...

Разработать алгоритм создания нового массива , куда помещаются разности соседних четных элементов массива
Задан целочисленный массив с N элементами. Разработать алгоритм создания нового массива , куда помещаются разности соседних четных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru