19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 222
1

Pascal -> Pascal ABC.Net

11.11.2016, 14:53. Показов 1603. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Прошу решить эту задачу.
Дан текстовый файл, содержащий прямоугольную матрицу. Приведенная ниже
программа читает этот файл, определяет размеры матрицы, вводит саму матрицу
по этим размерам для анализа и обработки, проходит через заданные действия и
выводит результат. Просьба вот в чем: пожалуйста, перепишите указанную
программу в стиле .Net (Pascal).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var f, fRez: text;
    b, lines, n, i, j, stolb: integer;
    a: array [1..10000, 1..200] of integer;
    s: string;
    columns: real;
begin
 assign(f,'ArrOfArrNum.txt'); reset(f);
 assign(fRez,'RezArr.txt'); reWrite(fRez);
 n := 0;
 try while not eoF(f) do
  begin
   read(f, b);
   inc(n); {количество элементов}
  end; except; end;
 close(f);  reset(f);  
 lines := 0;
 while not eof(f) do
  begin
   readln(f, s);
   inc(lines); {количество строк}
  end;
 close(f); reset(f);
 columns := n/lines; stolb := trunc(columns); {количество столбцов}
 for i := 1 to lines do
  begin
   for j := 1 to stolb do
    begin
     read(f, a[i, j]); {Здесь предусмотреть возможность анализа и обработки матрицы}
     write(fRez, a[i, j]: 3);
    end;  
    writeln(fRez); 
  end;
 close(f); close(fRez); 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2016, 14:53
Ответы с готовыми решениями:

Нужно перевести программу с Turbo Pascal в Pascal ABC.NET
Вот есть программный код , но он для турбо паскаля, помогите перевести его в АБС.NET Program...

Можно как-то переделать код из Turbo Pascal чтобы он работал в pascal abc.net?
Сделайте пожалуйста, я просто не вникаю uses Graph, Crt; var grDriver: integer; grMode:...

Перевод программы с Turbo Pascal на Pascal ABC.NET
написала программу в паскаль турбо на рабочем компьютере. перенесла в паскаль авсNet так как дома...

Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC.NET пожалуйста
program lab3; uses Crt; const Output_File_Name = 'output.txt'; { ima faila dlya vivoda...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32793 / 21133 / 8144
Регистрация: 22.10.2011
Сообщений: 36,393
Записей в блоге: 8
11.11.2016, 15:07 2
Лучший ответ Сообщение было отмечено kayslu как решение

Решение

Пример файла можешь привести?

Добавлено через 12 минут
Вот на таком файле:
Код
1 2 3 4
2 3 4 5
6 5 4 3
6 5 7 8
1 2 2 3
код
Pascal
1
2
3
4
5
begin
  var a := ReadAllLines('ArrOfArrNum.txt').Select((s : string) -> 
    s.Split('  '.ToArray(), System.StringSplitOptions.RemoveEmptyEntries).Select(v -> StrToInt(v))).ToArray();
  a.Println(NewLine)
end.
прекрасно читает и выводит на экран матрицу. Обработку добавляй по необходимости, в задании ничего не сказано, какая именно обработка должна присутствовать.
1
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 222
11.11.2016, 15:11  [ТС] 3
Пример файла:
Вложения
Тип файла: txt Пример20х6.txt (279 байт, 2 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32793 / 21133 / 8144
Регистрация: 22.10.2011
Сообщений: 36,393
Записей в блоге: 8
11.11.2016, 15:15 4
С этим файлом мой код тоже прекрасно отработал.
0
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 222
11.11.2016, 15:22  [ТС] 5
Спасибо, Volvo.
Как обращаться к отдельным элементам, изменять, сравнивать (в старой проге - стр.28)?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32793 / 21133 / 8144
Регистрация: 22.10.2011
Сообщений: 36,393
Записей в блоге: 8
11.11.2016, 15:32 6
Нет, чуть чуть не так. Вот так:
Pascal
1
2
3
4
5
6
7
begin
  var a := ReadAllLines('ArrOfArrNum.txt').Select((s : string) -> 
    s.Split('  '.ToArray(), System.StringSplitOptions.RemoveEmptyEntries).Select(v -> StrToInt(v)).ToArray()).ToArray();
  a.Println(NewLine);
  a[0][0] := 777;
  a.Println(NewLine);
end.
После добавления еще одного ToArray в строку №3, становится возможно обращаться по индексам (только внимательно, индексация теперь не от 1, а от 0, потому как массив динамический) к элементу массива. Для теста вывел матрицу до и после изменения верхнего левого элемента.

Добавлено через 1 минуту
Но лучше всего озвучить задание, потому что сравнение элементов может не понадобиться, если решать в стиле .NET...
0
11.11.2016, 15:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2016, 15:32
Помогаю со студенческими работами здесь

Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC.NET пожалуйста
program lab2; uses Crt; const Nmax = 15; { MAX element mnozestva A } type T =...

Pascal ABC.NET
Привет всем) Хелпаните плис, матрицу то я написал., а вот как из нее вывести вектор я хз....

Массивы в Pascal ABC.NET
3. Дан массив M из 15 случайных числел (0-100). Заполнить новый массив M1. Заменив нулями все...

Печать в Pascal abc.net
Вот наткнулся на такую штуковину Можете рассказать, как это работает или где можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru