Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.05.2010, 13:28
devians devians вне форума
Прохожий
 
Регистрация: 23.05.2010
Сообщения: 5
Репутация: 10
По умолчанию Помощь по массивам

Всем доброго времени суток.
Прошу помочь, кому не трудно, с несколькими задачами.



Заранее спасибо.
Ответить с цитированием
  #2  
Старый 23.05.2010, 15:44
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Реализовать в Delphi можно всё, что можно реализовать на бумаге.
Формулы, расчёты и примеры выложите - и будет вам "прототип". А дальше только дело интерфейса...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 23.05.2010, 16:33
devians devians вне форума
Прохожий
 
Регистрация: 23.05.2010
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
Формулы, расчёты и примеры выложите - и будет вам "прототип".
Примеры чего
Могу выложить текст программы для редактирования, но там задания не много другие.

1) Рассчитать сумму отрицательных элементов массива А(n), если известно, что
n = 5, A = (1.5, -4.6, 10, -1.7, -4.9).

Код:
PROGRAM Ivanov5;
{$APPTYPE CONSOLE}
USES
  	SysUtils;
CONST
n=5; 	// количество элементов массива
TYPE
     	ar=array[1..n] of real;	// объявление типа массива
VAR
     	a:ar;				// исходный массив А
     	s:real;			// сумма отрицательных элементов
     	i:integer;			// счетчик элементов
begin
     	// Ввод исходных данных
     	WriteLn('Type ', n, ' real elements of array:');
     	for i:=1 to n do
        		Read(a[i]);
     	// Выполнение задачи
     	s:=0;				// начальное значение суммы
     	for i:=1 to n do		// цикл перебора элементов массива
        		if a[i]<0 then		// выборка отрицательных элементов
            		s:=s+a[i];	// суммирование
     	// Вывод результата
     	if s=0 then
        		WriteLn('There are NO negative elements')
     	else
        		WriteLn(' S=',s:8:4);
WriteLn('***** Press <ENTER> to finish *****');
  	Readln;			// задержка экрана
  	Readln;
END.

2) Найти разность R между максимальным и минимальным элементами массива... 

program Ivanov5_2;
{$APPTYPE CONSOLE}
uses
 	SysUtils;
const
     	m=3;			// количество строк и столбцов
type
     	mas=array[1..m,1..m] of integer;	// тип массива
var
     	A:mas;		// массив А
     	R:integer;		// разность
     	Amax:integer;	// максимальный элемент
Amin:integer;	// минимальный элемент
     	i,j:integer;		// счетчики по строкам, столбцам
begin
     	// Ввод исходных данных
      	WriteLn('Type integer elements of array A:');
      	for i:=1 to m do 	
         		for j:=1 to m do Read(A[i,j]);	// поэлементное чтение массива
      	Amin:=A[1,1];	// начальное значение минимального элемента
      	Amax:=A[1,1];	// начальное значение максимального элемента
      	// поиск минимального и максимального элементов	
for i:=1 to m do 
for j:=1 to m do begin
             		if A[i,j]<Amin then Amin:=A[i,j];
             		if A[i,j]>Amax then Amax:=A[i,j]
         		end;
      	R:=Amax-Amin;	// разность
      	WriteLn('-----------------------------------');
      	WriteLn(' Result: R=',R:4);
      	WriteLn('***** Press <ENTER> to finish *****');
Readln;		// задержка экрана
Readln;
end.
Admin: Пользуемся тегами!

P.S. если поможете то могу подарить ключик от беты Starcraft II

Последний раз редактировалось Admin, 23.05.2010 в 17:44.
Ответить с цитированием
  #4  
Старый 24.05.2010, 10:00
devians devians вне форума
Прохожий
 
Регистрация: 23.05.2010
Сообщения: 5
Репутация: 10
По умолчанию

Ну пожалуйста помогите. Завтра уже нужно сдать задание
Ответить с цитированием
  #5  
Старый 24.05.2010, 12:55
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

первая (писал на коленках):
Код:
PROGRAM Ivanov5;
{$APPTYPE CONSOLE}
USES
  	SysUtils;
Const
k=9;
VAR
      n,m:array[1..10] of integer;
      y:array [1..10] of real;
     	i:integer;
      x:real;
begin

      x:=1.02*10000;
      n[1]:=156;
      n[2]:=18;
      n[3]:=72;
      n[4]:=10;
      n[5]:=95;
      n[6]:=100;
      for i:=1 to 6 do
      m[i]:=n[i] mod k;

      for i:=1 to 6 do
      if m[i]=0 then Y[i]:=sin(x)
                else Y[i]:=cos(x)+m[i];


     	for i:=1 to 6 do
      WriteLn(' S=[',y[i]:8:4,']');
WriteLn('***** Press <ENTER> to finish *****');
  	Readln;			// задержка экрана
  	Readln;
END.

Вторую не понял что надо сделать ... если объяснишь то помогу
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.

Последний раз редактировалось friz, 24.05.2010 в 13:00.
Ответить с цитированием
  #6  
Старый 24.05.2010, 13:08
devians devians вне форума
Прохожий
 
