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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2013, 16:16   #11
***ЛидОК***
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 14
По умолчанию

Мне преподаватель сказал, что это совсем неправильной решение моей задачи((((
***ЛидОК*** вне форума Ответить с цитированием
Старый 03.06.2013, 16:26   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пусть говорит чем именно не правильное.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2013, 21:21   #13
***ЛидОК***
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 14
По умолчанию

Каким должен быть файл?
***ЛидОК*** вне форума Ответить с цитированием
Старый 04.06.2013, 21:27   #14
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от ***ЛидОК*** Посмотреть сообщение
Каким должен быть файл?
А ведь я Вас об этом 2 недели назад спрашивал.
Выложили бы нужный файл, глядишь, и программа была бы написана для чтения именно Вашего файла.
s-andriano вне форума Ответить с цитированием
Старый 04.06.2013, 22:37   #15
***ЛидОК***
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 14
По умолчанию

Код:
program lab_10;
var
	f:	text;	//тип файлa
	Str,Stl,ch:Integer;		//строки,столбцы
	mas:array[1..10] of integer;
	j,i:byte;
	mas1:array[1..10] of integer;
	masCode:array[1..10] of integer;
begin     //обнуляем счетчики
	Str:=0;
	Stl:=0;
/***************************************************************/
	assign(f,'Doc.dat');	//Связь Ф с реальным файлом
	reset(f);			//открытие для чтения файла
/***************************************************************/
	while not EOF(f) do
	begin
		read(f,ch);
		inc(Str)	//колличество строк
	end;
/***************************************************************/
	while not EOF(f) do
	begin
		read(f,ch);
		inc(Stl)	//колличество столбцов
	end;
/***************************************************************/
	for i:=1 to Str do		//запись в масив данные с файла
	for j:=1 to Stl do
	read(f,mas[i,j]);
/***************************************************************/	
	close(f);			//закрытие файла
/***************************************************************/
	for i:=1 to Str do		//считаем кол товара * стоимость товара
	mas1[i]= mas[i,3]*mas[i,4];
/***************************************************************/
	assign(f,'Code.dat');	//Связь Ф с реальным файлом
	rewrite(f);		//открытие для записи
/***************************************************************/
	//составление нового массива для записи
	for i:=1 to Str do
	for j:=2 to Stl do
	masCode[i,j]=mas[i,j];
	for i:=1 to Str do
	masCode[i,3]=mas1[i];
/***************************************************************/
	//запись в файл
	for i:=1 to Str do		//запись масива в файл
	for j:=2 to Stl do
	Write(f, masCode[i,j]);
/***************************************************************/	
	close(f);			//закрытие файла
/***************************************************************/	
end.
Что в этой программе не так?

1 23 3 6
2 23 5 3
2 34 4 3
1 34 5 6 - файл Doc.dat

Doc.dat
125255 001 50 200
125255 002 135 100
125255 003 25 300
125255 004 98 65
125255 005 236 456
Code.dat
001 50 10000
002 135 13500
003 25 7500
004 98 6370
005 236 107616
*/
Код:
program Date;
var
	f:	text;	//тип файл
	Str,Stl,ch:Integer;		//++строки,столбцы
	mas:	array[1..10] of integer;
	j,i: byte;
	mas1:	array[1..10] of integer;
	masCode:	array[1..10] of integer;
begin
	//обнуляем счетчики
	Str:=0;
	Stl:=0;
/***************************************************************/
	assign(f,'Doc.dat');	//Связь Ф с реальным файлом
	reset(f);			//открытие для чтения файла
/***************************************************************/
	while not EOF(f) do
	begin
		read(f,ch);
		inc(Str)	//колличество строк
	end;
/***************************************************************/
	while not EOF(f) do
	begin
		read(f,ch);
		inc(Stl)	//колличество столбцов
	end;
/***************************************************************/
	for i:=1 to Str do		//запись в масив данные с файла
	for j:=1 to Stl do
	read(f,mas[i,j]);
/***************************************************************/	
	close(f);			//закрытие файла
/***************************************************************/
	for i:=1 to Str do		//считаем кол товара * стоимость товара
	mas1[i]= mas[i,3]*mas[i,4];
/***************************************************************/
	assign(f,'Code.dat');	//Связь Ф с реальным файлом
	rewrite(f);		//открытие для записи
/***************************************************************/
	//составление нового массива для записи
	for i:=1 to Str do
	for j:=2 to Stl do
	masCode[i,j]=mas[i,j];
	for i:=1 to Str do
	masCode[i,3]=mas1[i];
/***************************************************************/
	//запись в файл
	for i:=1 to Str do		//запись масcива в файл
	for j:=2 to Stl do
	Write(f, masCode[i,j]);
/***************************************************************/	
	close(f);			//закрытие файла
/***************************************************************/	
end.
Что мне переделать, чтобы программа работала в Паскале?

Последний раз редактировалось Stilet; 14.06.2013 в 10:16.
***ЛидОК*** вне форума Ответить с цитированием
Старый 04.06.2013, 22:50   #16
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

***ЛидОК***, золотце. Прежде всего, научитесь пользоваться кнопочкой "шарп". По-русски, это решётка. Я бы помог с удовольствием, но у меня в глазах рябит. Ни отступов ни формата. Приводить ваш код к читабельности, мне просто лениво (и нужно-ли?).
Принципы форматирования текста:
Код:
for(****)
{
  if(***)
  {
     / ещё что-то....
  }
}
Как видите, отступ скобок, совпадает с отступом оператора, их породившего.

Вот такую запись:
Код:
for(**){
}
Не рекомендую. При сложном алгоритме, попа будет страшная (в смысле путаницы).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 04.06.2013 в 23:03.
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.06.2013, 00:40   #17
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

***ЛидОК***

Мне преподаватель сказал, что это совсем неправильной решение моей задачи((((

И что, ты теперь так легко сдаешься?
Пускай говорит, что неправильно? зря что ли ты тут старалась, выпрашивала на форуме задачку. Да это почти тоже самое как самой решить! (((:

Rififi вне форума Ответить с цитированием
Старый 05.06.2013, 13:30   #18
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Кстати, Rififi дал очень хороший совет:
обязательно нужно отстаивать свою правоту.
Даже если это не удастся, хоть будешь знать, что именно не так.
s-andriano вне форума Ответить с цитированием
Старый 05.06.2013, 18:37   #19
***ЛидОК***
Пользователь
 
Регистрация: 18.05.2013
Сообщений: 14
По умолчанию

Спасибо Вам большое за поддержку=))) Для меня это очень важно))) Я Вас даже не знаю, но все равно приятно, что есть такие люди, как Вы)))) Это радует=))))))))))

Преподаватель сказал, что программа написана вроде бы логично, но нужно переделать:
Код:
while not EOF(f) do
begin
read(f,ch);
inc(Str)
end;
while not EOF(f) do
begin
read(f,ch);
inc(Stl)	
end;

Последний раз редактировалось Stilet; 14.06.2013 в 10:17.
***ЛидОК*** вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация обработки прерываний alexandr66 Общие вопросы C/C++ 0 25.12.2012 10:08
Список фалов в папке. ALFAcaRUS Общие вопросы Delphi 5 27.09.2010 03:34
чтение txt фалов Mihanches Общие вопросы Delphi 3 17.09.2010 11:42
Загрузка фалов на сервер BloodWizard PHP 2 03.08.2010 15:55
считывание Doc фалов KingMember PHP 10 15.05.2010 15:24