IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

3 страниц V < 1 2 3  
 Ответить  Открыть новую тему 
> Задача с массивом..., Определить эл-ты делящиеся на 4...
сообщение
Сообщение #41


Гость






Лита
Я по-другому не пишу... (и Вам не советую) angry.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #42


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 13.12.04 13:38)
ghost
А для чего в программе пишется:
Код
const n=20;

для красоты? По-моему, не только. Меняем на пюбое другое - и программа работает...

Нет, я имел в виду, чтобы прога спрашивала у юзера, сколько эл-ов он хочет обработать и, соответсвенно, обрабатывала это кол-во.

Сообщение отредактировано: ghost -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #43


Гость






ghost
Тогда измени самое начало программы вот так:

Uses crt;
const maxN=200; { можно и больше }
Var        b,c:array [1..maxN] of integer;
 min,max,i,j:integer;
 next: LongInt;
 Again, ToDo: Boolean;

Var n: Integer;
begin
 repeat
   write('n = '); readln(n)
 until (n >= 2) and (n <= maxN);
 clrscr;
 ... { далее - без изменений }
end.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #44


Гость






Есть как минимум два способа, чтобы
Цитата
чтобы прога спрашивала у юзера, сколько эл-ов он хочет обработать и, соответсвенно, обрабатывала это кол-во

1. Меняешь:
Код

const maxn=1000;
Var        b,c:array [1..maxn] of integer;
 min,max,i,j,n:integer;
 next: LongInt;
 Again, ToDo: Boolean;

Затем до
Код

While Again Do
Begin
clrscr;
...

пишешь:
Код

WriteLn('Cколько эл-ов вы хотите обработать?');
ReadLn(n);

2. Динамическое программирование. Про него можно почитать в ФАК`е.

Сообщение отредактировано: mithquessir -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #45


Гость






mithquessir
:nono: Неверно... Не нужно вводить количество элементов в цикле (смысл какой?), это нужно делать в самом начале работы программы... Не вводи народ в заблуждение...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #46


Гость






Упс. blink.gif
Опечатка
Исправил

Сообщение отредактировано: mithquessir -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #47


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Big thx smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #48


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Спасите меня с блок схемой плз, никак не получается

Uses crt;
const maxn=200;
Var        b,c:array [1..maxn] of integer;
 min,max,i,j,error:integer;
 next: LongInt;
 Again, ToDo: Boolean;
Var n: Integer;
label e1;
begin
 clrscr;
   gotoxy  (12,10);
  writeln ('Данная программа задаёт массив А, выбирает из него числа');
   gotoxy  (15,11);
  writeln ('кратные 4 и создаёт из этих чисел новый массив С. ');
   gotoxy  (19,13);
  writeln ('Элементами вашего массива должны быть');
   gotoxy  (20,14);
  writeln ('целые числа от -32768 до 32767.');
   gotoxy  (12,16);
  writeln ('текст');
   gotoxy  (27,17);
  writeln ('текст');
   gotoxy  (18,19);
  writeln ('Нажмите любую клавишу для продолжения');
   readkey;

e1:
Again := True;
clrscr;
repeat
  write('Сколько эл-ов вы хотите обработать? (Кол-во эл-ов от 2 до 200!!!)');
  {$I-}
  readln(n);
  error:=ioresult;{$I+}
  IF (n<2) or (n>maxn) OR (ERROR<>0)
  then  writeln ('Ошибка! Кол-во эл-ов от 2 до 200!');
until (n >= 2) and (n <= maxN) AND (ERROR=0);
 clrscr;
While Again Do
Begin
 clrscr;
  writeln ('Вводите целые числа в диапозоне от -32768 до 32767');
  writeln ('Массив А');
Begin
For i:=1 to n do
  Repeat
    {$I-} readln(next); {$I+}
    ToDo := False;
    If (next < -32768) or (next > 32767) Then
      Writeln('Введённое вами число вне диапозона (-32768 .. 32767). Повторите ввод!')
    Else If IOResult <> 0 Then
             Writeln('Введён неверный формат. Повторите ввод!')
           Else
             Begin
               b[i] := next; ToDo := True
             End;
  Until ToDo;

clrscr;
  writeln ('Массив А');
For i:=1 to n do
  write(b[i]:5);
  writeln;
End;

   gotoxy (1,5);
  writeln ('Массив C');
    j:=0;
For i:=1 to n do
begin
If b[i] mod 4=0 then
begin
inc(j);
 c[j]:=b[i];
  If j=1 then
      begin
      max:=c[j];
      min:=c[j];
      end
      else
      begin
      If c[j]<min then min:=c[j];
      If c[j]>max then max:=c[j];
      end;
end;
end;
writeln;
If j>0 then
begin
For i:=1 to j do
 write(c[i]:5);
 writeln;
 writeln('Всего элементов ',j);
 writeln('max=',max,' min=',min);
end
else
 writeln('Нет элементов кратных 4');

  writeln('Вы хотите сделать ещё один массив? y/n');
  case UpCase(readkey) of
  #89:goto e1;
  #121:goto e1;
  #78: exit;
  #110: exit;
  end;
End; { While Again }
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

3 страниц V < 1 2 3
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 23:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name