Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal]Сумма элементов 2х одномерных массивов 
:(
    Опции темы
Suriv
Дата 15.11.2008, 20:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.11.2008

Репутация: нет
Всего: нет



Привет еще раз всем! Вот еще есть одна задача по теме процедуры и функии в паскале. Вот только я даже не знаю с чего начать в ней. Помогите плз
Задача: Описать процедуру, которая вычисляет сумму элементов двух одномерных
массивов.
Если можно как нибудь проще, чтобы это было общедоступно) по причине не сильно понимания языка паскаль. Заание спасибо!
PM MAIL   Вверх
libertine
Дата 15.11.2008, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



а сумму как - сумму все вообще или первого и первого, второго и второго и тд..?
PM MAIL   Вверх
libertine
Дата 15.11.2008, 21:58 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Если считать, что сумма всех элементов обоих массивов, то примерно:

Код

Uses crt;
type vect=array [1..100] of integer; {описали тип - одномерный массив}
var i,n,m:byte;
      a,b: vect;
      t:integer;

Procedure summ(n,m:byte, a,b:vect)r;  {описали процедуру, которая будет возвращать сумму элементов масссивов}
{в фукцию передали число элементов в массиве а-  n, в массиве b – m, и оба массива а и b}
var s:integer
      j:byte;
begin
s:=0;  {в этой переменной накапливаем сумму}
for j:=1 to n do  
         s:=s+a[i,j];  {идем по массиву a, прибавляя каждый его элемент к s}

for j:=1 to n do  
         s:=s+a[i,j];  {теперь то же для массива b}

writeln('Summa vseh elementov a i b =', s); {выводим то есть искомую сумму}
end;

begin
writeln('Vvedite razmernost massiva a:');
write('n=');
readln(n);
writeln('Vvedite razmernost massiva b:');
write('m=');
readln(m);   {в переменные n и m считали размерность массивов}
for i:=1 to n do
      begin
      writeln('Vvedite element massiva  a','[',i,'] ');  {заполнили массив a}
      readln(a[i]);
     end;

for i:=1 to m do
      begin
      writeln('Vvedite element massiva b','[',i,'] ');  {заполнили массив b}
      readln(b[i]);
     end;

writeln('Massiva  a:');  
for i:=1 to n do
write(a[i], '  ');  { вывели массив a }
writeln('');

writeln('Massiva  b:');  
for i:=1 to m do
write(b[i], '  ');  { вывели массив b}
writeln('');

end;


Опять же не проверено

PM MAIL   Вверх
Suriv
Дата 16.11.2008, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.11.2008

Репутация: нет
Всего: нет



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

Добавлено через 11 минут и 50 секунд
Что то там в программе неверно он над каждой переменной и оператором ругается) в этой строчке

Добавлено через 13 минут и 45 секунд
Procedure summ(n,m:byte, a,b:vect)r; программы говорит что после байт надо ; поставить а перед r  begin написать дальше вот тут  s:=s+a[i,j]; выдает такую ошибку не пониаю только её invalid qualifier
PM MAIL   Вверх
THandle
Дата 16.11.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 30
Всего: 372



Код

program Project1;

const
  MAX = 10;

type
  TArray = array[0..MAX] of Integer;

{ Функция считающая сумму }
function Summ(const A, B: TArray): Integer;
var
  I: Integer;
  tmp: Integer;
begin
  tmp := 0;
  for I := 0 to MAX do
    tmp := tmp + A[I] + B[I];
  Summ := tmp;
end;

var
  A, B: TArray;
  I: Integer;
begin
  { Пример использования }
  Randomize;
  for I := 0 to MAX do
  begin
    A[I] := Random(10);
    WriteLn('A[', I, ']: ', A[I]);
    B[I] := Random(10);
    WriteLn('B[', I, ']: ', B[I]);
  end;
  WriteLn;
  Writeln('Summ: ', Summ(A, B));
  ReadLn;
end.


PM   Вверх
Suriv
Дата 16.11.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.11.2008

Репутация: нет
Всего: нет



Спасибо большое всем! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.3315 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.