Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 682

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Помогите с решением задачки завтра нужно сдавать!Очень надеюсь на вашу помощь. У меня вопрос в том почему неполучается зарандомить змейку.Преподаватель сказал что нужно обязательно через рандом и что бы на экран выводилась сразу змейка заполненая случайными числами от
-2 до 2 .Паскаль

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. program matrix;
  2. uses crt;
  3. const n=8;
  4. var a:array[1..n,1..n] of real;
  5. sum,max,min:real;
  6. i,j:integer;
  7. Begin
  8. clrscr;
  9. randomize;
  10. for i:=1 to n do
  11. begin
  12. for j:=1 to n do
  13. begin
  14. a[i,j]:= -2+random(4)+random;
  15. if i mod 2=1 then a[i,j]:=(i-1)*n+j
  16. else a[i,j]:=i*n-j+1;
  17. write(a[i,j]:7:2);
  18. end;
  19. writeln;
  20. end;
  21. end.


SHEV Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SHEV (статус: Посетитель)
Вопрос отправлен: 19 октября 2011, 16:37
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Стоило отформатировать код и глянуть на него, всё сразу стало понятно.

program matrix;
 
uses
  crt;
 
const
  n = 8;
 
var
  a: array[1..n, 1..n] of real;
  sum, max, min: real;
  i, j: integer;
 
begin
  clrscr;
  randomize;
 
  for i:= 1 to n do
    begin
      for j:= 1 to n do
        begin
          { диапазон значений: -2.0 <= a[i, j] < 2.0
            Хотя не проще ли так?
            a[i, j]:= 2 * (Random - Random); }
          a[i, j]:= -2 + random(4) + random;
 
          { а вот тут у тебя полученной рандомное значение a[i, j]
            затирается новым значением В ЛЮБОМ СЛУЧАЕ. }
          if i mod 2 = 1
            then a[i, j]:= (i - 1) * n + j
            else a[i, j]:= i * n - j + 1;
 
          write(a[i, j]: 7: 2);
        end;
 
      writeln;
    end;
end.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 19 октября 2011, 17:04
Оценка за ответ: 4

Комментарий к оценке: Так что же нужно сделать что бы оно не затиралось?

Мини-форум вопроса

Всего сообщений: 21; последнее сообщение — 21 октября 2011, 11:51; участников в обсуждении: 3.

Страницы: [« Предыдущая] [1] [2]

min@y™

min@y™ (статус: Доктор наук), 21 октября 2011, 11:51 [#21]:

Цитата (SHEV):

до змейки уже забита матрица рандомом просто предод говорит что это через жо.. , сделай проще говорит

БляхаМуха! Да что такое "ЗМЕЙКА"-то???!!!111
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 апреля 2026, 02:59
Выполнено за 0.03 сек.