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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 20:23   #1
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
Восклицание Два задания в паскале-одно на текстовые файлы,др-ое на записи

Добрый вечер всем.
Нужна ваша помощь.

У меня два задания,одно на текстовые файлы,др-ое на записи.

На записи надо сделать, т.к.я не до конца понимаю эту тему и как по ней работать, а по текстовым файлам у меня есть код, я вчера потратила много времени, но он не идёт, либо там где-то ошибка, либо я его не дописала,либо вообще моя программа глючит,т.к. в другом задании, которое я сделала так и было, хорошо хоть теперь у меня 2 прог-ы и, проверив во 2-ой, увидела, что задание сделала верно.

Насчёт текстовых файлов-если удобно искать ошибку по моему коду хорошо, если нет-можете составить свой код, я не против.

Задание по текстовым файлам

Написать программу,которая:
-считывает данные матрицы из текстового файла(в одной строке текста находится числа одной строки матрицы, которые отделены запятыми)
-высчитать сумму строк
-вычисленыt(посчитанные) суммы вписать в другой текстовой файл(все числа в одной строке)
-максимаоьынй размер матрицы 9 на 11

и вот мой код

Код:
program uzd_9;
type mas=array[1..11] of string;
var f1:text;
    notfinished:boolean;
    c:char;
    str1,element:string;    {element-элемент матрицы до конвертации}
    x:mas;
    i,converted:integer;    {converted-элемент матрицы после конвертацииs}
begin
     i:=0;
     write ('Введи название файла,в котором хранится матрица: ');
     readln (str1);
     assign (f1,str1);
     reset (f1);
     write ('Введи название файла: ');
     readln (str1);
     assign (f1,str1);
     rewrite (f1);
     while not eof(f1) do
      begin
         i:=i+1;
         notfinished:=false;
           while not eoln(f1) do
            begin

               while (c<chr(48) or c>chr(57)) do
                begin
                   if (notfinished=true) then
                   begin
                     val(element,converted,0);
                     x[i]:=x[i]+converted;
                   end;

                   read (f1,c);
                   notfinished:=false;
                   element:='';
                end;

               element:=element+c;
               notfinished:=true;

            end;
           readln (f1);
           writeln
      end;
     close (f1)
end.
и Второе задание на записи

Cоздать программу для ввода, вывода, стирания(удаления) записей,а также для поиска по названию и для упорядочению по автору.

данные по дискам:
-автор
-название
-издатель
-год издания
-цена(ЛС,т.е. в латах)
-посчитаннаяценность-возраст(в полных годах) (как я понимаю ценность этогопредмета,товара)

буду очень благодарна всем,кто откликнется и поможет исправить или изменить(создать свой) код к первому заданию и помочь сделать второе задание
Novenkaja вне форума Ответить с цитированием
Старый 29.05.2011, 23:18   #2
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

так кто-то может решить хоть одно из двух заданий или нет?
очень они нужны,крайний срок завтра
Novenkaja вне форума Ответить с цитированием
Старый 30.05.2011, 11:07   #3
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Честно говоря, лениво было разбирать в твоем коде. Тем более что у тебя по заданию "считывает данные матрицы", а в программе почему то описан вектор. Вообщем все это будет выглядеть как то так:
Код:
Var
  F:Text;
  Matr:array[1..10,1..10] of Byte;
  i,j,m,n,k,Chislo,Sum:Byte;
  Error:Integer;
  St,bf:String;
begin
  Assign(F,'C:\Matrix.txt');
  Reset(F);
  Readln(F,m,n);  // число строк и столбцов матрицы. В файле они должны идти первой строкой
  i:=1;
  While Not EOF(F) do
  Begin
      Read(f,st); //читаем строку
      For k:=1 to Length(St) do
      If St[k] = ',' then Delete(St,k,1);//избавляемся в ней от запятых
      bf:='';
      j:=1;
      For k:=1 to Length(St) do  // разделяем строку на отдельные символы
      Begin
        If (St[k] <> ' ') and (k <= Length(St)) then bf:=bf+St[k];
        If (St[k] = ' ') or (k = Length(st)) then
        Begin
          Val(Bf,Chislo,Error); //преобразуем символы в числа
          Matr[i,j]:=Chislo;    // и пишем их в матрицу
          Write(Matr[i,j],' ');
          Inc(j); //новый столбец
          bf:=''
        End;
      End;
    inc(i);   //новая строка матрицы
    Writeln;
    Readln(F) //переходим на следующую строку в файле
  End;
  Close(F);
  Assign(F,'C:\Summa.txt');
  Rewrite(F);
  For i:=1 to M do
  Begin
    Sum:=0;
    For j:=1 to N do
    Sum:=Sum+Matr[i,j];// считаем сумму i-ой строки
    Writeln('Summa v ', i,' stroke = ',Sum); //выводим ее на экран
    Write(F,Sum,' ') // и в файл
  End;
  Close(F);
  Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 30.05.2011, 17:35   #4
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

он компилирует,я создала два файла с названиями matrix.txt и summa.txt а при нажатии на run-пишет exitcode...
почему?
Novenkaja вне форума Ответить с цитированием
Старый 30.05.2011, 17:43   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

exitcode-то какой? Файлы где создали? В корне диска С:? (C:\matrix.txt)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.05.2011, 17:47   #6
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

папка с файлами находится на диске с
идёт так:
C:\Program Files\FPS\Projects-в это папке Projects хранится этот файл и там же я создалоа два файла Matrix.txt и Summa.txt а не идёт по рану (((
Novenkaja вне форума Ответить с цитированием
Старый 30.05.2011, 17:52   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В этой программе путь указан к файлу в корне (C:\ без всяких папок) диска С. Если хотите использовать файлы из Projects, то либо уберите C:\, либо укажите путь к C:\Progra~1\FPS\Projects.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 30.05.2011 в 17:56.
Alex11223 вне форума Ответить с цитированием
Старый 30.05.2011, 18:03   #8
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

вс равно не идёт

даже если я оставлю assign(F,'Matrix.txt')
Novenkaja вне форума Ответить с цитированием
Старый 30.05.2011, 18:08   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А что пишет-то? В ошибке обычно указана причина ошибки)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.05.2011, 18:16   #10
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

run time errorr-file not found
Novenkaja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифровка и расшифровка через текстовые файлы в Паскале Novenkaja Помощь студентам 21 25.05.2011 08:32
задача на паскале тема текстовые файлы, записи шушара Паскаль, Turbo Pascal, PascalABC.NET 4 19.04.2011 20:15
Текстовые файлы в паскале. Как всегда нужна помощь=))) Leona180991 Помощь студентам 5 04.08.2010 17:08
текстовые файлы в паскале MetR Помощь студентам 9 12.06.2010 10:38
Текстовые файлы в паскале Nc1ty_SoBoL Помощь студентам 2 30.06.2009 19:49