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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2014, 21:15   #1
Plhpika
Новичок
Джуниор
 
Регистрация: 08.01.2014
Сообщений: 1
По умолчанию Сортировка массивов. Поиск в отсортированных массивах в СИ

Нужно:


1.Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры).
2.Распечатать полученный массив.
3.Выполнить удаление четных элементов из массива.
4.Вывести полученный результат.
5.Выполнить добавление К элементов в начало массива.
6.Вывести полученный результат.
7.Выполнить перестановку: Четные элементы переставить в начало массива, нечетные - в конец.
8.Вывести полученный результат.
9.Выполнить поиск указанных в массиве элементов и подсчитать коли-чество сравнений, необходимых для поиска нужного элемента.
10.Вывести полученный результат.
11.Выполнить сортировку массива указанным методом:Простой выбор.
12.Вывести полученный результат.
13.Выполнить поиск первого нечетного элемента в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
14.Вывести полученный результат.

Условия:


1. Формирование, печать и обработку массивов оформить в виде функ-ции. Массивы передавать как параметры функций.
2. При решении задач использовать динамические массивы. Для управ-ления динамической памятью используются стандартные функции из библио-теки <malloc.h>.
Динамические массивы реализуются следующим образом:
• объявляется указатель на целое (вещественное) число и переменная для хранения размера массива:
int *a;
• пользователь вводит количество элементов массива:
Код:
printf("n = ");
scanf("%d", &n);
• динамически выделяется память под массив. Если выделить память не удалось, необходимо сообщить пользователю об этом и корректно завершить программу:
Код:
a = (int*) malloc(n*sizeof(int));
if(!a) 
{
   printf("\nНехватка памяти.\n");
   exit(1);
}
3. Формирование массива осуществляется с помощью датчика случайных чисел. Для этого можно использовать функцию rand(), которая возвращает псевдослучайное число из диапазона 0 … RAND_MAX = 32767, описание функции находится в файле <stdlib.h>. В массиве должны быть записаны и положительные и отрицательные элементы. Например, оператор a[i] = rand()%100-50; формирует псевдослучайное число из диапазона [-50;49].
4. Вывод результатов должен выполняться после выполнения каждого за-дания. Элементы массива рекомендуется выводить в строчку, разделяя их меж-ду собой пробелом или горизонтальным отступом (табуляцией).
5. После завершения работы с массивом память, выделенная под него, должна быть очищена с помощью функции free(имя указателя).
6. Функция main() должна содержать только описание массивов и вызо-вы функций для формирования, печати и обработки массивов.


p.s. В голову ничего не лезет, помогите плз, хоть начать =\.
p.s.s Заранее спасибо.
Plhpika вне форума Ответить с цитированием
Старый 09.01.2014, 01:34   #2
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

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

нууу..с чего начать?
если в голову ничего не лезет,упрости задачу.
выполни допустим некоторые из 14 пунктов используя обычные(статические) массивы
без указателей,без функций.
потом создай несколько функций - одна отвечает за вывод массива,другая за инициализацию с помощью rand.Ну и заодно пошамань с такими понятиями как , аргументы,параметры,передача массива.
И массив не передается по значению(не создается копия массива,а изменяется сам массив)
а потом уже переходи потихоньку на динамические массивы и изучение библиотеки <malloc.h>

Последний раз редактировалось alekopoko; 09.01.2014 в 01:54.
alekopoko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в массивах (Pascal) antonov Помощь студентам 0 25.06.2013 21:40
Поиск и сортировка массивов [Delphi] Kristina93 Помощь студентам 3 01.01.2013 05:26
Сортировка и перестановка элементов в двумерных массивах nikshiyan Паскаль, Turbo Pascal, PascalABC.NET 3 18.07.2010 14:36
как из двух отсортированных по возрастанию одномерных массивов сформировать третий Тоха Рыжов Общие вопросы C/C++ 1 07.10.2007 01:43