Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 06.02.2012, 23:52   #1 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Помогите с задачами на фри Паскале

Пожалуйста,помогите решить задачу на фри паскале,завтра нужно по ней отчитываться!!!
"Из вещественного вектора a(a1,a2,..,a3n) получить вектор b(b1,b2,..bn),очередная компонента которого равна среднему арифметическому очередной тройки компонента этого вектора!!!!!!!
Пожаааалуууййстаааааааа*((((((
Ольга111 вне форума   Ответить с цитированием

Старый 06.02.2012, 23:52
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Интересно, вы уже просмотрели похожие темы или нет

Помогите с двумя задачами на Паскале
Помогите в паскале
Помогите мне в Паскале
Помогите плиз с задачами на с++
Помогите с программой на Паскале
Нужна помощь с задачами

Старый 07.02.2012, 10:58   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ольга111 Посмотреть сообщение
Пожалуйста,помогите решить задачу на фри паскале,завтра нужно по ней отчитываться!!!
"Из вещественного вектора a(a1,a2,..,a3n) получить вектор b(b1,b2,..bn),очередная компонента которого равна среднему арифметическому очередной тройки компонента этого вектора!!!!!!!
Пожаааалуууййстаааааааа*((((((
Если я правильно понял условие задачи (а сформулировано, надо сказать, изрядно бестолково), то так:
Код:
CONST
 N=10;
VAR
 A,B:Array[1..N] of Real;
 i:Byte;
BEGIN
 Randomize;
 For i:=1 to N do
  Begin
   A[i]:=Random*100;
   Write(A[i]:8:3);
  End;
 Writeln;
 Writeln;
 B[1]:=A[1];
 B[N]:=A[N];
 Write(B[1]:8:3);
 For i:=2 to N-1 do
  begin
   B[i]:=(A[i-1]+A[i]+A[i+1])/3;
   Write(B[i]:8:3);
  end;
 Write(B[N]:8:3);
 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.02.2012, 17:15   #3 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Вопросик по задачке

Program laba7;
const n=7;
var a:array[1..3*n] of real;
b:array[1..n] of real;
i,j:integer;
begin
for i:=1 to 3*n do
write ('a[',i,']=');
readln (a[i]);
end;
begin
for i:=1 to n do

Владимир,большое спасибо за решение.Только мы решаем немного иначе,посмотрите пожалуйста,исходя из моего условия,что можно сделать даальше??я запуталась окончательно,и вообще ход правильный?
Ольга111 вне форума   Ответить с цитированием
Старый 08.02.2012, 17:29   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ольга111 Посмотреть сообщение
Владимир,большое спасибо за решение.Только мы решаем немного иначе,посмотрите пожалуйста,исходя из моего условия,что можно сделать даальше??я запуталась окончательно,и вообще ход правильный?
Ага, понятно - я несколько не так воспринял условие. Вечером поправлю: сейчас поеду с работы домой. Черт, на "3n" не обратил внимание. Потерпите пару часов.
P.S. И зачем было новую тему открывать? Мы же Вашу же задачку обсуждаем. Это нельзя к чужим темам цепляться, а свою продолжать - пожалуйста!
Vladimir_S вне форума   Ответить с цитированием
Старый 08.02.2012, 17:41   #5 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Ага, понятно - я несколько не так воспринял условие. Вечером поправлю: сейчас поеду с работы домой. Черт, на "3n" не обратил внимание. Потерпите пару часов.
P.S. И зачем было новую тему открывать? Мы же Вашу же задачку обсуждаем. Это нельзя к чужим темам цепляться, а свою продолжать - пожалуйста!
хорошо,в следующий раз так и сделаю,спасибо,подожду))
Ольга111 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 08.02.2012, 19:46   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вот, получите:
Код:
const
 n=7;
var
 a:array[1..3*n] of real;
 b:array[1..n] of real;
 i:integer;
begin
 for i:=1 to 3*n do
  begin
   write ('a[',i:2,']= ');
   readln (a[i]);
  end;
 writeln;
 for i:=1 to 3*n do
  write(a[i]:8:3);
 writeln;
 writeln;
 for i:=1 to n do
  b[i]:=(a[1+(i-1)*3]+a[2+(i-1)*3]+a[3+(i-1)*3])/3;
 for i:=1 to n do
  write(b[i]:8:3);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.02.2012, 23:30   #7 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо вам большое Владимир,всё теперь разобралась=)Всё работает=))Я думаю если индексы оставить в виде :a[j+1]+a[j+2]......т.е. без i-1....получится тоже самое,мы же берём одну строчку 1,2,3,вторую потом к j прибавляем 3,что бы вторая вышла 4,5,6.,и т. д.?Вообщем j:=j+3=)))
прям спасли!!=))
Ольга111 вне форума   Ответить с цитированием
Старый 09.02.2012, 00:19   #8 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Вот, получите:
Код:
const
 n=7;
var
 a:array[1..3*n] of real;
 b:array[1..n] of real;
 i:integer;
begin
 for i:=1 to 3*n do
  begin
   write ('a[',i:2,']= ');
   readln (a[i]);
  end;
 writeln;
 for i:=1 to 3*n do
  write(a[i]:8:3);
 writeln;
 writeln;
 for i:=1 to n do
  b[i]:=(a[1+(i-1)*3]+a[2+(i-1)*3]+a[3+(i-1)*3])/3;
 for i:=1 to n do
  write(b[i]:8:3);
 readln
end.
Владимир, решила попробовать похожую задачу здесь нашла где то,вот что получилось,но у меня не выводит ответ ,выходят нули. Условие:дан целочисленный вектор a(а1,а2,...,an) построить вектор b(b1,b2,...,bn)приняв в качестве первых его компонент все отрицательные компоненты вектора a(с сохранением порядка их следования)в качестве остальных положительные компоненты вектора a,также с сохранением порядка их следования.
program lab_7;
uses crt;
const n=5;
var a:array[1..n] of integer;
b:array[1..n] of integer;
i,j:integer;
begin
for i:=1 to n do
begin
write ('a[',i,']=');
readln (a[i]);
end;
clrscr;
j:=1;
for i:=1 to n do
begin
if a[i]<0 then begin
a[i]:=b[j];
j:=j+1;
end;
end;
for i:=1 to n do
begin
if a[i]>=0 then begin
a[i]:=b[j];
j:=j+1;
end;

end;
for i:=1 to n do
writeln (b[i]);
readln;
end.
Ольга111 вне форума   Ответить с цитированием
Старый 09.02.2012, 09:51   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ольга111 Посмотреть сообщение
не выводит ответ ,выходят нули.
... что вполне естественно.
Потому что аж в двух местах Вы пишете
Цитата:
a[i]:=b[j];
- и что мы имеем? Вы сперва вводите значения элементов массива А, а затем им же присваиваете значения элементов массива В, в котором по умолчанию стоят нули! Вот нули и получаете. Короче говоря, в двух местах надо вместо
a[i]:=b[j];
записать
b[j]:=a[i];
На всякий случай: в операторе присваивания ":=" слева стоит то, чему присваивается, а справа то, что присваивается. Например
q:=5; - правильно, а
5:=q; - неправильно.
Vladimir_S вне форума   Ответить с цитированием
Старый 14.02.2012, 23:33   #10 (permalink)
Ольга111
Новичок
 
Регистрация: 06.02.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте,помогите пож.Даны 100 целых чисел ,распечатать их в обратном порядке по 6 чисел в строке))
Ольга111 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 15:46.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.