Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ сортировка посредством выбора (Си)

Автор: rexy 13.5.2009, 13:06

помогите пожалуйста написать программку на СИ,

Условие:

размер массива 40 и задается с клавиатуры. Заполнение массива с помощью датчика случаных чисел или с клавиатуры по выбору пользователя. Элементы массива целые неотрицательные числа. Максимальное значение элементов массива задается с клавиатуры и не превышает 99. Все параметры вводятся с клавиатуры или считываются с файла по желанию.
Ввести значения числа сравнений и числа перестановок.

Все надписи вводятся на одном языке,
программа не долна закрываться аварийно, должно выдаваться соответствующее сообщение.
программа должна состоять из нескольких файлов и
должна содержать комментарии поясняющие используемые алгоритмы.

Автор: tig81 13.5.2009, 14:45

http://www.prepody.ru/ipb.html?act=boardrules

Автор: rexy 17.5.2009, 4:21

Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:
1. Просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.

Автор: kaa 17.5.2009, 9:22

Давайте рассмотрим пример использования генератора случайных чисел, а именно заполнение массива случайными числами:

#include<iostream>
#include<stdlib.h> // в этом файле содержатся функции rand() и srand()
#include<time.h> // в этом файле содержится функция time()
using namespace std;
void main()
{
srand(time(NULL));
int array[10];
for (int i=0;i<10;i++)
{
// генерация случайного числа и запись его в текущий элемент массива
array[i]=rand()%100;

// показ значения элемента на экран
cout<<array[i]<<”\n”;
}
}




1. В приведенном выше примере на экран будет выведен массив из 10 элементов, заполненный случайными числами.

2. На каждой итерации цикла генерируется новое случайное число.

3. При каждом запуске программы массив будет заполнен по-разному, благодаря строке srand(time(NULL));

4. Числа располагающиеся, в массиве будут варьироваться в диапазоне от нуля до 99, так как результат генерации делится на 100 по модулю.

Автор: rexy 18.5.2009, 6:17

а как быть со значениями чисел сравнения и чисел перестановок.

Автор: kaa 23.5.2009, 16:06

rexy ну надо в цыкле проверять то что вам надо операторами if и else и записывать в ячейки массива)

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)