Консультация № 186772
03.11.2012, 18:22
99.00 руб.
0 17 1
Здравствуйте! Прошу помощи в следующем вопросе:
Следует выполнять в среде программирования Турбо Паскаль (версии 6.0 или 7.0)
Сформировать двумерный массив Z размером 3 x 11 (3 – количество строк; 11 – количество столбцов) с помощью генератора случайных чисел и вывести элементы массива на экран и в файл. Вычислить сумму положительных элементов строки, в которой находится минимальный элемент матрицы Z (оформить нахождение минимального элемента в виде функции). Вывести на экран и в файл полученную сумму и номер строки.

Заранее благодарен.

Обсуждение

давно
Профессор
399103
482
03.11.2012, 20:24
общий
это ответ
Здравствуйте, Иванов Владислав Юрьевич!

Код:

uses crt;
const
HEIGHT = 3;
WIDTH = 11;
MIN = -10;
MAX = 10;
var
Z: array [1..HEIGHT] of array[1..WIDTH] of Integer;
i, j, k: Integer;
outFile: Text;

function findMin: Integer;
var
m: Integer;
begin
m := Z[1][1];
for i := 1 to HEIGHT do
for j := 1 to WIDTH do
if Z[i][j] < m then
m := Z[i][j];
findMin := m;
end;

function sumPos(row: Integer): Integer;
var
sum: Integer;
begin
sum := 0;
for j := 1 to WIDTH do
if Z[row][j] > 0 then
sum := sum + Z[row][j];
sumPos := sum;
end;

function rowWithMin: Integer;
var
m: Integer;
begin
m := findMin;
for i := 1 to HEIGHT do
for j := 1 to WIDTH do
if Z[i][j] = m then
begin
rowWithMin := i;
exit;
end;
end;

begin
clrscr;

assign(outFile, 'out.txt');
rewrite(outFile);

randomize;
for i := 1 to HEIGHT do
begin
for j := 1 to WIDTH do
begin
k := random(MAX-MIN+1) + MIN;
Z[i][j] := k;
write(k:5);
write(outFile, k:5);
end;
writeln;
writeln(outFile);
end;

writeln(sumPos(rowWithMin));
writeln(outFile, sumPos(rowWithMin));

writeln(rowWithMin);
writeln(outFile, rowWithMin);

close(outFile);
end.
Неизвестный
03.11.2012, 20:32
общий
Требуется текст программы (файл с расширением .pas), и результат работы программы (т.е. все данные, которые выводятся на экран).
давно
Старший Модератор
31795
6196
03.11.2012, 21:11
общий
03.11.2012, 22:12
Цитата: 394960
Требуется текст программы (файл с расширением .pas), и результат работы программы

Текст программы у Вас уже есть.
1)компилируете его и запускаете исполняемый файл.
2)программа создаст сама результат работы.
у меня такой получился:
Код:
-1 0 0 10 10 7 3 4 8 -6 2
-2 -4 2 -2 8 6 -6 7 8 -1 -3
2 7 -2 8 3 8 -7 8 -2 -10 7
43
3
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Профессор
399103
482
03.11.2012, 22:47
общий
03.11.2012, 22:49
Исправлена неточность вывода в файл в 66 строке: writeln(outFile , k , ' ' ); -> writeln(outFile);
Неизвестный
04.11.2012, 07:51
общий
Доброе утро.
Копирую текст в файл, сохраняю с расширением pas. Открываю программой, нажимаю компилировать, говорит что все скомпилировано, жму пуск - ничего не происходит. Где моя ошибка?
Это мое первое общение с программой.
давно
Старший Модератор
31795
6196
04.11.2012, 12:17
общий
04.11.2012, 12:18
Компилируете, у Вас должно появится окно с результатами компиляции:


В меню DEBUG включаете окно вывода:


И запускаете программу:


В папке с программой паралельно должен прявится файл OUT.TXT с результатами работы.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
05.11.2012, 14:14
общий
получилось?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
05.11.2012, 17:55
общий
прошу прощения за неторопливость ответов, на праздники был не в том состоянии. Обязательно попробую, и надеюсь получится. Большое спасибо.
Неизвестный
05.11.2012, 20:46
общий
Всем огромное спасибо, все получилось, хотя еще не совсем все понятно. Надеюсь и в будующем на вашу помощь.
PS: Если что то делаю не так - прошу в пм.
Неизвестный
06.11.2012, 19:55
общий
Доброго времени суток.
"Вычислить сумму положительных элементов строки, в которой находится минимальный элемент матрицы Z (оформить нахождение минимального элемента в виде функции). Вывести на экран и в файл полученную сумму и номер строки." - это как?
Неизвестный
06.11.2012, 19:59
общий
Скажите пожалуйста, результат программы всегда разный, это нормально?
давно
Старший Модератор
31795
6196
06.11.2012, 20:05
общий
Цитата: 394960
"Вычислить сумму положительных элементов строки, в которой находится минимальный элемент матрицы Z (оформить нахождение минимального элемента в виде функции). Вывести на экран и в файл полученную сумму и номер строки." - это как?

Что именно Вы хотите узнать?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
06.11.2012, 20:09
общий
06.11.2012, 20:11
Цитата: 394960
Скажите пожалуйста, результат программы всегда разный, это нормально?

Да, в программе используется процедура randomize, которая изменяет выборку из псевдослучайной последовательности - якобы случайных данных. Если Вы её уберете или закомментируете, то программа будет давать всегда одинаковый результат.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
06.11.2012, 20:20
общий
Цитата: Зенченко Константин Николаевич
Что именно Вы хотите узнать?


Стыдно признать, но вообще, что подразумевается под данным заданием? Является ли это дополнительным заданием, или мы получается его уже выполнили. Не пойму что от меня хотят =(.
давно
Старший Модератор
31795
6196
06.11.2012, 20:24
общий
Цитата: 394960
Является ли это дополнительным заданием, или мы получается его уже выполнили.

Это основное задание, дополнительным, как раз есть создание матрицы.
Это всё есть у Вас в ответе:
Код:
     writeln(sumPos(rowWithMin));
writeln(rowWithMin);



rowWithMin - функция возвращает номер строки с минимальным элементом;
sumPos(rowWithMin) - функция возвращает сумму положительных элементов строки.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
06.11.2012, 20:28
общий
таким образом, ответ на дополнительное задание уже есть в основном результате работы. Если конечно я правильно понимаю, и дополнительно акцентировать на этом внимание не обезательно?
давно
Старший Модератор
31795
6196
06.11.2012, 20:36
общий
06.11.2012, 20:44
У Вас тема задания - работа с массивами-матрицами.
Создание и вывод матрицы-массива - самое первое действие с ними, которое проходят.
Основными заданиями могут быть, к примеру сумма положительных элементов главной диагонали или сумма всех отрицательных элементов всей матрицы-массива.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа