• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

За лето всё забыл. Помогите в решении 2х несложных задач.

Викто_р

Новые
Регистрация
12 Сен 2010
Сообщения
13
Реакции
0
Баллы
0
За лето всё забыл. Помогите в решении 2х несложных задач.

1) Задать массив из 10 элементов с помощью счётчика случайных чисел(random), и поменять знак всем не чётным элементам массива на противоположный. Вывести исходный и конечный. (В две строки)

2) Задать массив из 10 элементов с помощью счётчика случайных чисел(random). Все элементы массива которые больше 55 заменить на max.
Вывести исходный и конечный. (В две строки)

Голова кругом...
 
Во-первых, что голова крУгом - это видно: Вы даже язык не указали, а во-вторых - приводИте голову в порядок: лето кончилось. И здесь как нельзя кстати будет САМОСТОЯТЕЛЬНОЕ решение этих даже не детсадовских - ясельных задачек.
P.S. В САМОМ КРАЙНЕМ случае - выкладывайте свои наработки, поможем, поправим.
 
Язык Pascal. Ну если для вас это ясельные задачки то я вам очень сильно завидую...
Надеялся на помощь. Сейчас попробую напишу что-нибудь.
 
ух....вспомнить молодость....уже лет 7 не видел паскаля

1. ну...заполняешь массив и сразу проверяешь на четность (после рандомного заполнения - ну если надо вывести оба - то меняешь в новом массиве уже)

а потом выводишь оба массива

2. Не понял что значит на макс? на слово? или максимальный элемент
точно так же
 
Ну вот как заполнить массив и на чётность проверить я знаю.

(после рандомного заполнения - ну если надо вывести оба - то меняешь в новом массиве уже)

А вот с этим косяк.
 
Ну ладно, Виктор, ну нарисую я Вам прогу - а толку? Вы же ее тупо скопипастите и сдадите. Честное слово, душа не лежит к такой "помощи". Ну пожалуйста:
Код:
VAR
 A,B:ARRAY[1..10] of INTEGER;
 i:INTEGER;
BEGIN
 RANDOMIZE;
 For i:=1 to 10 do
  begin
   A[i]:=Random(100);
   if (A[i]>0) and ((A[i] mod 2)=1) then
   B[i]:=-A[i] else
   B[i]:=A[i];
  end;
 For i:=1 to 10 do Write(A[i]:4);
 WriteLn;
 For i:=1 to 10 do Write(B[i]:4);
 WriteLn;
 ReadLn;
END.
 
Владимир спасибо вам. В коде я понял всё кроме этого -
For i:=1 to 10 do Write(A:4);
WriteLn;
For i:=1 to 10 do Write(B:4);

Зачем ":4" ?
 
Что бы не слитно вывелись значения.
 
Викто__р

Ради бэгэ, загрузите среду Pascal, нажмите F1 и найдите в списке команду Write. Прочитайте всё, что о ней написано - это вам поможет гораздо больше, чем все эпизодические ответы.
 
Хочу обратиться с помощью ещё разок)
Не могли бы вы помочь с решением ещё одной простой для вас задачи?
Уже час бьюсь не могу понять.
Если можно пожалуйста сразу код. Если напишите то я буду благодарен!
а то и с подсказками я думаю не справлюсь)
Вот скоро к репетитору, и тогда возьмусь за голову)
==============================
Найти сумму чисел, которые не превышают число 5.
Суммирование проводить до тех пор, пока не введется число 0.
==============================
Вот я не понимаю это обычный массив или двух мерный?
как я понял числа по-любому нужно вводить с клавиатуры не ран домом.
Не больше 5, можно вводить и отрицательный числа. (значит real)
Я вот не понимаю как можно вводить числа они будут складываться, да?
а потом неожиданно ввести ноль, программа завершится и выдаст ответ))
 
Массив в задании не озвучен, потому решение примерно такое:
Код:
var InExpr, Sum: Real;
begin
Sum:=0;
repeat
WriteLn('Input expression');
ReadLn(InExpr);
If InExpr<=5 then Sum:=Sum+InExpr;
until InExpr=0;
WriteLn('Sum=',Sum);
ReadLn;
end.
Проверьте у себя и отпишитесь.
 
Ошибка: процедура INC с параметрами указанных типа не найдена!

Вот в этой строчке
If InExpr<=5 then inc(Sum, InExpr)(!)
 
Я вместо Inc написал Write и всё заработало, но вот не ссумирует когда ввожу!
 
напишите вместо inc(Sum, InExpr) обычный оператор суммирования Sum:=Sum+InExpr.
 
О да точно я его только сейчас то IF вводил не получалось))
Спасибо вы меня очень выручили!
 
А зачем тут вообще массив? Если речь идет о суммировании вводимых чисел, не превышающих 5, то:
Код:
VAR
 A,SUM:REAL;
BEGIN
 Sum:=0;
 Repeat
  Write('Enter the next number ');
  ReadLn(A);
  If A<=5 then
   Sum:=Sum+A;
 Until A=0;
 WriteLn('Sum= ',Sum);
 ReadLn;
END.
 
Ага, опоздал. Но программы удивительно схожи почему-то :D:D:D.
 
Ага, сам удивляюсь :))
 
Назад
Сверху