Часовой пояс: UTC + 3 часа




Куратор(ы):   Lord_of_Darkness   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 23 из 50<  1 ... 20  21  22  23  24  25  26 ... 50  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Убедительная просьба ко всем, кто выкладывает исходники:
1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы

Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!

Прежде чем задать вопрос, воспользуйтесь учебником


Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь

Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36



Партнер
 

Помогите кто-нибудь!
Мне нужно решить задачу в Pascal, а я вообще не разбираюсь.

Текст:
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в нем четные числа в порядке возрастания их индексов, а затем все нечетные числа в порядке убывания их индексов.

зачем слошными прописными буквами? правила форума читать надо.
Отредактировано куратором: Lord_of_Darkness. Дата: 08.11.2006 18:49


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
SK8
Код:
uses crt;
const
  N = 30;
var
  i: integer;
  A: array [1..N] of integer;
begin
  clrscr;
  randomize;
  writeln('Source array:');
  for i:=1 to N do
  begin
    A[i]:=random(100);
    write(A[i],' ');
  end;

  writeln;
  writeln('Even numbers :');
  for i:=1 to N do
    if (A[i] mod 2) = 0 then
       write(A[i],' ');

  writeln;
  writeln('Odd numbers :');
  for i:=N downto 1 do
    if (A[i] mod 2) <> 0 then
       write(A[i],' ');

  readln;
end.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Спасибо!
Но вот только она выводит числа не в порядке возрастания и убывания.
Как мне сделать?


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
SK8 писал(а):
Но вот только она выводит числа не в порядке возрастания и убывания.


а теперь покажи мне, где в задании сказано, что должны выводится числа в порядке убывания или возрастания. Я все сделал четко по заданию.

SK8 писал(а):
в порядке возрастания их индексов

так и выводится. Индекс = порядковый номер элемента массива.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Теперь понятно. Я то не знал, что индекс это не само число.
Ещё раз спасибо.


 

Дан массив а размерности NxN, каждый элемент которого равен 0, 1, 5 или 11. Подсчитать в нем количество четверок a[i,j], a[i+1, j], a[i, j+1], a[i+1, j +1] в каждой из которых все элементы различны.

Lord_of_Darkness помоги плиз оформить эту задачку. :(


 

Member
Статус: Не в сети
Регистрация: 30.01.2006
Откуда: Минск
Luga, вот.
Код:
const NeedSum=17;
var n,i,j:integer;
a:array[1..100,1..100] of integer;
CheckSum,s:integer;
begin
  randomize;
  write('n=');
  readln(n);
  for i:=1  to n do
  begin
    for j:=1 to n do
    begin
      a[i,j]:=random(4);
      if a[i,j]=2 then a[i,j]:=5;
      if a[i,j]=3 then a[i,j]:=11;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  s:=0;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
    begin
      CheckSum:=a[i,j]+a[i+1,j]+a[i,j+1]+a[i+1,j+1];
      if CheckSum=NeedSum then s:=s+1;
    end;
  writeln('Total number ',s);
end.


 

спасиб :roll: стыдно блин.


 

Member
Статус: Не в сети
Регистрация: 24.02.2006
Откуда: Краснодар
Опрелелить, является ли число счастливым(сумма первой половины цифр числа равна второй). Пример: 261342 -счастливое.
Помогите найти ошибку, все время указывает на do, пишет Error 39.
Код:
program one;                                                                 
 var
     S,S1,i:integer;                                                         
     n:string;                                                               
     k,k1:integer;                                                           
     c,c1:byte;                                                               

 begin   
                                                                   
   S:=0; S1:=0;
                                                               
 writeln('vvedite chislo, n=');                                               
 readln(n);                                                                   
                                                                             
 for i:=1 to length(n)/2 do begin val(N,k,c);  S:=S+k  end;                   
 for i:=length(n)/2+1 to length(n) do begin val(N,k1,c1); S1:=S1+k1  end;     
                                                                             
  if S=S1 then writeln(N,'-schastlivoe') else writeln(N,'-ne schastlivoe');   
                                                                             
  readln;                                                                     
  end.

_________________
!"№;%:?*()_+


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
zholf используй div (а еще лучше _число_ shr 1), иначе у тебя получается дробное число, а это недопустимо.
ЗЫ кстати тут уже была парочка решений такой задачи, но не через string, а используя обычный integer (в этом то и суть задания), так что юзай поиск.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 24.02.2006
Откуда: Краснодар
Lord_of_Darkness спасибо. ступил с div-ом

_________________
!"№;%:?*()_+


 

Member
Статус: Не в сети
Регистрация: 15.04.2006
А как копировать из буфера в окно программы?
Копирую текст из документа, а там он не вставляется.


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Igor (Lipa Sity) никак.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 24.07.2006
-----


Последний раз редактировалось E1dar 12.03.2010 3:08, всего редактировалось 1 раз.

 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
E1dar
№1
метод "решето Эратосфена"
Код:
const
  ArrayLength = 10000;

var
  SimpleNums: array [1..ArrayLength] of longword;
  N, k, i, j: longword;
  flag: boolean;

begin
  write('N = ');
  readln(N);
  writeln('Simple numbers:');
  write('2 ');
  SimpleNums[1]:=2;
  k:=1;
  for i:=3 to N do
  begin
    flag:=true;
    for j:=1 to k do
      if (i mod SimpleNums[j]) = 0 then
      begin
        flag:=false;
        break;
      end;

      if flag then
      begin
        inc(k);
        SimpleNums[k]:=i;
        write(i,' ');
      end;
  end;
  readln;
end.


№2

Код:
var
  a, b, i: integer;
  hsum, ArMean: real;

begin
  ArMean:=0;
  for i:=1 to 50 do
  begin
    if i=3 then
    begin
      hsum:=(a+b)/2;
      b:=0;
    end;
    write('Number',i,'= ');
    if i=2 then
      read(b)
    else
      read(a);
    if (a>hsum) and (i>2) then
    begin
      ArMean:=ArMean+a;
      inc(b);
    end;
  end;
  ArMean:=ArMean/b;
  writeln('arithmetical mean is ',ArMean:8:3);
  readln;
end.


№4
Код:
var
  Marks: array [1..1000] of integer;
  k, i, max, min, mxind, mnind: integer;
  index: byte;
  resm: real;

begin
  k:=0;
  repeat
    writeln('1. Add mark');
    writeln('2. Calculate');
    writeln('3. Exit');
    readln(index);
    if index = 1 then
    begin
      inc(k);
      write('Mark = ');
      readln(Marks[k]);
    end;
    if (index = 2) and (k<3) then
    begin
      writeln('Error. Count of marks < 3');
      index:=3;
    end;
  until index>=2;

  if index = 2 then
  begin
    max:=Marks[1];
    mxind:=1;
    min:=Marks[1];
    mnind:=1;
    resm:=Marks[1];
    for i:=2 to k do
    begin
      if Marks[i]>max then
      begin
        max:=Marks[i];
        mxind:=i;
      end
      else if Marks[i]<min then
      begin
        min:=Marks[i];
        mnind:=i;
      end;
      resm:=resm+Marks[i];
    end;

    resm:=(resm-Marks[mnind]-Marks[mxind])/(k-2);

    write('Result mark = ',resm:8:3);
    readln;
  end;

end.


E1dar писал(а):
3. Вводится последовательность чисел, оканчивается нулем. Найти номер наибольшего числа в последовательности; два наименъших числа последовательности.

поясни каким образом вводится. Вводить по разному можно, сплошной строкой или с разделителями или через enter?

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 08.12.2005
Откуда: Питер!
всем привет! :)
снова нужен хелп по задачкам:
1) Ввести число. Вывести строку, представляющую собой запись этого числа в шестнадцатеричной системе счисления.
2) построить квадратную матрицу D (m x m) :

