Вопрос № 87281: Помогите пожалуйста с решением вопроса:
Написать функцию main, в которой
а) Определяется массив (предположим, из 100 символов) для хранения
исследуемой строки.
б) Определяется массив указателей.
в) Вводится с клавиатуры строк...Вопрос № 87363: Уважаемые эксперты. Подскажите новичку, как реализовать программу определения/чтения логической структуры диска (главной загрузочной записи, загрузочного сектора логического диска, таблицы размещения файлов, корневого каталога) под ОС Windows?...Вопрос № 87396: Доброго здравия, товарищи эксперты!
Подскажите, пожалуйста, каким образом можно определить время выполнения определенной части программы.
Хочу это сделать, чтобы узнать сколько времени выполняется каждый тип внутренней сортировки.
...
Вопрос № 87.281
Помогите пожалуйста с решением вопроса:
Написать функцию main, в которой
а) Определяется массив (предположим, из 100 символов) для хранения
исследуемой строки.
б) Определяется массив указателей.
в) Вводится с клавиатуры строка, не более чем из 9 слов (возможна
пустая строка).
Замечание.
При отладке программы строку задавать, инициализируя соответствующую
переменную.
г) На экран выводится текст "Исходная строка:" и сама строка.
д) Функцией str_split строка разбивается на отдельные слова.
д) Выводится текст "Результат разбиения:" и последовательно
по одному в строке выводятся выделенные слова (использовать
массив указателей).
е) Проверить работу программы.
ж) Усложнить задачу, допуская наличие нескольких пробельных
символов подряд. Проверить работу программы.
з) Допуская ввод только латинских символов добиться, чтобы
первый буквы слов были строчными.
ЗАМЕЧАНИЕ.
Глобальные переменные не использовать!
Определение функции str_split разместить после main.
УСЛОЖНЕНИЕ: перевести в верхний регистр первые три символа каждой
строки, используя как операцию индексации, так и cдвиг указателей.
Написать функцию main, в которой
а) Определяется массив (предположим, из 100 символов) для хранения
исследуемой строки.
б) Определяется массив указателей.
в) Вводится с клавиатуры строка, не более чем из 9 слов (возможна
пустая строка).
Замечание.
При отладке программы строку задавать, инициализируя соответствующую
переменную.
г) На экран выводится текст "Исходная строка:" и сама строка.
д) Функцией str_split строка разбивается на отдельные слова.
д) Выводится текст "Результат разбиения:" и последовательно
по одному в строке выводятся выделенные слова (использовать
массив указателей).
е) Проверить работу программы.
ж) Усложнить задачу, допуская наличие нескольких пробельных
символов подряд. Проверить работу программы.
з) Допуская ввод только латинских символов добиться, чтобы
первый буквы слов были строчными.
ЗАМЕЧАНИЕ.
Глобальные переменные не использовать!
Определение функции str_split разместить после main.
и) перевести в верхний регистр первые три символа каждой
строки, используя как операцию индексации, так и cдвиг указателей.
Отправлен: 17.05.2007, 07:53
Вопрос задал: Vitaly89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Терсков Сергей
Здравствуйте, Vitaly89!
Попробуйте вот такой вариант. Строка разбирается не только по пробелам, но и другим символам.
Приложение:
Ответ отправил: Терсков Сергей (статус: 9-ый класс)
Ответ отправлен: 17.05.2007, 09:52 Оценка за ответ: 5 Комментарий оценки: Бальшое спасибо!!!!!!!!!!!
Вопрос № 87.363
Уважаемые эксперты. Подскажите новичку, как реализовать программу определения/чтения логической структуры диска (главной загрузочной записи, загрузочного сектора логического диска, таблицы размещения файлов, корневого каталога) под ОС Windows?
Отправлен: 17.05.2007, 17:14
Вопрос задал: TaiFUN (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Olegzp
Здравствуйте, TaiFUN!
Не знаю подойдет или нет вариант на паскале нодовольно хорошо описывает работу с диском в Win XP/2000 "Редактор диска своими руками"
http://www.kladovka.net.ru/index.cgi?pid=article&rid=1
Ответ отправил: Olegzp (статус: 2-ой класс)
Ответ отправлен: 20.05.2007, 13:23
Вопрос № 87.396
Доброго здравия, товарищи эксперты!
Подскажите, пожалуйста, каким образом можно определить время выполнения определенной части программы.
Хочу это сделать, чтобы узнать сколько времени выполняется каждый тип внутренней сортировки.
Отвечает: Ghoul
Здравствуйте, Ferruccio Bonipiero!
Используйте функции GetTickCount() или timeGetTime.
Пример:
#include <Windows.h>
...
DWORD startTime, endTime;
...
startTime = GetTickCount();
// ...
// Участок кода, время выполнения которого необходимо измерить
// ...
endTime = GetTickCount();
printf("Время выполнения = %g миллисекунд
", endTime - startTime);
...
Функция timeGetTime работает аналогично.
Ответ отправил: Ghoul (статус: 1-ый класс)
Ответ отправлен: 17.05.2007, 20:20 Оценка за ответ: 4 Комментарий оценки: Спасибо за функции, но есть проблема - если массив, который я сортирую небольшого размера (1 - 100 элементов), то засечения времени не происходит (алгоритм выполняется слишком быстро). Можно ли определить время выполнения кода в более мелких единицах времени?
Ответ отправил: Sov (статус: 3-ий класс)
Ответ отправлен: 17.05.2007, 20:44 Оценка за ответ: 4 Комментарий оценки: Спасибо, Sov, а как можно узнать время выполнения программы в более мелких единицах времени?
Ответ отправил: Ilkras (статус: 10-ый класс)
Ответ отправлен: 19.05.2007, 01:17 Оценка за ответ: 4 Комментарий оценки: Спасибо, но она тоже не позволяет узнать время в достаточно мелких единицах.
Отвечает: Ross
Здравствуйте, Ferruccio Bonipiero!
Если участок кода выполняется быстрее 1мс, то узнать время выполнения можно видимо только выполнив код несколько раз. А полученное время разделить на это число
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: 9-ый класс)
Ответ отправлен: 19.05.2007, 18:50 Оценка за ответ: 4 Комментарий оценки: Логично, но ведь для выполнения сортировки одного и того же массива несколько раз нужно каждый раз загружать в сортируемый массив исходные данные - а это затраты времени не на чистую сортировку.
Отвечает: Olegzp
Здравствуйте, Ferruccio Bonipiero!
я делал так
int StartTime = GetTickCount();
код для проверки
int FinishTime = GetTickCount() - StartTime;
Ответ отправил: Olegzp (статус: 2-ой класс)
Ответ отправлен: 20.05.2007, 13:20 Оценка за ответ: 4