- •Т.Э. Шульга программирование.
- •Глава 1. Основы программирования на языке высокого уровня 6
- •Глава 2. Динамические структуры данных 40
- •Глава 3. Основы объектно-ориентированного программирования 53
- •Введение
- •Глава 1. Основы программирования на языке высокого уровня
- •Void main()
- •Задания
- •1.2. Переменные. Основные типы данных
- •Ввод – вывод значений переменных
- •Форматирование данных при обменах с потоками ввода-вывода
- •Void main()
- •Void main()
- •Преобразование типов
- •Задание 1. Описание переменных и преобразование типов
- •Задание 2. Форматирование вывода
- •1.3. Основные операции
- •Void main ()
- •Задания
- •1.4. Конструкции выбора
- •Void main()
- •Void main()
- •Void main()
- •Задание 1. Обработка введенного символа
- •Задание 2. Вычисление значения функции
- •Задание 3. Применение разветвляющихся алгоритмов при решении простейших задач
- •Задание 4. Mультиветвление
- •1.5. Конструкции цикла и передачи управления
- •Void main()
- •Задание 1. Детерминированные циклы. Простейшие задачи
- •Void main()
- •Задание 2. Итерационные циклы. Простейшие задачи
- •Void main()
- •Int last;
- •Задание 3. Одномерные массивы
- •Void main ()
- •Int a[100],n,max,imax;
- •Задание 4. Вложенные циклы
- •Void main ()
- •Задание 5. Двумерные массивы
- •Void main ()
- •Задание 6. Посимвольная обработка строк
- •Void main()
- •Задание 7. Сортировка массива
- •Void main ()
- •1.6.Функции
- •Int oct (int a)// определение функции
- •Void main()
- •Void main()
- •Int strcmp(const char *str1, const char* str2);
- •Int fclose (file * stream);
- •Int feof(file *stream);
- •Int fseek ( file* stream, long offset, int origin);
- •Задание 1. Определение и вызов функций
- •Задание 2. Рекурсивные функции
- •Задание 3. Использование библиотечных функций string.H
- •Void main()
- •Задание 4. Использование библиотечных функций stdio.H
- •Void main ()
- •Глава 2. Динамические структуры данных
- •Int year;
- •Int children;
- •Задание 1. Структуры
- •Int year;
- •Int month;
- •Int visokos(int year)
- •Vivod (date d)
- •Int day_number(date d)
- •Vivod(mas[I]);
- •Vivod (min(mas,n));
- •Задание 2. Динамический список
- •Int mark;
- •Void vvod ()
- •Void vivod()
- •If (begin)
- •Void vivod_f()
- •If (begin)
- •Void add()
- •Void udol () //
- •If (begin)
- •Void del()
- •Void main ()
- •Задание 3. Использование стеков и очередей
- •Глава 3. Основы объектно-ориентированного программирования
- •Void empty();
- •If (len) delete []s;
- •Void cStr::empty()
- •Задание 1 . Описание простейшего класса
- •Задание 2 . Класс string
- •Void main()
- •Void main ()
- •Задание 3. Класс fstream
- •Задание 4. Наследование
- •Список литературы
Задание 6. Посимвольная обработка строк
Пример. Переслать из одной строки, читаемой с клавиатуры, в новую строку каждый третий символ.
# include <iostream.h>
Void main()
{
const int n=255;
char str1[n];
cout<<"Enter string ";
cin.getline(str1,n);
int len = 0; // вычислим длину строки str1 - len
while (str1[len]) len++;
char *str2=new char [len+1]; //определили указатель
//на второй массив символов
//и выделил участок памяти для него
int j=0; //определили индекс для массива str2
for (int i=2;i<=len;i+=3)// цикл пересылки каждого
//третьего символа
str2[j++]=str1[i];
str2[j]='\0'; // в новую строку на последнее место внесли
// символ конца строки
cout<<"str1= "<<str1;
cout<<"\nstr2= "<<str2;
}
-
Сформировать строку, в которой все прописные буквы заданной заменить строчными, а все строчные буквы – прописными.
-
Сформировать строку, состоящую из всех строчных букв, входящих в заданную строку, без повторов.
-
Дано слово. Определить, упорядочены ли его буквы по алфавиту. Выделить первую упорядоченную последовательность в новую строку.
-
Из заданной текстовой строки выбрать все строчные и прописные буквы в разные подстроки, пробелы и небуквенные символы повторять в обеих подстроках.
-
Сформировать строку, состоящую из символов заданной строки, где после каждой гласной буквы добавлен пробел.
-
Из заданной текстовой строки выбрать все символы главных букв в одну строку, а все прочие в другую.
-
Дана строка. Сформировать строку, содержащую символы данной в обратном порядке, причем каждый четвертый символ (считая с конца данной строки) выкинуть.
-
Дана строка. Сформировать строку, содержащую все символы данной за исключение символов гласных букв.
-
Дана строка. Сформировать строку, содержащую все символы данной за исключение символов прописных букв.
-
Дана строка. Сформировать строку, содержащую все символы данной, но точки заменены на многоточие.
-
Дана строка. Сформировать строку, содержащую все символы, которые входят в данную только один раз, в том порядке, в котором они расположены в исходной строке.
-
Дана строка. Сформировать строку, содержащую все символы данной, кроме символов, заключенных в скобки ‘(‘, ‘)’. Сами скобки нужно включить в новую строку. (Считается, что скобки расставлены корректно, и не могут быть вложенными).
Задание 7. Сортировка массива
Сортировку следует понимать как процесс перегруппировки заданного множества объектов в некотором определенном порядке. Основное требование к методам сортировки – экономное использование времени процессора и памяти. Существующие методы сортировки обычно разбивают на три класса в зависимости от лежащего в их основе приема: сортировка выбором, сортировка обменом, сортировка вставками.
Пример. Реализовать пузырьковую сортировку случайным образом генерируемого массива. Пузырьковая сортировка: массив просматривается от начала до конца. Сравниваются i-тое и (i+1)-ое числа. Если i-тое число больше (сортировка по возрастанию), то они меняются местами. Массив просматривается до тех пор, пока от начала до конца массива не сделано ни одной перестановки соседних чисел.
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
