Вопрос № 181220: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Нужно написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых. Нужно чтобы программа работала на Dev-...
Вопрос № 181239: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: помогите пожалуйста с программой. Условие: Задан исходный текст на русском языке. Длина текста — не более NL строк, длина строки — не более NS символов, длина слова — ...
Вопрос № 181244: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Помогите с программой. Условие: Матричная арифметика. Элементы матрицы могут быть любого типа с плавающей точкой. Для решения данной задачи использовать шаблон базовых...
Вопрос № 181220:
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Нужно написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых.
int check_two_digits(char *s) { for (int i=0; i<strlen(s); i++) { if (s[i]==',') return(1); } return(0); }
int main(int argc, char *argv[]) { if (argc < 2) { printf ("Не указан файл\n"); return(1); }
f=fopen(argv[1],"rb");
if (f) { fseek(f,0,SEEK_END); file_size=ftell(f); rewind(f); str=(char *)malloc(file_size);
while((fgets(str,file_size,f))!=NULL) { if (check_two_digits(str)==0) printf("%s",str); }
free(str); fclose(f); }
return(0); }
Ответ отправил: Павел Юрьевич (5-й класс)
Ответ отправлен: 11.12.2010, 21:16
Номер ответа: 264667
Оценка ответа: 2 Комментарий к оценке: Я просил выпонить программу на Dev-C++ а не на визуал студио...
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 264667
на номер 1151 (Россия) |
Еще номера »
Вопрос № 181239:
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: помогите пожалуйста с программой. Условие: Задан исходный текст на русском языке. Длина текста — не более NL строк, длина строки — не более NS символов, длина слова — не более NW символов. Исходный текст должен заканчиваться точкой ('!', '?'). Составить программу, которая определяет, сколько слов содержат 1 слог, 2 слога и т. д. В файле результатов должен быть исходный текст и список слов (разделенных запятыми)
с 1 слогом, 2 слогами и т. д. Не получается никак сделать определения, сколько слов содержат 1 слог, 2слога и т.д.
Отвечает Verena (Профессор) :
Здравствуйте, Azarov88! Например, можно сделать так. Пишем функцию, которая проверяет букву на то, что она гласная, и функцию, которая считает число слогов в слове:
bool IsVowel (char x) //проверка символа х на то, что это гласная буква { for (int i=0; i<9; i++) if (x==vwls[i]) return true; return false; }
int Sylls (char* word) //подсчёт числа слогов в слове { int l = strlen (word); int k = 0; for (int i=0; i<l; i++) if (IsVowel(word[i])) k++; return k; }
pre>
Далее можно, например, завести массив из NW/2+1 (по максимально возможному числу слогов в слове) строк, в каждый элемент которого накапливать слова с одинаковым числом слогов через запятую, которые потом, собственно, и вывести. Или можно, в целях экономии памяти, сохранять только позиции нужных слов, а потом скопировать их из исходного текста. Удачи!
----- Эта история - не для истории, понимаешь?
Ответ отправил: Verena (Профессор)
Ответ отправлен: 16.12.2010, 22:20
Номер ответа: 264822
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 264822
на номер 1151 (Россия) |
Еще номера »
Вопрос № 181244:
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Помогите с программой. Условие: Матричная арифметика. Элементы матрицы могут быть любого типа с плавающей точкой. Для решения данной задачи использовать шаблон базовых классов (размещение матрицы в динамической памяти и ее инициализация — конструктор, при необходимости — конструктор копирования, деструктор, заполнение матрицы значениями из файла, печать содержимого матрицы в файл) и шаблон производных классов (характеристикой
строки матрицы назовем сумму ее положительных элементов, имеющих четные значения индексов; переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик).
Не понимаю как сделать шаблон базовых классов и шаблон производных классов. Сделал отдельно "характеристикой строки матрицы назовем сумму ее положительных элементов, имеющих четные значения индексов; переставляя строки заданной матрицы, расположить их в соответствии с ростом хар
актеристик", но как его сделать, как шаблон производных классов не понимаю(код в приложении). Также отдельно как сделать "заполнение матрицы значениями из файла, печать содержимого матрицы в файл" знаю, а как сделать шаблон базовых классов не знаю. Помогите правильно, по условию реализовать данное задание.
Отвечает Verena (Профессор) :
Здравствуйте, Azarov88! Вот пример Вашей программы с шаблонами. Создаём базовый и производный классы как шаблоны от типа T1, который будет являться типом данных в матрице. И функции, соответственно, разносим по двум классам. Функцию сравнения, которую Вы передаёте в qsort, надо делать статической, из-за чего приходится пользоваться глобальной переменной, в которую непосредственно перед вызовом сохраняем значение члена класса c_col. Не очень красивое решение, но зато минимальные изменения в Вашем коде.
Про шаблоны классов можете почитать в этом уроке и на Википедии. Шаблоны в приложении, а вот пример использования:
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.