Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
#1

Задача:Удалить строчки - C++

21.09.2009, 21:00. Просмотров 1376. Ответов 19
Метки нет (Все метки)

в КиР наткнулся на задачу:
напишите программу удаления из "С"-пораммы всех комментариев. Не забывайте аккуратно обращаться с "закавыченнными" строками константами
как понял - надо редактировать срр файл...но как я знаю удалить строчки из файла невозможно!как это можно реализовать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2009, 21:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача:Удалить строчки (C++):

Удалить слово из строчки, либо массива символов - C++
Допустим, дано предложение: string str1 = "Hello, my name is Vasya!"; char str2 = "Hello, my name is Vasya!";Как мне удалить во...

Удалить из файла строчки содержащие несколько самых длинных слов - C++
Подскажите как это можно сделать.

Ввести строки s1 и s2. 2 средних символа строчки s2 удалить и вставить в начало и конец s1 - C++
Учесть следующие ситуации:  один из заданных строк (все строки) могут быть пустыми;  средний символ может быть найден только, если...

Задача на графы. Удалить ребро, соединяющее вершины a и b - C++
Дан граф, состоящий из N вершин и заданный списком смежности. Удалить ребро, соединяющее вершины a и b.

Задача на графы. Удалить ребра так, чтобы степень любой вершины была равна 3 или 0 - C++
Здравствуйте. Условие задачи, собственно, в названии темы. Возникли проблемы с алгоритмом, не говоря уже про код. Ограничений на входной...

Задача звучит так: Пользователь вводит строку символов, удалить из этой строки каждый 3-й по счёту элемент - C++
Если кто поможет, буду очень благодарен: Пользователь вводит строку символов, удалить из этой строки каждый 3-й по счёту элемент.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GAV_13
81 / 81 / 4
Регистрация: 14.09.2009
Сообщений: 252
21.09.2009, 21:08 #2
МедведЪ, нет ничего невозможного Например, можно читать файл в буфер, обрабатывать, а потом записывать в файл... Под тем же именем вот и будет - удаление строчек из файла)
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
21.09.2009, 21:09  [ТС] #3
GAV_13, возможно,но в книге этого не проходил,вряд ли они такие сложные вещи без объяснения задали..
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
21.09.2009, 21:21 #4
Цитата Сообщение от МедведЪ Посмотреть сообщение
сложные вещи без объяснения задали
а в чем сложность? считать содержимое файла в строку или перезаписать файл этой строкой?
0
GAV_13
81 / 81 / 4
Регистрация: 14.09.2009
Сообщений: 252
21.09.2009, 21:37 #5
Всего 3 действия.
1. Чтение из файла
2. Работа со строками
3. Запись в файл

А вот это все наверняка в книге есть) с объяснениями и примерами)
0
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
21.09.2009, 21:41 #6
Цитата Сообщение от МедведЪ Посмотреть сообщение
как понял - надо редактировать срр файл
Нет, там все проще. Имеется ввиду, что юзер сам вводит текст. Файловые операции будут в 7й главе.
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
21.09.2009, 21:48  [ТС] #7
Цитата Сообщение от M128K145 Посмотреть сообщение
а в чем сложность? считать содержимое файла в строку или перезаписать файл этой строкой?
я когда тут в форуме тему открыл,как удалить строки изфайла хостс..сказали удалить нельзя...

Добавлено через 2 минуты
Цитата Сообщение от Gravity Посмотреть сообщение
Нет, там все проще. Имеется ввиду, что юзер сам вводит текст. Файловые операции будут в 7й главе.
если в 7-ой то почему это упражнение щас дали?
какой текст?Код?через getchar?

