Вопрос № 132980: Уважаемые эксперты помогите пожалуйста с программой.Нужно создать меню из 10-ти пунктов:
1.сортировка массива по возрастанию
2.поиск шаблона в строке
3.поиск шаблона в файле
4.сравнение двух файлов
5.игра"угадай число"<b...Вопрос № 132983: Здраствуйте ! Установил Mandriva
есть среда разаботки Qt designer
но там нет компилятора
подскажите Где взять и как установить .
Это мой первый опыт с Unix вообще . . .
Хочу разобраться. ...Вопрос № 132991: Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию: Add(constS:string):string,возвращающую строку, в котрой к S приписана
она же в перевёрнутом виде. С помощью данной функции для каждой строки из в...Вопрос № 132993: Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию Add(const S1, S2:string):string, дописывающую все гласные латинские буквы из строки S1 в конец S2 и выдающей получившуюся строку в качестве результата...Вопрос № 132994: Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию PreLastSpace(const S:string):integer, определяющую позицию предпоследнего пробела в строке S. С помощью данной функции вывести только такие строки из ...Вопрос № 132995: Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию Is5Latin(constS:string):boolean, определяющую, есть ли в строке S как минимум 5 подряд идущих латинских букв. С помощью данной функции вывести только ...Вопрос № 133010: Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Нужно написать программу, которая рисует на экране кривую Серпинского. Причём порядок этой кривой должен вводиться с клавиатуры во время работы программы.
Заране...Вопрос № 133058: Помогите пожалуста у меня запускаеться программа, но после ввода даных появляеться сообщение:
Run-Time Check Failure #3 - The variable 'get_r' is being used without being initialized.
Код:
median.h
#define _Median_H_<br...Вопрос № 133111: Уважаемые эксперты, подскажите пожалуйста как мне выполнить это задание??? Как сделать то, что написанно в замечании???
Разработать класс SortedArrayOfInt - упорядоченный маасив целых чисел, наследовательный от класса ArrayOfInt.
Замечание: с...Вопрос № 133117: Напишите пожалуйста программу: Дана символьная строка, содержащая скобки 4-х видов {}, [], (), <> и заканчевающаяся точкой. Напишите рекурсивную функцию, проверяющую, содержит ли эта строка правильную скобочную запись, соответствующую след. пра...Вопрос № 133142: Мне нужно определить размер какого-либо файла на языке Си:
для этого мне нужно его открывать и вычислять через fseek и ftell.
Среда BC3.1++...
Вопрос № 132.980
Уважаемые эксперты помогите пожалуйста с программой.Нужно создать меню из 10-ти пунктов:
1.сортировка массива по возрастанию
2.поиск шаблона в строке
3.поиск шаблона в файле
4.сравнение двух файлов
5.игра"угадай число"
6.игра"крестики нолики"
7.статистика встречаемых символов в файле
8.обработка матрицы
9.решение квадратного уравнения
10.обработка каталога с условием
В консоли как помощь для пользователя при работе с большой программой которая будет состоят из этих пунктов,чтобы он в случае проблемы мог вызвать любой из пунктов и узнать что конкретно выполняет этот пункт.Заранее спасибо.
Отправлен: 19.04.2008, 16:05
Вопрос задал: Magmatoid (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Dr_Andrew
Здравствуйте, Magmatoid!
Организуйте меню в виде бесконечного цикла с возможностью выхода по return:
for( ; ; )
{
cout<< "1. Отсортировать массив по возрастанию" << endl;
cout<< "2. Запустить поиск шаблона в строке" << endl;
cout<< "3. Запустить поиск шаблона в файле" << endl;
// И т.д. ...
cout<< "11. Выйти из программы" << endl;
cout<< "Введите свой выбор цифрой: " << endl;
short nChoice;
cin >> nChoice;
switch(nChoice)
{
case 1: SortMassive(); break;
case 2: SearchTemplateString(); break;
case 3: SearchTemplateString(); break;
// И т.д. ...
case 11: return 0;
default: cout << "Ошибка ввода. Повторите ввод." << endl;
}
}
Показ пунктов меню организовать в соответствующих функциях SortMassive(); и т.п.
Ответ отправил: Dr_Andrew (статус: 9-ый класс)
Ответ отправлен: 20.04.2008, 22:11
Вопрос № 132.983
Здраствуйте ! Установил Mandriva
есть среда разаботки Qt designer
но там нет компилятора
подскажите Где взять и как установить .
Это мой первый опыт с Unix вообще . . .
Хочу разобраться.
Отвечает: Хватов Сергей
Здравствуйте, Иванов Петр Николаевич!
Во-первых, убедитесь что ваш Qt версии 4 и если это не так, установите её. Версия Qt3 уже устарела, а api там поменялся заметно.
В комплекте любой версии есть обширная и весьма толковая документация, правда на английском.
Но если вкратце, то Qt designer - это не IDE а всего лишь инструмент для разработки и построения элементов GUI - окон, диалогов,.. И он в Qt не единственный такой инструмент.
Результатом работы будут коды на C++ (и то не сразу), которые вы включаете в свой проект. И компилируете обычным компилятором (тут вариантов нет - это gcc) с использованием пары инструментов.
Вы можете использовать IDE в которую включена интеграция с Qt. Я использую Kdevelop
Ответ отправил: Хватов Сергей (статус: Практикант)
Ответ отправлен: 19.04.2008, 17:46 Оценка за ответ: 5
Отвечает: Dr_Andrew
Здравствуйте, Иванов Петр Николаевич!
1. Qt Designer - это не среда разработки, а визуальный проектировщик интерфейса, входящий в состав библиотеки Qt. Он создаёт пользовательские формы в виде xml-кода, который утилита uic, входящая в состав Qt в процессе компиляции преобразует в C++ код. Файлы пользовательских форм сохраняются с расширением *.ui и могут быть просмотрены программой KUIViewer или собственно Qt Designer.
2. Для сборки Qt-проекта используется утилита qmake, входящая в состав библиотеки Qt.
3. Общий алгоритм сборки проекта, созданного в Qt Designer.
а. Запустить Qt Designer. Выбрать в диалоговом окне "New File" - C++ Project. Появится диалоговое окно "Project Settings". В поле Project File ввести полное имя проекта (файл с расширением *.pro). NB! Для каждого проекта заводить отдельную папку, имя папки и имя проекта (без расширения) должны совпадать.
б. Выбрать в меню File - New... Выбрать заготовку одной из форм. Она будет автоматически включена в проект. Визуально спроектировать интерфейс, создать соединения сигналов и слотов. Сохранить форму (файл с расширением *.ui) в папке проекта.
в. Выбрать в меню File - New... Выбрать в диалоговом окне "New File" - C++ Main-File (main.cpp). Сохранить файл в папке проекта. Закрыть Qt Designer.
г. Открыть консоль в папке проекта (удобнее всего в контекстном меню, вызванном в папке проекта, выбрать Действия - Открыть терминал здесь). Набрать в консоли команду: qmake Имя_проекта.pro
Будет сформирован Makefile.
д. Набрать в консоли make
Будет произведена компиляция проекта. При этом автоматически вызывается утилита uic, которая сгенерирует h- и cpp-файлы формы. Последний следует открыть в любом текстовом редакторе (например, Kwrite) и написать в заготовках слотов их реализацию. После чего сохранить изменения и набрать команду make повторно. Если не было сделано ошибок, произойдёт компиляция исполняемого файла приложения с отладочной информацией.
е. Для получения релиза (без отладочной информации) набрать в консоли strip Имя_файла_приложения.
ё. Наслаждаться!
Удачи!
Ответ отправил: Dr_Andrew (статус: 9-ый класс)
Ответ отправлен: 20.04.2008, 00:58 Оценка за ответ: 5 Комментарий оценки: И предположить не мог что мне будет выделено столько внимания - безмерно благодарен.
Вопрос № 132.991
Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию: Add(constS:string):string,возвращающую строку, в котрой к S приписана
она же в перевёрнутом виде. С помощью данной функции для каждой строки из введённого набора приписать её же в перевёрнутом виде.
Отвечает: Терсков Сергей
Здравствуйте, Мыльников Василий Сергеевич!
Вариант реализации вашей программы смотрите в приложении. Библиотечные функции из string.h не используются. Язык С.
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 23.04.2008, 07:34
Вопрос № 132.993
Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию Add(const S1, S2:string):string, дописывающую все гласные латинские буквы из строки S1 в конец S2 и выдающей получившуюся строку в качестве результата. С помощью данной функции в каждую строку из введённого набора дописать все гласные латинские буквы из предыдущей строки. Гласными считаются следующие буквы: aeiouyAEIOUY.
Отвечает: Терсков Сергей
Здравствуйте, Мыльников Василий Сергеевич!
Вариант решения вашей задачи в приложении. Алгоритм простой: циклом пробегаем по строке s2 и если текущая буква гласная (т.е. находим ее в строке гласных букв), то дописываем ее в s1.
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 23.04.2008, 08:00
Вопрос № 132.994
Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию PreLastSpace(const S:string):integer, определяющую позицию предпоследнего пробела в строке S. С помощью данной функции вывести только такие строки из введённого набора, в которых предпоследний пробел находится в середине либо после середины строки.
Отвечает: Терсков Сергей
Здравствуйте, Мыльников Василий Сергеевич!
Вариант решения вашей задачи в приложении. Алгоритм функции: идем с конца строки и считаем пробелы, если встречаем второй, то возвращаем его индекс.
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 23.04.2008, 08:12
Вопрос № 132.995
Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Разработать функцию Is5Latin(constS:string):boolean, определяющую, есть ли в строке S как минимум 5 подряд идущих латинских букв. С помощью данной функции вывести только такие строки из введённого набора, в которых есть по крайней мере 5 подряд идущих латинских букв.
Отвечает: Терсков Сергей
Здравствуйте, Мыльников Василий Сергеевич!
Вариант решения вашей задачи смотрите в приложении. Алгоритм:
Однопроходный цикл по строке. Если встречается латинская буква, то увеличиваем их счетчик, иначе обнуляем его. Если счетчик достиг 5, то возвращаем 1 (истина).
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 23.04.2008, 08:20
Вопрос № 133.010
Уважаемые эксперты помогите пожайлуста решить следующую задачу по C++:
Нужно написать программу, которая рисует на экране кривую Серпинского. Причём порядок этой кривой должен вводиться с клавиатуры во время работы программы.
Отвечает: Терсков Сергей
Здравствуйте, Королёв Александр Павлович!
Алгоритм построения кривой Серпинского можете посмотреть здесь. Помимо описания алгоритма также приводится его реализация на нескольких языках программирования, в том числе и на Си.
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 22.04.2008, 10:33
Вопрос № 133.058
Помогите пожалуста у меня запускаеться программа, но после ввода даных появляеться сообщение:
Run-Time Check Failure #3 - The variable 'get_r' is being used without being initialized.
Код:
median.h
#define _Median_H_
#ifndef _Median_H_
#endif
#include<math.h>
#include <iostream>
using namespace std;
class Triangle {
double a, b, c; // длины сторон
public:
Triangle (double a, double b, double c) : a(a), b(b), c(c) {}
// main.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "median.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#include <iostream>
using namespace std;
int main()
{ double a,b,c,get_r,get_R;
cin>>a;
cin>>b;
cin>>c;
cout<<get_r<<endl;
cout<<get_R<<endl;
system("PAUSE");
return 0;
}
Отправлен: 20.04.2008, 00:55
Вопрос задал: LordThief (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Хватов Сергей
Здравствуйте, LordThief!
cout<
get_r - это указатель на функцию (его можно присваивать, чтобы потом косвенно вызывать) а не её значение
Ответ отправил: Хватов Сергей (статус: Практикант)
Ответ отправлен: 20.04.2008, 10:25
Вопрос № 133.111
Уважаемые эксперты, подскажите пожалуйста как мне выполнить это задание??? Как сделать то, что написанно в замечании???
Разработать класс SortedArrayOfInt - упорядоченный маасив целых чисел, наследовательный от класса ArrayOfInt.
Замечание: сортировку массива необходимо производить после любого изменение его состовляющих. Соответственно необходимо перегрузить метод доступа к его компонентам.
Отвечает: mega
Здравствуйте, Данилин Денис Александрович!
задача мне показалась интересной, в приложении её решение.
не знаю, что подразумевалось под классами ArrayOfInt и SortedArrayOfInt, но если вы разберетесь с алгоритмом, то сможете реализовать его и в ваших классах.
Аналогия следующая:
vector - это ваш ArrayOfInt, у которого два виртуальных метода set и get
array - это ваш SortedArrayOfInt, который наследуется от vector и сортирует его значения (я выбрал быструю сортировку, можно применить любую другую)
cell - это ячейка массива, которая обеспечивает обратную связь с вектором
здесь, после изменения значения массива, cell после сортировки еще обновляет свой индекс в соответствии с её новым положением в массиве.
пример использования:
array a;
a.push(1);
a.push(10);
a.push(4);
a.push(2);
for(size_t i = a.size();i--;){
printf("%i
",(int)a[i]);
}
a[0] = 5;
for(size_t i = a.size();i--;){
printf("%i
",(int)a[i]);
}
a[2] = 20;
for(size_t i = a.size();i--;){
printf("%i
",(int)a[i]);
}
тут надо заметить, что push необходимо вызывать перед любыми действиями с ячейками (ели push будет вызван между изменениями "задержанной" ячейки, то содержимое этой ячейки может указывать на различные данные массива перед и после push, чтобы такого не происходило необходимо вести обратную связь в самом массиве)
Приложение:
Ответ отправил: mega (статус: 4-ый класс)
Ответ отправлен: 20.04.2008, 12:45
Отвечает: Ross
Здравствуйте, Данилин Денис Александрович!
В замечании имеется в виду вот что: вы должны объявить в классе виртуальную функцию доступа к компонентам (мутатор) и переопределить ее в производном классе с учетом автоматической сортировки массива. В моем варианте реализации такими функциями являются set и push.
Приложение:
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 21.04.2008, 20:39
Вопрос № 133.117
Напишите пожалуйста программу: Дана символьная строка, содержащая скобки 4-х видов {}, [], (), <> и заканчевающаяся точкой. Напишите рекурсивную функцию, проверяющую, содержит ли эта строка правильную скобочную запись, соответствующую след. правилам:
1. Каждая открывающая скобка должна иметь парную закрывающуюся.
2. Нельзя закрыть скобку, которая не была открыта.
3. Если открыто более одной скобки, то сначало нужно закрыть последнюю.
В результате работы программа должна напечатать слово "Yes", если входная последовательность правильная и "No" если нет. Исользуйте примеры:
(). - Yes
(. - No
). - No
({<[]>}). - Yes
({<[>]}). - No
((({{[[<>]]}}))){[]<()>}. - Yes
((({{[[<>]]}})))[{]<>()}. - No
Отвечает: Ross
Здравствуйте, Иванов, Андрей, Сергеевич!
Вот решение.
Проверяет правильность расстановки скобок в переданных программе параметрах.
Приложение:
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 20.04.2008, 19:08
Отвечает: Kamerad
Здравствуйте, Иванов, Андрей, Сергеевич!
Вот код программы.
Приложение:
Ответ отправил: Kamerad (статус: 1-ый класс)
Ответ отправлен: 20.04.2008, 19:36
Отвечает: Терсков Сергей
Здравствуйте, Иванов, Андрей, Сергеевич!
Вариант решения вашей задачи с использованием STL смотрите в приложении. Для разбора строки используется стек. Компилятор MS VS 2005.
Приложение:
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 24.04.2008, 05:19
Вопрос № 133.142
Мне нужно определить размер какого-либо файла на языке Си:
для этого мне нужно его открывать и вычислять через fseek и ftell.
Среда BC3.1++
Отправлен: 20.04.2008, 13:51
Вопрос задал: Warobushek (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Aristos
Здравствуйте, Warobushek!
Программа открывает файл в бинарном виде (чтобы можно было вычислять размер не только текстовых файлов). После этого переводит (с помощью fseek) текущую позицию чтения в конец файла. Теперь с помощью функции ftell можно запросить текущую позицию, которая и будет размером файла.
Код в приложении.
Приложение:
--------- нет ничего невозможного
Ответ отправил: Aristos (статус: 10-ый класс)
Ответ отправлен: 20.04.2008, 14:07 Оценка за ответ: 3 Комментарий оценки: вопрос не по тому, как сделать это тем методом который я указал, а о том, есть ли другие пути
Отвечает: Виктор Пырлик
Здравствуйте, Warobushek!
---------------------------- help ---------------- Заголовочный файл: < io.h > Категория: Ввод/вывод Прототип функции: long filelength(int handle);
Описание Возвращает размер файла в байтах
Результат В случае успеха возврощает размер файла в байтах, при ошибке, возвращает -1 и в глобальной переменной errno устанавливается номер ошибки EBADF (Плохой номер файла) -------------------------------------------- В приложении пример
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Профессионал) Россия, Свердловская обл. Тел.: +7(34386) 53-5-98 ICQ: 490191733 ---- Ответ отправлен: 20.04.2008, 19:00 Оценка за ответ: 5 Комментарий оценки: хоть что-то новое)))
жаль, что все-равно нужно открывать файл для определения размера
Отвечает: Kamerad
Здравствуйте, Warobushek!
Функция fseek - устанавливает указатель чтения в требуемую позицию
функция ftell - возвращает текущее положение указателя
Для определения размера попробуйте использовать функцию sizeof().
Приложение:
Ответ отправил: Kamerad (статус: 1-ый класс)
Ответ отправлен: 20.04.2008, 19:15 Оценка за ответ: 3 Комментарий оценки: log - указатель на структуру. Применяя sizeof, мы получим лишь размер указателя.
вопрос не по тому, как сделать это тем методом который я указал, а о том, есть ли другие пути