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

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

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

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

Цикл

Serjant0007

Новые
Регистрация
21 Июн 2010
Сообщения
31
Реакции
0
Баллы
0
Цикл

1. Два двузначных числа записанных одно за другим образуют четырехзначное число которое делится на их произведение. Найти эти числа. (Вообще что то не въезжаю в нее)
2. Ввести с клавиатуры 10 чисел положительные и отрицательные. Заменить все отрицательные числа их модулями и напечатать все полученные 10 чисел. (Тут сидел вспоминал вспоминал как ограничить ввод именно только 10 чисел и условие при котором будут заменяться, потом вывод их на экран ВСЕ так и не вспомнил).
3. Написать программу которая по заданным значениям чисел a и b находит a^b. В запросе укажите допустимые значения этих переменных т.е. если а дробное то b не может быть отрицательным. (ну первая часть это легко но почему то выдает ошибку над условием где я узнаю сколько будет a^b и пишет Invalid....., а вот условие как можно узнать первое число дробное или нет)

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
 
Сейчас выхожу из OnLine, вечером вернусь, посмотрю.
 
№2 пробывал делать думал так: While i<=10 do Writeln('vvedi 10 chisel'); Readln(n); If n<0 then n:=abs(n); Writeln(n); но что то не того
или вот еще
var
a:array [1..10] of integer;
i:integer;
begin
for i:=1 to 10 do
readln(abs(a[ i ]));
for i:=1 to 10 do
writeln(a[ i ]);
end;
Ну и последний вариант
uses crt;
var a:arrya[1..10] of integer;
i:integer;
begin
clrscr;
writeln('Vvodite chisla');
for i:=1 to 10 do
readln(a);
for i:=1 to 10 do
begin
if a<0 then a:=a*(-1);
writeln(a);
end;
readkye;
end.
 
Последнее редактирование:
Код:
uses crt;
const n=10;
var
a:array [1..n] of real;
i:integer;
begin
for i:=1 to n do
read (a[i]);
for i:=1 to n do begin
if a[i]<0 then a[i]:=-a[i];
end;
for i:=1 to n do
writeln (a[i]);
readln
end.


по-моему можно вот так.
 
Решение 3 задачи:
Код:
uses crt;
var
a,s:real;
b:integer;
begin
writeln ('Введите основание');
read (a);
writeln ('Введите степень');
read (b);
if (a < 0) then s:= (-1)*Exp(b*Ln(Abs(a))) else
if (a > 0) then s:= Exp(b*Ln(Abs(a)));
writeln (a,'в степени',b,'равно',s);
readln
end.

мне кажется решение верное, если нет поправьте.
 
Последнее редактирование:
Ну а мне вы любезно оставили первую задачку? Ладно, пожалуйста:
Код:
VAR
 i,j:Integer;
BEGIN
 For i:=10 to 99 do
  For j:=10 to 99 do
   If (((i div 10)*1000+(i mod 10)*100+j) mod (i*j))=0 then
    WriteLn('The sought numbers are ',i,' and ',j);
 WriteLn('That is all!');
 ReadLn;
END.
 
мне кажется решение верное, если нет поправьте.
К сожалению, неверное. Ведь согласитесь, (-3)² не есть -9, а всё-таки +9. У меня получилось так:
Код:
VAR
 a,b,c:REAL;
 b1,i:Integer;
BEGIN
 Write('Base = ');
 ReadLn(a);
 If a>0 then
 begin
  Write('Power = ');
  ReadLn(b);
  c:=Exp(b*Ln(a));
 end else
 If a<0 then
 begin
  Write('Power (positive or negative integer value only!)= ');
  ReadLn(b1);
  If b1>0 then
   begin
    c:=1;
    For i:=1 to b1 do
     c:=c*a;
   end else
  If b1<0 then
   begin
    c:=1;
    For i:=1 to -b1 do
     c:=c*a;
    c:=1/c;
   end;
 end else
 begin
  Write('Power (negative and zero values are forbidden!)= ');
  ReadLn(b);
  c:=0;
 end;
 WriteLn('c= ',c);
 ReadLn;
END.
 
по-моему можно вот так.
Можно, и, в принципе, всё правильно. Только позволю себе чуть-чуть подправить.
1. Поскольку в условии тип вводимых чисел не оговорен, считаю, что можно обойтись знаковым целым - так удобнее.
2. Если команды модуля CRT не используются, так не надо его (модуль) и присоединять.
3. При вводе желательны подсказки.
Код:
const n=10;
var
 a:array [1..n] of integer;
 i:integer;
begin
 for i:=1 to n do
  begin
   write('a[',i:2,']= ');
   readln(a[i]);
  end;
 writeln;
 for i:=1 to n do
  write(a[i]:7);
 writeln;
 for i:=1 to n do 
  if a[i]<0 then a[i]:=-a[i];
 for i:=1 to n do
  write(a[i]:7);
 readln
end.
 
Просто огромное человеческое СПАСИБО!!! Очень порадовало что помогли с первой задачей я в нее вообще не въезжал что ды как. Вы просто молодцы еще раз спасибо)))
 
Назад
Сверху