D=
Код:
     |1.0   0.9   0.8  ...  0.1|
     |0.9   0.9   0.8  ...  0.1|
     |0.8   0.8   0.8  ...  0.1|
     |...   ...   ...  ...  0.1|
     |0.1   0.1   0.1  ...  0.1|


3) Составить программу для ввода квадратной матрицы A (n x n). Вычислить и вывести на экран монитора величины S1, S2 суммы элементов(следы), соответственно, двух главных диагоналей матрицы A.

Заранее :beer: и просьба без всяких наворотов, а то мне потом и самому не разобраться и преподу не рассказать :grob: :beer::oops:


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
MW!
1.
Код:
uses crt;

const
  hDig: array [0..15] of char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

var
  Num: longword;
  s: string;
  i: word;
begin
  clrscr;
  write('Number = ');
  readln(Num);
  s:='';
  while Num>0 do
  begin
    s:=s+hDig[Num and $F];
    Num:=Num shr 4;
  end;

  write('Hex number = ');
  for i:=Length(s) downto 1 do
    write(s[i]);

  readln;
end.


дальше лениво такой элементарщиной заниматься. Кстати, что-то подобное заданию №3 я уже тут выкладывал, поищи.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Последний раз редактировалось Lord_of_Darkness 13.12.2006 19:20, всего редактировалось 2 раз(а).

 

Member
Статус: Не в сети
Регистрация: 08.12.2005
Откуда: Питер!
Lord_of_Darkness
спасибо!
может всёже вторую подскажешь :)))


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
MW! писал(а):
может всёже вторую подскажешь

неужели все действительно так плохо?

Код:
uses crt;

const
   m = 10;

var
  i, j: integer;
  D: array [1..m,1..m] of real;

begin
  clrscr;
  for i:=1 to m do
  begin
    D[i,1]:=0.1*(11-i);
    for j:=2 to m do
      if j>i then D[i,j]:=D[i,j-1]-0.1
      else D[i,j]:=D[i,j-1];
  end;

  for i:=1 to m do
  begin
    for j:=1 to m do
      write(D[i,j]:2:1,' ');
    writeln; 
  end;

  readln;
end.


MW! писал(а):
двух главных диагоналей матрицы A

это чтож за надругательство над теорией матриц?
"Главной диагональю квадратной матрицы называется диагональ, идущая от ее верхнего левого угла к нижнему правому углу."
как их может быть несколько? Может главной и побочной?

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 08.12.2005
Откуда: Питер!
Lord_of_Darkness
в книжке так написано :) может опечатка! я уточню у препода :) а то реально бред - две главных диагонали :) :) :) :D


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 23 из 50<  1 ... 20  21  22  23  24  25  26 ... 50  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan