Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2012, 00:04   #1
zubber94
Пользователь
 
Регистрация: 28.03.2012
Сообщений: 14
По умолчанию Строки С++

Задание: есть 2 файла F и G. Сделать порядок строк файла Джи обратным порядку строк файла Ф.

С вводом/выводом и файлами вроде все понятно. Тут проблема в другом. Реализовать инверсию хочу след.образом: fgets считывать маленькие строки (smalls) и функцией strcat добавлять в динамическую большую строку bigs. А затем читать строку bigs в обратном порядке и, используя счетчики c2 и c1, выводить то, что находится между ними. Счетчикам присваиваются значения номеров элементов '\n' в строке.
Даже не знаю, насколько понятно или нет описал сей процесс, но голова не варит уже совсем.

Помогите составить цикл, который будет строки извлекать из bigs в обратном порядке и записывать их в файл Джи.

Код:
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

void main()
{
	SetConsoleOutputCP(1251);
	FILE *ft,*ftg;

	ft=fopen("F.txt","w");
	fputs("Здесь будут\nзаписаны 5 строк!\nА после произведена\nсортировка.\n",ft);
	fputs("Надеюсь, сработает!\n",ft);	
	fclose(ft);
	ft=fopen("F.txt","r");
	ftg=fopen("G.txt","w");
	
	char smalls[70], *bigs=new char[];
    while(fgets(smalls, 70, ft)!=NULL)
	{
		printf("%s",smalls);
		strcat(bigs, smalls);
		}
	
	printf("%s",bigs);
	
	int c1, c2; //control points
	int sizebigs=strlen(bigs);
	for(int i=sizebigs; i>0; i--)
	{
		if(bigs[i]=='\n')
		{c1=i;
		for(int j=c1; j>0;j--)
		if(bigs[j]=='\n')
		{c2=j; i=j;}
		for(int k=c2; k<c1; k++)
			fputc(bigs[k],ftg);c1=c2;}}

}
zubber94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10