Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


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

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 20000 рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 17:26   #1
willfogg
Новичок
Джуниор
 
Регистрация: 26.04.2009
Сообщений: 1
Печаль fstream, чтение и запись .txt

Код:
/********************************************************\
Считав один .txt файл, вывести в другой .txt файл таблицу, где показано количество латинских букв (заглавных и малых) и цифр. Количество расположить по убыванию.
Пример:
a-19
r-15
s-10
g-9
A-6
9-5
ит.п.
* *******************************************************/
#include <fstream>
#include <iostream>
using namespace std;

int main(){
	int n=0,tr,sk[n],sk2,ms; // n-количество букв, tr-проверка, sk[n]-количество, ms-наибольшее число
	char txt,tmp[n],tmp2; 		// txt-считанный символ, tmp[n]-хранение символов, tmp2-проверка
	fstream fin ("in.txt", ios::in); 
	fstream ffin ("in.txt", ios::in);
    fstream fout ("out.txt", ios::out);
	fin.get(txt);
	while (fin){
		tr=1;
		if (((int(txt)>=48)&&(int(txt)<=57))||((int(txt)>=65)&&(int(txt)<=122))){
		tmp[n]=' ';
		for (int i=0; i<n; i++){
			if (tmp[i]==txt) tr=0;
			
		};
		if (tr==1){ 
			tmp[n++]=txt; 
			fstream ffin ("in.txt", ios::in); 
			ffin.get(tmp2);
			sk2=0;
			while (ffin){ 
				if (txt==tmp2) sk2++;
				ffin.get(tmp2);
			}; 
			sk[n]=sk2;
			tmp[n]=txt;
			cout<<tmp[n]<<'-'<<sk[n]<<endl;
			
		};
	};
		fin.get(txt); 
	};
	
	for (int i=0;i<n;i++){ // проблема с этим циклом по нахождению наибольшего количества и вписыванию в .txt файл
		ms=0;
		for (int j=0; j<n; j++){
			if (sk[j]>ms){ 
				ms=j;
			};
			
			fout.put(tmp[ms]); 
			fout.put('-');
			fout.put(sk[ms]);
			fout.put('\n');
			sk[ms]=0;
		};
	};
	ffin.close ();
	fin.close ();
        fout.close ();
	return 0;
}
Проблема с этим циклом.
Проблема с вписыванием, т.к. количество он вписывает в шестнадцатиричной форме, а не в десятичной
Также пишет, что Segmentation Fault из-за этого цикла ((
Help
willfogg вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение частей строк из *.txt файлов HTL Общие вопросы Delphi 4 04.04.2009 19:50
Чтение из TXT файла soonner Общие вопросы Delphi 1 14.03.2009 13:52
Запись массива в txt yura-cat Помощь студентам 5 20.10.2008 22:54
Чтение/Поиск в txt файле и вывод в ComboBox limnique Общие вопросы C/C++ 2 05.09.2008 22:01
Запись последовательности в txt NeiL Общие вопросы Delphi 1 14.04.2008 21:23



Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS