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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2008, 16:04   #1
buba
 
Регистрация: 16.11.2008
Сообщений: 2
По умолчанию создать двумерный массив, заполнить случайными числами, сохранить в файл

Добрый вечер!
Немогу разобраться.Написал прогу (как смог):создать двумерный массив заполнить случайными числами сахранить в файл и тд... Так вот на экран выводится матрица полностью а в файл сохраняется не вся.Подскажите в чём прикол? Зарание спасибо.
buba вне форума Ответить с цитированием
Старый 16.11.2008, 16:08   #2
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Цитата:
Сообщение от buba Посмотреть сообщение
Добрый вечер!
Немогу разобраться.Написал прогу (как смог):создать двумерный массив заполнить случайными числами сахранить в файл и тд... Так вот на экран выводится матрица полностью а в файл сохраняется не вся.Подскажите в чём прикол? Зарание спасибо.
А где же сам код программы?
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 16.11.2008, 16:22   #3
buba
 
Регистрация: 16.11.2008
Сообщений: 2
По умолчанию

. Сформировать двумерный массив D размером N x 6 (N – количество строк, равное предпоследней цифре номера студенческого билета +2 6 – количество столбцов) с помощью генератора случайных чисел и вывести элементы массива на экран и в файл (см. п.3.4. и п.3.6.). В каждом столбце матрицы D найти максимальный элемент (оформить нахождение максимального элемента в виде функции). Среди найденных чисел найти минимальное и вывести на экран и в файл.-задание.
Код:
var    	T: array [1..6] of integer;
        D: array [1..7,1..6] of integer;
	i,j,s,a,x,y,q: integer;
        f1:text;
function min(x,y:integer):integer;
begin
    if x<y then min:=x
            else min:=y;
                    y:=s;
                     s:=a;
                      a:=x;
                        end;
function max(x,y:integer):integer;
begin
    if x>y then max:=x
            else max:=y;
                    y:=s;
                     s:=a;
                      a:=x;
                        end;
begin
assign(f1,'rez.txt');
              rewrite(f1);
    randomize;
       for i:=1 to 7 do
begin
       for j:=1 to 6 do
begin
    D[i,j]:=random(100);
	  
write (f1,D[i,j]:4);
write (D[i,j]:4);
                       end;
		    
writeln (f1);
writeln;
                         end;
begin
       for j:= 1 to 6 do 
begin
       for i:= 1 to 7 do
       x:= max(x,D[i,j]);
                  T[j]:=x;
                      x:=0;
end;
end;
   writeln ('max=');
    for j:= 1 to 6 do
       write (T[j]:4);
               x:=T[1];
       for i:= 2 to 6 do
         x:= min(x,T[i]);
                  writeln;
          write ('min=',x);
                        end.
Народ ну хоть намекните или посоветуйте

Всё всем большое спасибо за помощь. Разобрался сам.

Последний раз редактировалось Stilet; 14.03.2015 в 22:13.
buba вне форума Ответить с цитированием
Старый 23.12.2011, 15:47   #4
felixandr
 
Регистрация: 23.12.2011
Сообщений: 5
По умолчанию поделись

У меня такое-же задание.
Поделись исправленным кодом. Пожалуйста!!
felixandr вне форума Ответить с цитированием
Старый 23.12.2011, 15:48   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
16.11.2008
Пацан уж институт закончил наверное)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 14.03.2015, 21:58   #6
dima-bashlykov
Новичок
Джуниор
 
Регистрация: 14.03.2015
Сообщений: 2
По умолчанию

Знаю, что уже старая тема, но новичкам пригодится) В конце программы не дописана строка close (f1); перед end иначе результат не сохранится.

Конечный вариант:
Код:
uses
  crt;

var
  T: array [1..6] of integer;
  D: array [1..7, 1..6] of integer;
  i, j, s, a, x, y, q: integer;
  f1: text;

function min(x, y: integer): integer;
begin
  if x < y then min := x
  else min := y;
  y := s;
  s := a;
  a := x;
end;

function max(x, y: integer): integer;
begin
  if x > y then max := x
  else max := y;
  y := s;
  s := a;
  a := x;
end;

begin
  assign(f1, 'Control rezult.txt');
  rewrite(f1);
  clrscr;
  randomize;
  writeln('Znachenie massiva D razmerom 7x6');
  writeln(f1, 'Znachenie massiva D razmerom 7x6');
  for i := 1 to 7 do
  begin
    for j := 1 to 6 do
    begin
      D[i, j] := random(100);
      write(D[i, j]:4);
      write(f1, D[i, j]:4);
    end;
    writeln;
    writeln(f1);
  end;
  begin
    for j := 1 to 6 do
    begin
      for i := 1 to 7 do
        x := max(x, D[i, j]);
      T[j] := x;
      x := 0;
    end;
  end;
  begin
    writeln('Max. elementy massiva:');
    writeln(f1, 'Max. elementy massiva:');
    for j := 1 to 6 do
    begin
      write(T[j]:4);
      write(f1, T[j]:4);
    end;
    begin
      x := T[1];
      for i := 2 to 6 do
        x := min(x, T[i]);
    end;
  end;
  writeln;
  writeln(f1);
  write('Min. element massiva:');
  write(f1, 'Min. element massiva:');
  writeln;
  writeln(f1);
  write(' ', x);
  write(f1, ' ', x);
  writeln;
  close(f1);
end.

Последний раз редактировалось Stilet; 16.03.2015 в 12:58.
dima-bashlykov вне форума Ответить с цитированием
Старый 16.03.2015, 12:04   #7
dima-bashlykov
Новичок
Джуниор
 
Регистрация: 14.03.2015
Сообщений: 2
По умолчанию

Немного переписал программу, стала компактнее:
Код:
const
  a = 4;

const
  b = 6;

type
  D = array [1..a, 1..b] of integer;

var
  T: D;
  a1, b1, x, y, z: integer;
  tx: text;

function m2(m1: D): integer;
var
  a2, b2: integer;
begin
  y := 100;
  Writeln('Max. elementy massiva:');
  Writeln(tx, 'Max. elementy massiva:');
  for b2 := 1 to b do
  begin
    x := m1[1][b2];
    for a2 := 2 to a do
    begin
      if x < m1[a2][b2] then x := m1[a2][b2];
    end;
    Write(x:4);
    Write(tx, x:4);
    if y > x then y := x;
  end;
  writeln;
  writeln(tx);
  m2 := y;
end;

begin
  assign(tx, 'Control result.txt');
  rewrite(tx);
  //clrscr;
  Randomize;
  Writeln('Znachenie massiva D razmerom 4x6');
  Writeln(tx, 'Znachenie massiva D razmerom 4x6');
  for a1 := 1 to a do
  begin
    for b1 := 1 to b do
    begin
      T[a1, b1] := Random(100);
      Write(T[a1][b1]:4);
      Write(tx, T[a1][b1]:4);
    end;
    Writeln;
    Writeln(tx);
  end;
  z := m2(T);
  Writeln('Min. element massiva:');
  Writeln(tx, 'Min. element massiva:');
  write(z:4);
  write(tx,z:4);
  readln;
  close(tx);
end.
a = высота, b = ширина массива

Последний раз редактировалось Stilet; 16.03.2015 в 12:57.
dima-bashlykov вне форума Ответить с цитированием
Старый 17.03.2015, 20:08   #8
Golden_RUS
Пользователь
 
Регистрация: 23.01.2013
Сообщений: 34
По умолчанию

Код:
const a = 6;
  b = 6;
  n=100;
var ar:array[0..a, 0..b] of integer;
i, j:byte;
f:text;
begin
assign(f,'mas.txt');
rewrite(f);
randomize;
for i:=0 to a do
begin
  for j:=0 to b do
  begin
    ar[i, j]:=random(n);
    write(IntToStr(ar[i, j])+' ');
    write(f, IntToStr(ar[i, j])+' ');
  end;
writeln(f, '');
writeln('');
end;
close(f);
end.
Еще немного компактней и понятней.
Golden_RUS вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать в файле рандомный двумерный массив loon Помощь студентам 2 25.06.2008 08:32
Заполнить массив и записать в файл Amery Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 27.05.2008 20:02
Заполнение массива случайными числами Roomper Помощь студентам 4 12.05.2008 22:34
Заполнить массив случайными числами forumu Общие вопросы Delphi 13 03.12.2007 22:11
Заполнить одномерный целочисленный массив размерности n числами, введёнными с клавиатуры AHTOXA Помощь студентам 4 06.06.2007 19:24