Регистрация: 23.05.2010
Сообщения: 5
Репутация: 10
По умолчанию

friz спасибо большое!
На счет второй: вот похожая, но мне нужно без файлов и процедур

Код:
Сформировать массив К из положительных отношений элементов n-го и s-го столбцов массива.

program Lab_6;
{$APPTYPE CONSOLE}
uses
  SysUtils;
 
const
    s = 1; //s и n столбцы, которые нужно переместить
    n = 4;
    MaxDim = 5;  // максимальный размер матрицы
type
        arr=array[1.. MaxDim,1.. MaxDim] of integer; // тип arr для массива А
           arr2=array[1..MaxDim] of real;
var
        A:arr;                  // массив А
           K:arr2;                //массив K, тобишь куда будем записывать положительное часное от деления
        i,j:integer;            // счетчики по строкам, столбцам
        m:integer;              // размер квадратной матрицы
        fi,fo:text;             // файловые переменные
//-------------------------------------------------------------
//      Описание процедуры чтения массива из файла
//      f, a1, MaxD, m1 - формальные параметры
//
//      Исходные данные:
//      f  - файл исходных данных,
//         MaxD  - максимальная размерность массива a1
//
//      Результат:
//      заполненный массив a1 и его реальный размер - m1
//-------------------------------------------------------------
Procedure ReadFromFile(var f:text;var A1:arr;MaxD:integer; var m1:integer);
Var
    i,j:integer; // счетчики по строкам, столбцам - локальные переменные
begin
        Readln(f,m1);       // чтение размера матрицы из первой строки файла
        if m1>MaxD then  // проверка размера матрицы
begin
                m1:=MaxD;
                Writeln('Матрица из файла урезана до размера массива');
        end;
 
        for i:=1 to m1 do       // чтение из файла матрицы А
        begin
                for j:=1 to m1 do Read(f,A1[i,j]);
                        Readln(f);      // перевод указателя файла на новую строку
        end;
end;
//-------------------------------------------------------------
//  заполнение массива K
//
//  Исходные данные: массив a1 и его реальный размер - m1.
//-------------------------------------------------------------
Procedure Schet(Var a1:arr; m1:word; s1,n1:integer; var k: arr2);
Var
        i: word;// счетчик по строкам
begin
    For i:=1 to m1 do       //проверка условия и заполнение массива k
       if (a1[s1,i]/a1[n1,i])>0 then k[i]:=(a1[s1,i]/a1[n1,i]);
end;
//-------------------------------------------------------------
//  описание процедуры вывода результата в файл и на экран
//
//  Исходные данные:
//  f - файл для сохранения результата,
//  Результат  - вывод результатов программы в файл и на экран
//-------------------------------------------------------------
Procedure SaveToFile(var f:text; var m1:integer; var k:arr2);
    Var i:integer;
begin
    For i:=1 to m1 do begin
     Writeln(f,'k[',k[i],']=') end;
    For i:=1 to m1 do begin
     Writeln('k[',k[i],']=') end;
end;
begin
        AssignFile(fi,'matr.txt');      // Файловой переменной fi назначается файл matr.txt
           Reset(fi);          // Текстовый файл открывается для чтения
        // чтение данных из файла fi;
        //  A, MaxDim, m - фактические параметры
        ReadFromFile(fi,A,MaxDim,m);
        CloseFile(fi);          // Закрывается прочитанный файл fi
        // вызов процедуры решения основной задачи
        Schet(A,m,s,n,k);
        // Файловой переменной fo назначается файл matr.out
        AssignFile(fo,'matr.out');
        Rewrite(fo);            // Текстовый файл fo открывается для записи
        // вызов процедуры вывода результатов в файл
        SaveToFile(fo,m,k);
        CloseFile(fo);                  // Закрывается файл fo,созданный программой
        WriteLn('***** Press <ENTER> to finish *****');
        Readln;                 // задержка экрана
end.
Ответить с цитированием
  #7  
Старый 24.05.2010, 13:23
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

вторая
Код:
PROGRAM Ivanov5;
{$APPTYPE CONSOLE}
USES
  	SysUtils;
Const
N=3;
S=2;
VAR
      k:array[1..10] of real;
      a:array [1..10,1..10] of real;
     	i:integer;
      x:real;
begin

      x:=1.02*10000;
      a[1,1]:=3.1; a[1,2]:=1.6;  a[1,3]:=9.3;
      a[2,1]:=1.5;  a[2,2]:=2.3;  a[2,3]:=4.5;
      a[3,1]:=2.2;  a[3,2]:=6.4;  a[3,3]:=4.4;

      for i:=1 to 3 do
      k[i]:=(a[s,i]/a[n,i]);

     	for i:=1 to 3 do
      WriteLn(' k=[',k[i]:8:4,']');

    WriteLn('***** Press <ENTER> to finish *****');
  	Readln;			// задержка экрана
  	Readln;
END.
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #8  
Старый 24.05.2010, 13:34
devians devians вне форума
Прохожий
 
Регистрация: 23.05.2010
Сообщения: 5
Репутация: 10
По умолчанию

friz спасибо, очень помог
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025