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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2008, 22:38   #1
aRRiva
 
Аватар для aRRiva
 
Регистрация: 26.10.2008
Сообщений: 5
По умолчанию Delphi_Массивы

Помогите пожалуйста решить задачки в delphi)
Задача 1.Преобразовать одномерный массив, расположив числа массива в обратной последовательности.


Задача 2.Преобразовать одномерный массив. Найти сумму отрицательных и произведение положительных чисел массива. Ни фига не понятно!
aRRiva вне форума Ответить с цитированием
Старый 30.10.2008, 22:56   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ну если это непонятно, завязывай с учебой.
puporev вне форума Ответить с цитированием
Старый 31.10.2008, 00:02   #3
OLEG'arh
Пользователь
 
Аватар для OLEG'arh
 
Регистрация: 23.11.2006
Сообщений: 42
По умолчанию

1)

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

 var
  a:array[1..10] of integer;
  i,x:integer;
begin
  randomize;
  writeln('Do');
  for i:=1 to 10 do
    begin
      a[i]:=random(10)+1;
      write(a[i],'   ');
    end;
  for i:=1 to 5 do
    begin
      x:=a[i];
      a[i]:=a[11-i];
      a[11-i]:=x;
    end;
  writeln;
  writeln('Posle');
  for i:=1 to 10 do
    write(a[i],'   ');
  readln;
end.
OLEG'arh вне форума Ответить с цитированием
Старый 31.10.2008, 00:08   #4
OLEG'arh
Пользователь
 
Аватар для OLEG'arh
 
Регистрация: 23.11.2006
Сообщений: 42
По умолчанию

2)

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

 var
  a:array[1..10] of integer;
  i,otr,pol:integer;
begin
  randomize;
  for i:=1 to 10 do
    begin
      a[i]:=random(20)-9;
      write(a[i],'   ');
    end;
  for i:=1 to 10 do
    if a[i]<0 then otr:=otr+a[i] else pol:=pol+a[i];
    writeln;
    writeln('otr = ',otr);
    writeln('pol = ',pol);
  readln;
end.

Последний раз редактировалось OLEG'arh; 31.10.2008 в 00:15.
OLEG'arh вне форума Ответить с цитированием
Старый 31.10.2008, 17:59   #5
aRRiva
 
Аватар для aRRiva
 
Регистрация: 26.10.2008
Сообщений: 5
По умолчанию

Спасибо ребят
aRRiva вне форума Ответить с цитированием
Старый 06.11.2008, 22:36   #6
aRRiva
 
Аватар для aRRiva
 
Регистрация: 26.10.2008
Сообщений: 5
По умолчанию

Вот еще задачка.
Преобразовать (двумерный) массив: разделить элементы каждой строки матрицы на последний элемент этой строки.
aRRiva вне форума Ответить с цитированием
Старый 06.11.2008, 23:53   #7
MalexG
Форумчанин
 
Регистрация: 06.11.2008
Сообщений: 100
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

const
  Imax = 5;
  Jmax = 5;

var
  i, j: byte;    
  Matrix: array [0..Imax-1, 0..Jmax] of integer;
  Str: array [0..255] of char;

begin
  randomize;
  CharToOem('Исходный массив:', Str);
  writeln(Str);
  for i := 0 to Imax-1 do
  begin
    for j := 0 to JMax-1 do
    begin
      Matrix[i, j] := random(100) + 1;
      write(Matrix[i, j], '   ');
    end;
    writeln;
  end;
  writeln;
  writeln;
  CharToOem('Массив после преобразования:', Str);
  writeln(Str);
  for i := 0 to Imax-1 do
  begin
    for j := 0 to JMax-1 do
    begin
      Matrix[i, j] := Matrix[i, j] div Matrix[i, JMax-1];
      write(Matrix[i, j], '   ');
    end;
    writeln;
  end;
  writeln;
  readln;
end.
MalexG вне форума Ответить с цитированием
Старый 07.11.2008, 00:07   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

На Pascal():
Код:
Uses Crt;
Const Rx = 5; {Stroki}
      Cx = 6; {Stolbci}
Var Ar :Array[1..Rx, 1..Cx] of Real;
    R,C :Integer;
begin
 ClrScr;
 Randomize;
 Writeln(#13#10, 'Zapolnenie massiva[Row:', Rx, ', Col:', Cx, ']:');
 For R:=1 To Rx Do
 begin
  For C:=1 To Cx Do
  begin
   Ar[R, C] := Random(200);
   Write(' ', Ar[R, C]:3:2);
  end;
  Writeln;
 end;

 Writeln(#13#10, 'Modificaciya massiva:');
 For R:=1 To Rx Do
 begin
  For C:=1 To Cx Do
  begin
   If C<Cx then
    Ar[R, C] := Ar[R, C] / Ar[R, Cx-1];
   Write(' ', Ar[R, C]:3:2);
  end;
  Writeln;
 end;

 Readln;
end.
Alter вне форума Ответить с цитированием
Старый 08.11.2008, 17:59   #9
aRRiva
 
Аватар для aRRiva
 
Регистрация: 26.10.2008
Сообщений: 5
По умолчанию

Спасибо огромное
aRRiva вне форума Ответить с цитированием
Старый 20.11.2008, 22:49   #10
aRRiva
 
Аватар для aRRiva
 
Регистрация: 26.10.2008
Сообщений: 5
По умолчанию

Ребята! Последняя лаба в этом семестре.
Работа с внешними файлами, использование ЗАПИСЕЙ.
Задача:
Вывести список студентов, имеющих все оценки не ниже 35
aRRiva вне форума Ответить с цитированием
Ответ


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