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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 15:38   #1
яч13
 
Регистрация: 17.12.2010
Сообщений: 3
По умолчанию дз по информатике [Паскаль]

1)Сформировать и вывести на экран данный двумерный массив(для заполнения массива использовать формулу),нарисовать блок-схему:
1 3 5 7
3 1 3 5
5 3 1 3
7 5 3 1
2)Дан двумерный массив А размерностью 7х7 элементы массива случайные числа из диапазона (-30,30) из этих элементов нужно сформировать одномерный массив В,в который поместить все четные и положительные элементы,составить блок- схему
3)Составить блок-схему и программу для перехода из одной системы счисления в другую:8 в 16 и 16 в 2
яч13 вне форума Ответить с цитированием
Старый 23.12.2010, 16:14   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Покажи что уже написал/а и мы тебе поможем , если есть проблемы какие !
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 23.12.2010, 16:23   #3
яч13
 
Регистрация: 17.12.2010
Сообщений: 3
По умолчанию

3)program schisleniya;
Код:
uses crt;
var
b2,ss,b,s:string;
os,c,e,ch,p,i,j,n,k:integer;
begin
clrscr;
s:='123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_';{36}
writeln('VVEDITE CHISLO');
read(n);
writeln('VVEDITE SISTEMU SCHISLENIYA');
read(k);
while n>=1 do begin
p:=n mod k;
if p>=10 then b:=copy(s,p,1) else str(p,b);
ss:=b+ss;
n:=n div k;
end;
writeln(ss);
writeln('VVEDITE SISTEMU SHISLENIYA');
readLN(k);
writeln('VVEDITE CHISLO');
readln(sS);
c:=length(ss);
for i:=1 to c do begin
b:=copy(ss,i,1);
for j:=1 to 36 do begin
b2:=copy(s,j,1);
if b=b2 then os:=j;
end;
ch:=k*ch+os;
end;
writeln(ch);
readkey;
end.
2)
Код:
program z2;uses crt;
var i,j,k,n:integer;
a:array[1..7,1..7] of integer;
b:array[1..49] of integer;
begin clrscr;
randomize;
for i:=1 to 7 do begin
for j:=1 to 7 do begin
a[i,j]:=random(61)-30;
write (a[i,j]:3,' ');
end;
writeln;
end;
for i:=1 to 7 do       begin
for j:=1 to 7 do
if a[i,j] mod 5=0 then begin
k:=k+1;
b[k]:=a[i,j];
end;
end;
for i:=1 to k do write(b[i],' ');
readln;
end.

1)
Код:
program massiv;
uses crt;
var i,j:integer;
      a:array[1..4,1..4] of integer;
begin
clrscr;
for i:=1 to 4 do
begin
for j:=1 to 4 do
begin
a[i,j]:=110*(i+j-1);
write(' ',a[i,j]:3);
end;
writeln;
end;
readln;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.12.2010 в 21:12.
яч13 вне форума Ответить с цитированием
Старый 23.12.2010, 20:14   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от яч13 Посмотреть сообщение
....
А почему не написал , что именно не работает . Да и заключай свой код в таги для кода !

Цитата:
1)Сформировать и вывести на экран данный двумерный массив(для заполнения массива использовать формулу),нарисовать блок-схему:
1 3 5 7
3 1 3 5
5 3 1 3
7 5 3 1
Поправленное решение :

Код:
program massiv;
var i,j:integer;
  a:array[1..4,1..4] of integer;
begin

  for i:=1 to 4 do
    begin
      for j:=1 to 4 do
        begin
          a[i,j]:=abs(i-j)*2 +1;
          write(' ',a[i,j]:3);
        end;
      writeln;
    end;
  readln;
end.
Цитата:
2)Дан двумерный массив А размерностью 7х7 элементы массива случайные числа из диапазона (-30,30) из этих элементов нужно сформировать одномерный массив В,в который поместить все четные и положительные элементы,составить блок- схему
Поправленное решение второй задачи , схему сделай сам :

Код:
program z2;
var i,j,k,n:integer;
  a:array[1..7,1..7] of integer;
  b:array[1..49] of integer;
begin 
  randomize;
  
  for i:=1 to 7 do 
    begin
      for j:=1 to 7 do 
        begin
          a[i,j]:=random(61)-30;
          write (a[i,j]:3,' ');
        end;
      writeln;
    end;
    
  k:=0;  
  for i:=1 to 7 do 
    begin
      for j:=1 to 7 do
        if ((a[i,j] mod 2)=0) or (a[i,j] > 0) then 
          begin
            k:=k+1;
            b[k]:=a[i,j];
          end;
    end;
    
  for i:=1 to k do 
    write(b[i],' ');
    
  readln;
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---

Последний раз редактировалось Stilet; 24.12.2010 в 17:11.
andrewpalkin вне форума Ответить с цитированием
Старый 23.12.2010, 22:26   #5
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
3)Составить блок-схему и программу для перехода из одной системы счисления в другую:8 в 16 и 16 в 2
Программа с простым решением третьего задания , я не писал проверку на введенные числа , так что числа нужно вводить в той системе , которой просит . И не делал программы перевода из любой системы в любую . Это программа именно для твоего задания :

Код:
program schisleniya;

procedure writeNum2(num:integer);
begin
  if(num > 1) then
    writeNum2(num div 2);
  write(num mod 2);
end;

procedure writeNum16(num:integer);
begin
  if(num > 15) then
    writeNum16(num div 16);
  if(num mod 16) > 9 then
    write(chr((num mod 16) + 55))
  else
    write(chr((num mod 16) + 48));
end;


var
  ss:string;
  i,j,c:integer;
  num10: integer;
begin
  write('Vvedite chslo v 8-oi systeme (ono butet perevedeno v 16-iu) : ');
  readln(sS);

  c:=length(ss);
  j:=1; num10:=0;
  
  for i:=c downto 1 do
    begin
      num10 := num10 + (Ord(ss[i])-48)*j;
      j:=j*8;
    end; 
  write('Chislo v 16-oi systeme : ');
  writeNum16(num10); 
  
  writeln();
  write('Vvedite chslo v 16-oi systeme (ono butet perevedeno v 2-iu) : ');
  readln(sS);

  c:=length(ss);
  j:=1;num10:=0;
  
  for i:=c downto 1 do
    begin
      if(Ord(ss[i])>64) then
        num10 := num10 + (Ord(ss[i])-55)*j
      else
        num10 := num10 + (Ord(ss[i])-48)*j;
      j:=j*16;
    end; 
  write('Chislo v 2-oi systeme : ');
  writeNum2(num10); 
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 24.12.2010, 08:16   #6
яч13
 
Регистрация: 17.12.2010
Сообщений: 3
По умолчанию

спасибо большое
яч13 вне форума Ответить с цитированием
Старый 24.12.2010, 16:31   #7
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от яч13 Посмотреть сообщение
спасибо большое
Если я тебе помог , то нажми на весы
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по информатике serega77 Помощь студентам 1 02.12.2010 21:30
Сдаю ЕГЭ по информатике, надо выучить паскаль. Nub2010 Помощь студентам 12 21.10.2010 15:32
Задание по информатике. Sudeki Помощь студентам 0 21.11.2009 14:33