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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.04.2013, 19:39   #1
mokr-lena
Новичок
Джуниор
 
Регистрация: 24.04.2013
Сообщений: 4
По умолчанию паскаль

..помогите пожалуйста,никак не получается выполнить это задание..срочно нужно..пожалуйстаа.
1. Задания
В качестве условия задачи берется задание из 5 лабораторной работы, но работать не с одним массивом, а с двумя А1 и А2. В основной программе предусмотреть вызовы подпрограмм к обоим массивам.

2. Правила оформления работы
1. Предусмотреть вывод на экран ФИО, № группы студента, сделавшего работу.
2. Автоматическое формирование исходного массива.
3. Вывод исходного массива, промежуточных результатов и конечного результата с пояснениями.
4. Оформить программу с использованием подпрограмм (процедур и функций – по необходимости). Обосновать использование процедур и функций. Обязательны процедуры формирования и вывода массива.

Вот то задание,которое дано как условие: Дан массив целых чисел а1,…, аn.Все элементы массива, предшествующие наименьшему числу, домножить на это число.
Вот как это условие выполнено в Паскале:
Код:
Var A:array[1..100] of integer;
i,imin,n:integer;
Begin
write('Введите размерность: ');readln(n);
writeln('Исходный массив');
For i:=1 to n do
Begin
A[i]:=random(11)-5;
write(A[i]:3);
if i=1 then imin:=1;
if A[i]<A[imin] then imin:=i;
End;
writeln;
writeln('Минимальный элемент: ',A[imin]);
writeln('Преобразованный массив');
For i:=1 to n do
Begin
if i<imin then A[i]:=A[i]*A[imin];
write(A[i]:3);
End;
readln;
End.

Последний раз редактировалось Stilet; 24.04.2013 в 20:20.
mokr-lena вне форума
Старый 24.04.2013, 20:19   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Хорошо, а в чем помощь?
Hemul вне форума
Старый 24.04.2013, 20:25   #3
mokr-lena
Новичок
Джуниор
 
Регистрация: 24.04.2013
Сообщений: 4
По умолчанию ответ

Я работала с одним массивом.а теперь нужно сделать с двумя: для А1 и А2,т.е. там еще надо составить процедуру,функцию.Я не очень хорошо в этом разбираюсь,поэтому объяснила как могла.
mokr-lena вне форума
Старый 24.04.2013, 20:47   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,312
По умолчанию

А что получится, если Ваш код преобразуем так:
Код:
Type mas : array[1..100] of integer;
Var A, B : mas;
     i, iminA, iminB, n:integer;

procedure MakeM(var M : mas; n : integer);
begin
   for i:=1 to n do
      M[i]:=random(11)-5;
end;

function NMinEl(M : mas; n : integer) : integer;
var i, k, min : integer;
begin
  k := 1;
  for i:=2 to n do
      if M[i] < M[k] then
          k := i;
  NMinEl := k;
end;

procedure MulC(Var M : mas; k : integer);
begin
   for i:=1 to k do
       M[i]:=M[i]*M[k];
end;

Begin
randomize;
write('Введите размерность: ');readln(n);
MakeM(A,n);
MakeM(B,n);

writeln('Исходный массив A:');
For i:=1 to n do
   write(A[i]:3);
writeln('Исходный массив B:');
For i:=1 to n do
   write(B[i]:3);
iminA := NMinEl(A, n);
writeln;
writeln('Минимальный элемент в A: ',A[imin]);

iminB := NMinEl(B, n);
writeln;
writeln('Минимальный элемент в B: ',B[imin]);

writeln('Преобразованный массив A');
MulC(A; iminA);
For i:=1 to n do
   write(A[i]:3);

writeln('Преобразованный массив B');
MulC(B; iminB);
For i:=1 to n do
   write(B[i]:3);

End.


Ну, вроде как-то так ...
PS: Код не проверял.
Как-то так, ...
ViktorR вне форума
Старый 24.04.2013, 20:57   #5
mokr-lena
Новичок
Джуниор
 
Регистрация: 24.04.2013
Сообщений: 4
По умолчанию

что-то не так...программа не выполняется(
mokr-lena вне форума
Старый 24.04.2013, 21:16   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,312
По умолчанию

А способы отладки программы Вам знакомы?
Какие ошибки выдаются при компиляции?
Вот поправил.
Код:
Type mas = array[1..100] of integer;
Var A, B : mas;
     i, iminA, iminB, n:integer;

procedure MakeM(var M : mas; n : integer);
begin
   for i:=1 to n do
      M[i]:=random(11)-5;
end;

function NMinEl(M : mas; n : integer) : integer;
var i, k, min : integer;
begin
  k := 1;
  for i:=2 to n do
      if M[i] < M[k] then
          k := i;
  NMinEl := k;
end;

procedure MulC(Var M : mas; k : integer);
begin
   for i:=1 to k do
       M[i]:=M[i]*M[k];
end;

Begin
randomize;
write('Введите размерность: ');readln(n);
MakeM(A,n);
MakeM(B,n);

writeln('Исходный массив A:');
For i:=1 to n do
   write(A[i]:3);
writeln('Исходный массив B:');
For i:=1 to n do
   write(B[i]:3);
iminA := NMinEl(A, n);
writeln;
writeln('Минимальный элемент в A: ',A[iminA]);

iminB := NMinEl(B, n);
writeln;
writeln('Минимальный элемент в B: ',B[iminB]);

writeln('Преобразованный массив A');
MulC(A, iminA);
For i:=1 to n do
   write(A[i]:3);

writeln('Преобразованный массив B');
MulC(B, iminB);
For i:=1 to n do
   write(B[i]:3);

End.
За точность не ручаюсь, но у меня что-то сделала ...
Как-то так, ...
ViktorR вне форума
Старый 24.04.2013, 21:26   #7
mokr-lena
Новичок
Джуниор
 
Регистрация: 24.04.2013
Сообщений: 4
По умолчанию

всё,разобралась,работает.Спасибо вам огромное!!!!!!!!!
mokr-lena вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль ABC. Программа на языке Паскаль. Helen1 Паскаль, Turbo Pascal, PascalABC.NET 6 13.01.2018 21:46
Как можно в Паскаль АВС (Паскаль-Турбо) вставлять в результаты печати программы графики, таблицы, схемы, набранные формулы, выраже IZOPGRAM Паскаль, Turbo Pascal, PascalABC.NET 0 11.06.2012 10:54
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
паскаль и турбо паскаль Евгения Игоревна Помощь студентам 6 05.05.2011 14:31