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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2016, 18:42   #31
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я вроде сделал.

Koneru, послушай возьми её и протестируй хорошенько (и не только примерами из методички, а и сам придумай)

Файлы:

input.txt
output.txt

должны быть на диске С:\



Код:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
	int n, l, i, t, mn, mx;
	int x[20002];
	bool f;
	
	i = 0;
	mn = 10001;
	mx = -10001;

	// Чтение из файла input.txt и вывод на экран		

	cout << "Chtenie iz file C:\\input.txt:" << endl;

	FILE *file = NULL;
    file = fopen("C:\\input.txt", "r");	
	fseek(file, 0, SEEK_SET);

	if (file == NULL)
	{
		cout << "Osibka otk file C:\\input.txt.";
		system("pause");
		return 0;
	}

	fscanf(file, "%i", &n);        	// Чтенеие n			
	cout << "n= " << n << endl;
	fscanf(file, "%i", &l);        	// Чтенеие l		
	cout << "l= " << l << endl;

	cout << "t= ";
	for (i = 0; i < n; i++)
	{
		fscanf(file, "%i", &t);    	// Чтенеие t
		if (mn > t)	{ mn = t; }
		if (mx < t)	{ mx = t; }	
		x[10000 + t] = 1;

		cout << " " << t;
	}
	cout << endl;
	fclose(file);

	/////////////////////////////////	
	t = 0;	
	while (mn <= mx)
	{
		f = false;
		for (i = 10000 + mn; i < 10000 + (mn + l); i++)
		{
			if (x[i] == 1)
			{
				f = true;
			}
		}
		t = t + (int)f;
		mn = mn + l + 1;
	}	
	cout << endl;
	cout << "Dni= " << t << endl;
	/////////////////////////////////	

	file = fopen("C:\\output.txt", "w");
	if (file == NULL)
	{
		cout << "Osibka otk file C:\\output.txt.";
		system("pause");
		return 0;
	}	
	fprintf(file, "%i ", t);
	fclose(file);

	/////////////////////////////////	
	cout << endl;
	system("pause");
	return 0;

}

Единственное предупреждение вывело (я не знаю что это такое), но и так работает.


Последний раз редактировалось ura_111; 08.07.2016 в 18:44.
ura_111 вне форума Ответить с цитированием
Старый 08.07.2016, 18:48   #32
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Так я не пойму: нужно запись/чтение в файлы или просто на экран?
Я сделал в файлы.
ura_111 вне форума Ответить с цитированием
Старый 08.07.2016, 18:51   #33
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так ему не надо придумывать, у него ж вроде есть доступ к системе тестирования.
Ну и файлы там естественно не на диске С и вообще она не на винде.
Цитата:
я не знаю что это такое
в нем же четко написано что это.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.07.2016, 19:01   #34
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я так понял, он чисто для себя, а не для системы тестирования.

Может быть, в этом случае, куда ввод/вывод не важно.

А кстате, Koneru программа выводит (дублирует) еще и на экран (кроме файла output.txt).
ura_111 вне форума Ответить с цитированием
Старый 08.07.2016, 21:08   #35
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

он уже уехал))
come-on вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку AmaPC HTML и CSS 0 15.11.2015 19:39
Найти седловые точки в матрице(помогите найти ошибку) - pascal tdsotm Помощь студентам 0 20.11.2014 18:57
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) Artsiom Помощь студентам 10 18.12.2013 14:10
Помогите найти ошибку (С++). TheWanderer Помощь студентам 1 19.03.2009 15:00