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

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


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

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


Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 22:25   #1
Ника К
 
Регистрация: 26.05.2012
Сообщений: 9
По умолчанию при запуске открывается консоль и выскакивает окно-ошибка приложения. как исправить?

Здравствуйте, я написала программу. Задание такое:требуется разработать процедуру для нахождения К наиболее часто встречающихся во входном файле слов. Вывести на экран текст из входного файла и наиболее часто встречающиеся слова.
Например, к=3, текст во входном файле: мама папа сын дочь мама папа сын, тогда на экран выводим: мама папа сын
Не могу понять, что не так, при запуске открывается консоль и выскакивает окно-ошибка приложения:инструкция по адресу "0*00408909" обратилась к памяти по адресу"0*00443068".Память не может быть "Written"...Подкажите, что не так, и как это исправить?
Код:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

struct word
{
	string w;
	int s;
};

int main()
{
	ifstream file("in.txt");

	word unique_words[100];
	int n;
   int c = 0;
	file >> n;
   for(int i=0; i<n; i++){
     unique_words[i].s=0;
     unique_words[i].w="";
   }
  	while(!file.eof())
  	{
  		string d;
  		file >> d;
  		bool found = false;
  		for(int j=0; j<c; j++)
  			if(d == unique_words[j].w)
  			{
  				unique_words[j].s++;
  				found = true;
            while((j > 0) && (unique_words[j].s > unique_words[j-1].s)){
              int s;
              s =  unique_words[j].s;
              unique_words[j].s =  unique_words[j-1].s;
				  unique_words[j-1].s =  s;

              unique_words[j].w = unique_words[j-1].w;
              unique_words[j-1].w = d;
            }
  				break;
  			}
  		if(!found)
  		{
			unique_words[c].w = d;
         c++;
  		}
  	}
   file.close();
	ofstream file2("out.txt");
	for(int i=0; i < n; i++)
		file2 << unique_words[i].w << endl;
   file2.close();
	return 0;
}
Ника К вне форума Ответить с цитированием
Старый 07.06.2012, 22:29   #2
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
Подмигивание

У меня частенько такая ошибка появляется - забываю писать & и пишу просто scanf("%d", s), вместо scanf("%d", &s).
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при запуске приложения panuta Общие вопросы Delphi 5 21.09.2011 14:39
Выскакивает окно при запуске операционки: Windows не удаётся найти 'svchost.exe'..... СисТемникс Windows 2 15.08.2010 08:23
Ошибка при запуске приложения -=pasha=- Общие вопросы Delphi 10 07.07.2010 12:46
при запуске Internet Explorer внизу на пол-экрана выскакивает панель irenaspb Безопасность, Шифрование 3 09.11.2008 20:48
"Ошибка приложения" при запуске мидлета hotman Общие вопросы по Java, Java SE, Kotlin 0 04.09.2008 14:16


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