Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2011, 02:31   #11
xyz-xyz
Новичок
Джуниор
 
Регистрация: 11.11.2011
Сообщений: 2
По умолчанию

@TinMan: две задачи правильно из четырёх это неплохо;-)

@nadya88: Надежда, у Вас же экзамен - чем Вам поможет готовая контрольная?
xyz-xyz вне форума Ответить с цитированием
Старый 11.11.2011, 06:12   #12
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от xyz-xyz Посмотреть сообщение
@TinMan: две задачи правильно из четырёх это неплохо;-)
Спасибо, xyz-xyz. Сейчас подправлю.
2.
Код:
  for i:=1 to n do
    if a[i]=0 then b[i]:= 1 else b[i]:= round(exp(ln(abs(a[i])+0.5)/ln(10)))+1;
3.
Код:
  j:=0;
  for i:=1 to n do
    if (a[i]=6)or(a[i]=28)or(a[i]=496)or(a[i]=8128) then dec(n) else begin
      inc(j);
      if i<>j then a[j]:= a[i]
    end;
Когда пишешь прогу - отладка все выявит..
Когда пишешь сразу в ответ - вся надежда на xyz-xyz!
+1 ))
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 22.11.2011, 08:43   #13
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

помогите, пожалуйста кто нибудь
nadya88 вне форума Ответить с цитированием
Старый 22.11.2011, 09:10   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
round(ln(abs(a[i])+0.5)/ln(10))+1
...
Код:
round(exp(ln(abs(a[i])+0.5)/ln(10)))+1
или я чего-то не понимаю, или одно из двух...
для того, чтобы найти количество цифр в числе ни первая, ни тем более вторая формулы НЕ ГОДЯТСЯ!

тогда уже
Код:
  trunc(Ln(abs(x)+0.5)/ln(10))+1
или я бы предложил воспользоваться ЛЮБОЙ из нижеприведённых функций:
Код:
{определить число разрядов числа}

function Lg(x: double): double;
 begin
   Lg := ln(x) / ln(10);
 end;

function GetNumLenByLogarithm(N : longint): integer;
begin
  if N<0 then GetNumLenByLogarithm := -1
  else
     if N=0 then GetNumLenByLogarithm := 1
     else GetNumLenByLogarithm := trunc(Lg(n))+1;
end;

function GetNumLenByString(N : longint): integer;
var S : string;
begin
  Str(N:1, s);
  GetNumLenByString := Length(s);
end;


function GetNumLenByDiv(N : longint): integer;
var K : integer;
begin
  if N<0 then GetNumLenByDiv := -1
  else begin
    K := 1;
    while N>9 do begin
      inc(K);
      N := N div 10;
    end;
    GetNumLenByDiv := K;
  end;
end;

Цитата:
Сообщение от nadya88
помогите, пожалуйста кто нибудь
nadya88, а чем помочь то?! Вам же уже всё сделали!
Решения есть. Начало программы у Вас тоже есть. скомбинируйте одно с другим - получите ПОЛНЫЙ код.
неужели всё плохо настолько, что Вы даже не понимаете, какая строчка кода ДЛЯ ЧЕГО предназначена и ЧТО именно делает ?!

Последний раз редактировалось Serge_Bliznykov; 22.11.2011 в 09:12.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.11.2011, 11:38   #15
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

задача 2
вроде так не проверял)

Код:
const
  m= 100;

var
  b,a: array[1..m] of integer;
  i,n: byte;
  

begin
//воод размерности масива
  write('enter total number of elements: ');
  readln(n);
//ввод элементов масива
  for i:=1 to n do begin //цикл от 1 до n, i увеличеваеться на 1
    write('a[',i,'] = '); //вывод сообщения
    readln(a[i]); //ввод элемента массива с номером i
  end;
//обрабодка данная TimMan
for i:=1 to n do
    if a[i]=0 then b[i]:= 1 else b[i]:= round(ln(abs(a[i])+0.5)/ln(10))+1;
//вывод данных
for i:=1 to n do 
  write(' ',b[i]);
  readln;
end.
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 05.12.2011, 12:53   #16
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

помогите, пожалуйста кто нибудь
nadya88 вне форума Ответить с цитированием
Старый 05.12.2011, 12:57   #17
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

ой сорри, на нервной почве только одно пишется))))
nadya88 вне форума Ответить с цитированием
Старый 05.12.2011, 12:59   #18
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

xyz-xyz мне допуск к тестированию нужен.Надо контрольную сделать.
nadya88 вне форума Ответить с цитированием
Старый 05.12.2011, 13:03   #19
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

Serge_Bliznykov
Да Сергей всё именно так плохо, я бы даже сказала ужасно.Не понимаю зачем экономисту знать паскаль((((
Вот если не трудно,можно скомбинировать и выставить готовый вариант. Вам не сложно, а я буду мозг ломать над этим. Пожалуйста
nadya88 вне форума Ответить с цитированием
Старый 05.12.2011, 13:03   #20
nadya88
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 12
По умолчанию

спасибо большое)))
nadya88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на векторы и матрицы макс 2109 Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 11:25
Векторы в ассемблере unlike777 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 26.01.2011 18:41
векторы и файлы boomeer Общие вопросы C/C++ 2 05.08.2010 19:15
Векторы, подпрограммы anatoliy_julia Помощь студентам 2 15.09.2009 16:02
Векторы в С++ Many man Помощь студентам 5 26.04.2009 12:35