Материалы к урокам информатики, алгоритмики и программирования.
Чтобы просмотреть задание и материалы с урока, выберите ваш предмет!
понедельник, 3 марта 2014 г.
среда, 12 февраля 2014 г.
Сортировка массивов
Методом выбора
Реализация сортировки методом выбора по возрастанию:
int main()
{
int n;
int mas[100];
....
int min=0;
for(int i=0; i<n-1; i++)
// i - номер прохода, нумеруем проходы от 0
{
min = i;
for(int j=i; j<n; j++)
//поиск минимального элемента в неотсортированной части массива
{
if(mas[j]<mas[min])
{
min = j;
}
}
// меняем местами минимальный элемент и элемент номер i
swap(mas[i], mas[min]);
}
.........
}
Методом пузырька
Смотреть пример
{
int n;
int mas[100];
cin >> n;
........
for(int i=1; i<n; i++)
// i - номер прохода, нумеруем проходы от 1
{
// проход по неотсортированной части массива
for(int j=0; j<n-i; j++)
{
// если пара рядом стоящих элементов неупорядочена - меняем их местами
if(mas[j]>mas[j+1])
{
swap(mas[j], mas[j+1]);
}
}
}
.........
}
Реализация сортировки пузырьком по возрастанию:
int main(){
int n;
int mas[100];
cin >> n;
........
for(int i=1; i<n; i++)
// i - номер прохода, нумеруем проходы от 1
{
// проход по неотсортированной части массива
for(int j=0; j<n-i; j++)
{
// если пара рядом стоящих элементов неупорядочена - меняем их местами
if(mas[j]>mas[j+1])
{
swap(mas[j], mas[j+1]);
}
}
}
.........
}
вторник, 4 февраля 2014 г.
Подготовка к ЕГЭ. Задача C4: анализ строк
Вам необходимо написать программу анализа текста. На вход программе подаются строки, содержащие английские слова. В одной строке может быть произвольное количество слов. Все слова записаны строчными (маленькими) английскими буквами. Между словами в строке может быть один или больше пробелов, возможны пробелы в начале и в конце строки. Других символов, кроме строчных английских букв и пробелов, в строках нет. Длина каждой строки не превышает 200 символов. Количество строк неизвестно, общее количество слов не более одного миллиона. Конец ввода обозначается строкой, содержащей единственный символ «*».
Напишите эффективную, в том числе по памяти, программу, которая будет определять количество слов, начинающихся на каждую букву английского алфавита, и выводить эти количества и соответствующие им буквы в порядке убывания. Если количество слов, начинающихся на какие-то буквы, совпадает, эти буквы следует выводить в алфавитном порядке. Если на какую-то букву слов нет, выводить эту букву не надо.
Размер памяти, которую использует Ваша программа, не должен зависеть от размера исходного списка.
Напишите эффективную, в том числе по памяти, программу, которая будет определять количество слов, начинающихся на каждую букву английского алфавита, и выводить эти количества и соответствующие им буквы в порядке убывания. Если количество слов, начинающихся на какие-то буквы, совпадает, эти буквы следует выводить в алфавитном порядке. Если на какую-то букву слов нет, выводить эту букву не надо.
Размер памяти, которую использует Ваша программа, не должен зависеть от размера исходного списка.
Подписаться на:
Сообщения (Atom)