Добавлено через 15 секунд
Цитата Сообщение от Gravity Посмотреть сообщение
Нет, там все проще. Имеется ввиду, что юзер сам вводит текст. Файловые операции будут в 7й главе.
если в 7-ой то почему это упражнение щас дали?
какой текст?Код?через getchar?
0
Delphin_KKC
UNIX-way
710 / 495 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
21.09.2009, 21:50 #8
Цитата Сообщение от МедведЪ Посмотреть сообщение
я когда тут в форуме тему открыл,как удалить строки изфайла хостс..сказали удалить нельзя...
C:\WINDOWS\system32\drivers\etс\hosts ?
Тогда очень даже можно, а иногда и нужно.
Кроме строк, начинающихся с символа "#", там должна быть только строка
Код
127.0.0.1       localhost
Если там есть ещё что-то - убивать без сожаления.
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
21.09.2009, 21:54  [ТС] #9
Delphin_KKC, аххахах...ты не пон меня...я этот файл на 100 знаю...хотел чтобы моя прога добавила строку,поом сама ее удалил,сказали что через консоль невозможно
0
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
21.09.2009, 21:55 #10
Цитата Сообщение от МедведЪ Посмотреть сообщение
какой текст?Код?через getchar?
Обычный текст, который набирают в консоли. Если ты дочитал до этого упражнения, то уже должен уметь это делать.
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
21.09.2009, 22:02  [ТС] #11
Gravity, я умею,я просто не понял что надо делатьа это знаю.ну тогда можно так сделать
C++
1
if((c=getchar())='//'){c==" ";}
ну то есть если есть \\ то заменить пробелом
еси что не так,исправьте пожалуйста
0
Delphin_KKC
UNIX-way
710 / 495 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
21.09.2009, 22:06 #12
Цитата Сообщение от МедведЪ Посмотреть сообщение
Delphin_KKC, аххахах...ты не пон меня...я этот файл на 100 знаю...хотел чтобы моя прога добавила строку,поом сама ее удалил,сказали что через консоль невозможно
Нет ничего невозможного
Через саму консоль (без доп. программ) мож и нельзя. Я не очень разбираюсь в написании CMD и BAT файлов. А вот программно - можно. Для этого надо:
Добавление строки
1)открыть файл на добавление
2)дописать что нужно
3)закрыть файл.
Удаление строки
вариант 1
1)считать содержимое файла в память
2)обработать его как нужно
3)удалить исходный файл с диска
4)записать результат обработки.
вариант 2
1)открыть файл на чтение в текстовом режиме и временный файл на запись.
2)если в файле есть строки - считать строку, иначе - идти на пункт 7.
3)проверить является ли она удаляемой
4)если да - идти на пункт 2 иначе - далее
5)записать считанную строку во временный файл
6)идти на пункт 2
7)закрыть оба файла.
8)удалить оригинал, а временный файл поместить на место оригинала.
1
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
21.09.2009, 22:07 #13
МедведЪ, ну ты напиши весь код, а там уже посмотрим
0
GAV_13
81 / 81 / 4
Регистрация: 14.09.2009
Сообщений: 252
21.09.2009, 22:11 #14
Цитата Сообщение от МедведЪ Посмотреть сообщение
ну то есть если есть \\ то заменить пробелом
еси что не так,исправьте пожалуйста
Нет такого символа '//' Есть 2 символа '/'. Эт во-первых.
Во-вторых:
C++
1
2
//Comment
int x; //Еще коммент
заменив пробелами получишь:
C++
1
2
  Comment
int x;   Еще коммент
Что закономерно будет ошибкой. т.е. получить ты должен:
C++
1
int x;
1
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,245
Завершенные тесты: 1
21.09.2009, 22:21  [ТС] #15
GAV_13, тогда можно
C++
1
2
3
4
while(C!=\n){
c==" ";
 
}
вроде так
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2009, 22:21
Привет! Вот еще темы с ответами:

Задача 1)фамилии студентов, которые имеют две и больше двоек в сессию на заданном пользователем факультете и удалить их - C++
Задача Создать массив структур, каждая из которых состоит из следующих элементов: факультет, курс, группа, фамилии студентов,...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент - C++
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...

переписать 2 строчки на c++ - C++
помогите пожалуйста!! h: array of integer; c: CircleABC;

Объяснить строчки программы - C++
Добрый день. У меня вот такой вопрос. Дана программа: int main() {int a; float r; rad a1; //rad - имя класса, a1 - представитель...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2009, 22:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru