Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2021, 13:43   #1
Julls23
Новичок
Джуниор
 
Регистрация: 26.11.2021
Сообщений: 6
Восклицание Задача на языке Си, Массивы

Дан числовой массив размера N. Удалить из массива «лишние» элементы, так чтобы оставшиеся образовывали возрастающую последовательность.
Помогите пожалуйста
Julls23 вне форума Ответить с цитированием
Старый 26.11.2021, 13:46   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

В чем проблема?
ForenLi вне форума Ответить с цитированием
Старый 26.11.2021, 13:47   #3
Julls23
Новичок
Джуниор
 
Регистрация: 26.11.2021
Сообщений: 6
По умолчанию

Не понимаю, как это реализовать кодом
Julls23 вне форума Ответить с цитированием
Старый 26.11.2021, 13:55   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Что именно?
ForenLi вне форума Ответить с цитированием
Старый 26.11.2021, 14:00   #5
Julls23
Новичок
Джуниор
 
Регистрация: 26.11.2021
Сообщений: 6
По умолчанию

ForenLi, у меня есть тело кода, где указывается ввод/вывод на экран
Мне не понятно как удалять из массива элементы
Код:
int random(int a, int b)
{
	
}
void vvod_random(int a[], int N)
{

}

int random(int a, int b)
{

}
void vvod_klav(int *a, int N)
{

}


void main()
{
	int *A; 
	int i, j, k, S, P, N;
	vvod_klav(int *a, int N);
	vvod_random(int P);
	vivod();

	srand(time(NULL));
	printf("Введите количество элементов в массиве\n");
	scanf_s("%d", &N);
	A = (int*)malloc(N * sizeof(int));
	printf("Введите способ ввода: 1 - Ввод с клавиатуры\n 2 - Рандом\n");
	scanf_s("%d", &P);
	if (P = 1)
	{
		vvod_klav(A, N);

	}
	else
	{
		vvod_random(A, N);
	}
	vivod(A, N);

}
Julls23 вне форума Ответить с цитированием
Старый 26.11.2021, 14:12   #6
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Julls23 Посмотреть сообщение
Мне не понятно как удалять из массива элементы
Делайте в лоб: копируйте элементы вперед и уменьшайте переменную, содержащую размер. Например, 1 2 3 4 5 размер 5 <- 1 2 4 5 5 размер 4
ForenLi вне форума Ответить с цитированием
Старый 26.11.2021, 15:01   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Можно создать другой массив и в него записать нужные элементы. Так будет несколько быстрее.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы на языке си IVashik Помощь студентам 2 28.02.2018 18:00
массивы на языке Си Qrom Помощь студентам 3 19.10.2016 18:17
Массивы на языке Си(Не С++) AlexMessel Общие вопросы C/C++ 1 06.06.2014 20:26
Массивы на языке Си(Не С++) AlexMessel Общие вопросы C/C++ 2 03.06.2014 23:24
Одномерные массивы на языке Си AlexMessel Общие вопросы C/C++ 1 23.04.2014 21:35