Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 20.05.2015, 00:05   #1 (permalink)
mariicka
Новичок
 
Регистрация: 19.05.2015
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача на числа

Помогите пожалуйста с задачей. Вот что у меня вышло, но тут что то не
сходится.
Program 286;
Var a,c: Array[1..99] Of Integer;
q,i,max :Integer;
Begin
Randomize;
q:=99;
For i:=1 To q Do
a[i]:=1+Random(100);
For i:=1 To q Do
Writeln(a[i],' ');
max:=a[1];
For i:=2 To q Do
If a[i]>max Then max:=a[i];
Writeln('max=',max);
Readln;
Writeln(c[i],' ');
FOR i:=2 to q do
if a[i]<> max then
Writeln( a[i], ' ');
End.
Миниатюры
6q2cpvxjhcm.jpg  
mariicka вне форума   Ответить с цитированием

Старый 20.05.2015, 00:05
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка вам будет полезна информация которая содержится в данных обсуждениях

Числа Фибоначчи в Паскале
Даны целые числа K и L
Числа в Excel
В двоичном представлении числа инвертировать две последние цифры числа
Счастливые числа

Старый 20.05.2015, 00:54   #2 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Код:
program a;

const A_SIZE=99;

Var src,dst: Array[1..A_SIZE] Of Integer;
i,j,max :Integer;

begin
Randomize;
{* Заполняем массив *}
For i:=1 To A_SIZE Do  src[i]:=1+Random(100);
{* выводим массив *}
For i:=1 To A_SIZE Do  Write(src[i],' ');
Writeln;
max:=0;
{* ищем максимальный элемент *}
For i:=1 To A_SIZE Do
  If src[i]>max Then  max:=src[i];

Writeln('max=',max);
Readln;
j:=1; {* счетчик для массива dst *}
FOR i:=1 to A_SIZE do
    if src[i]<> max then
      begin
      dst[j]:=src[i];
      j:=j+1;
      end;

{* выводим массив результата*}
FOR i:=1 to j-1 do
  Write( dst[i], ' ');
Writeln;
Readln;
end.
MagentaTiger вне форума   Ответить с цитированием
Старый 20.05.2015, 10:28   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от mariicka Посмотреть сообщение
Помогите пожалуйста с задачей. Вот что у меня вышло, но тут что то не сходится.
Можно и так, как предлагает MagentaTiger, но я просто несколько "причесал" Вашу программу, исправив несколько моментов:
1. Writeln(a[i],' '); Ну зачем же выводить числа с переводом строки?! Начало массива неизбежно уходит далеко за верхний край экрана. Да и пробел в этом случае абсолютно бессмыслен. Кроме того, аккуратнее выглядит, если использовать форматный вывод.
2. Массив c[i] вообще не сформирован! Что толку его выводить?
Код:
Program QP286;
Var
 a,c: Array[1..99] Of Integer;
 q,p,i,max :Integer;
Begin
 Randomize;
 q:=99;
 For i:=1 To q Do
  a[i]:=1+Random(100);
 For i:=1 To q Do
  Write(a[i]:4);
 Writeln;
 Writeln;
 max:=a[1];
 For i:=2 To q Do
  If a[i]>max Then max:=a[i];
 Writeln('max = ',max);
 Writeln;
 p:=0;
 FOR i:=1 to q do
  if a[i]<max then
   begin
    p:=p+1;
    c[p]:=a[i];
   end;
 For i:=1 to p do
  Write(c[i]:4);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
паскаль, помощь студентам;

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:40.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.