Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.12.2011, 13:13   #1 (permalink)
Katerina Voy
Member
 
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Файлы текстовые на Паскале

-----------------------------------------------------------
1: написать программу, которая выполняет следующие операции: ввод данных с клавиатуры в двумерный массив, запись данных с массива в файл (с использованием процедуры), входные данные - числа целого типа.

ЗАДАНИЕ: Считывание данных из файла и сортировка элементов первой строки в порядке возрастания, вывода сформулированного массива на экран. Массив 4х9.
-------------------------------------------------------------
2:сформулировать файл, содержащий информацию о дате рождения N ваших друзей (информация про одного друга вводится в одну буквенную переменную в следующем порядке: фамилия-ДД.ММ.ГГГГ, например - Сидоров - 7.03.1980). Используя сформированный файл, напечатать фамилии друзей, родившихся осенью.
--------------------------------------------------------------
3: задана матрица А размерностью 3х5. Записать все элементы матрицы в одномерный массив.


___________________________________ _____
ПОМОГИТЕ МНЕ ОЧЕНЬ ВАЖНА ВАША ПОМОЩЬ|
Katerina Voy вне форума   Ответить с цитированием

Старый 19.12.2011, 13:13
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можете обратить внимание на схожие темы, они вам помогут

Подобрать текстовые данные
Паскаль, текстовые файлы
Массивы на Паскале
Задача на Паскале. Тема: текстовые файлы, записи
Программа на паскале

Старый 19.12.2011, 13:29   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

По первому заданию:
1) определяете необходимые переменные, в том числе и файловую
2) объявляете процедуру с произвольным именем для записи в файл значений элементов массива, при этом используются вложенные циклы for.
3) в цикле заполняете массив значениями с клавиатуры (используйте вложенные циклы for)
4) сортируете элементы первой строки массива, обращаясь к каждому элементу в цикле.
5) вызываете процедуру записи в файл.

По второму заданию:
1) определяете все необходимые переменные
2) запрашиваете количество друзей
3) создаете файл и в цикле передаете в него информацию о друзьях, введенных с клавиатуры. По окончании ввода закрываете файл.
4) Открываете файл по чтению и считываете из него информацию построчно в цикле до конца файла. Используя строковые функции, анализируете значение вырезанного участка строки, содержащего символы с номерами length-7 и length-6, которые соответствуют номеру месяца. Если эти два символа содержат информацию, равную номеру осеннего месяца (09, 10, 11), то считанную из файла строку распечатываете.

Третье задание практически повторяет первое, за исключением отсутствия сортировки.
AlexZir вне форума   Ответить с цитированием
Старый 19.12.2011, 15:27   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Katerina Voy Посмотреть сообщение
3: задана матрица А размерностью 3х5. Записать все элементы матрицы в одномерный массив.
Ладно, так и быть:
Код:
VAR
 M:Array[1..3,1..5] of Byte;
 V:Array[1..15] of Byte;
 i,j,k:Byte;

BEGIN
 Randomize;
 For i:=1 to 3 do
  begin
   For j:=1 to 5 do
    begin
     k:=(i-1)*5+j;
     M[i,j]:=Random(100);
     V[k]:=M[i,j];
     Write(M[i,j]:4);
    end;
   Writeln;
  end;
 Writeln;
 For k:=1 to 15 do Write(V[k]:4);
 Readln
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.12.2011, 19:11   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Владимир, да уж, сказать нечего, помог как смог

Когда уважаемая Katerina Voy объявится на форуме со своими наработками программ, можно и дальше помогать в том же духе
AlexZir вне форума   Ответить с цитированием
Старый 19.12.2011, 19:41   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Владимир, да уж, сказать нечего, помог как смог
А чего, чего-то не так?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 19.12.2011, 19:55   #6 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Не-не, ни в коем случае, все правильно, только вот учиться за топикстартершу никто не должен
AlexZir вне форума   Ответить с цитированием
Старый 19.12.2011, 19:57   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Не-не, ни в коем случае, все правильно, только вот учиться за топикстартершу никто не должен
А, чего-то сегодня был на работе в благодушном настроении, так дай, думаю, нарисую эту задачку, благо больше 3 минут не заняло.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2011, 18:55   #8 (permalink)
Katerina Voy
Member
 
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Не-не, ни в коем случае, все правильно, только вот учиться за топикстартершу никто не должен
ребят учится я буду еще ого-го сколько) и я не заставляю никого делать за меня задания) но вы просто не представляете как мне тяжело самой во всем разобраться. мне нужен всего лишь пример. В общем на вас вся надежда
Katerina Voy вне форума   Ответить с цитированием
Старый 20.12.2011, 18:59   #9 (permalink)
Katerina Voy
Member
 
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Ладно, так и быть:
Код:
VAR
 M:Array[1..3,1..5] of Byte;
 V:Array[1..15] of Byte;
 i,j,k:Byte;

BEGIN
 Randomize;
 For i:=1 to 3 do
  begin
   For j:=1 to 5 do
    begin
     k:=(i-1)*5+j;
     M[i,j]:=Random(100);
     V[k]:=M[i,j];
     Write(M[i,j]:4);
    end;
   Writeln;
  end;
 Writeln;
 For k:=1 to 15 do Write(V[k]:4);
 Readln
END.
да, но не все так просто.
нужно использовать текстовые файлы, то есть, как я понимаю, записать все данные в файл
Katerina Voy вне форума   Ответить с цитированием
Старый 20.12.2011, 20:02   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Katerina Voy Посмотреть сообщение
да, но не все так просто. нужно использовать текстовые файлы, то есть, как я понимаю, записать все данные в файл
Да, это - безумие! Вот прямо - в файл? Кошмар... И всё-таки, мобилизовав все свои и доступные чужие интеллектуальные ресурсы, я совершил вот такой прорыв в программировании:
Код:
VAR
 M:Array[1..3,1..5] of Byte;
 V:Array[1..15] of Byte;
 i,j,k:Byte;
 f:text;

BEGIN
 Assign(f,'D:\Matrix.txt'); {Имя и расположение файла можете, конечно, поменять}
 Rewrite(f);
 Randomize;
 For i:=1 to 3 do
  begin
   For j:=1 to 5 do
    begin
     k:=(i-1)*5+j;
     M[i,j]:=Random(100);
     V[k]:=M[i,j];
     Write(f,M[i,j]:4);
    end;
   Writeln(f);
  end;
 Writeln(f);
 For k:=1 to 15 do Write(f,V[k]:4);
 Close(f);
END.
А может быть, Вам нужно сначала изготовить исходную матрицу, записав ее в файл, а потом считать данные из этого файла, сформировать из них одномерный массив, каковой отправить в другой файл? Ну тогда это будет вообще конец света. Вот такой:
Код:
VAR
 M:Array[1..3,1..5] of Byte;
 V:Array[1..15] of Byte;
 i,j,k:Byte;
 f1,f2:text;

BEGIN
 Assign(f1,'D:\Matrix1.txt');
 Rewrite(f1);
 Randomize;
 For i:=1 to 3 do
  begin
   For j:=1 to 5 do Write(f1,Random(100):4);
   Writeln(f1);
  end;
 Close(f1);
 Reset(f1);
 Assign(f2,'D:\Matrix2.txt');
 Rewrite(f2);
 For i:=1 to 3 do
  begin
   For j:=1 to 5 do
    begin
     k:=(i-1)*5+j;
     Read(f1,M[i,j]);
     V[k]:=M[i,j];
    end;
   Readln(f1);
  end;
 For k:=1 to 15 do Write(f2,V[k]:4);
 Close(f1);
 Close(f2);
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:53.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.