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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.04.2009, 17:44   #1
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
Лампочка Задачи на массивы.

1) Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке [-25,25]. Сформировать второй массив по правилу: если индекс элемента исходного массива чётный, то элемент возвести в квадрат, если нечётный - удвоить. Вывести исходный и полученный массивы на печать.
2) Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке [-25,25]. Найти сумму элементов массива, которые больше первого, но меньше четвёртого элеметна массива. Вывести на печать исходный массив и полученныые результаты.

начало одинаковое наверно для обеих, по моему мнению (если не так, прошу исправить):
Код:
program zadanie;
uses crt;
const n=19;
type  arr=array[0..n] of integer;

procedure fill_arr(var a:arr);
var i:integer;
begin randomize;
      for i:=0 to n do a[i]:=25-random(51);
      end;
spankyham вне форума
Старый 08.04.2009, 20:24   #2
Nazerbaev
 
Аватар для Nazerbaev
 
Регистрация: 07.04.2009
Сообщений: 7
По умолчанию

Вот уже немног ополучаеться над первой задачей.. правда еще не на все 100правильно работает но уже:
Код:
var
mas:array[-25..25] of real;
mas1:array[1..20] of real;
i:integer;

procedure TForm1.Button1Click(Sender: TObject);

begin randomize;

      for i:=1 to 20 do
        begin
        mas[i]:=25-random(51);
        end;
      for i:=1 to 20 do
        begin
        if i mod 2=0 then
        mas1[i]:=mas[i]*mas[i];
        end;
        begin
        if i mod 2=1 then
        mas1[1]:=mas[i]*2;
        end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin
for i:=1 to 20 do
begin
label1.Caption:=label1.caption+floattostr(mas[i])+' ';
end;

for i:=1 to 20 do
begin
label2.Caption:=label2.Caption+floattostr(mas1[i])+' ';
end;
end;
end.
*Делал на Делфи*

Последний раз редактировалось Stilet; 09.04.2009 в 11:23.
Nazerbaev вне форума
Старый 08.04.2009, 20:38   #3
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Не понял... вчера же решили тебе это все.. тут буквально одну строку поправить.. в каждой задаче..
1.
Код:
if (i mod 2 = 0) then b[i]:=sqr(a[i]) else b[i]:=2*a[i];
2.
Код:
if (a[i]>a[1]) and (a[i]<a[4]) then sum:=sum+a[i];
Uguu~

Последний раз редактировалось __STDC__; 08.04.2009 в 20:43.
__STDC__ вне форума
Старый 08.04.2009, 22:47   #4
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
Печаль

Код:
program zadanie9;
uses crt;
const n=19;
type  arr=array[0..n] of integer;

procedure fill_arr(var a:arr);
var i:integer;
begin randomize;
      for i:=0 to n do a[i]:=25-random(51);
      end;
var
      a:arr; b:arr; i:integer;

begin textcolor(9);
      clrscr;
      fill_arr(a);
      if (i mod 2=0) then b[i]:=sqr(a[i])
      else b[i]:=2*a[i];
      for i:=0 to n do 
      writeln(a[i]:3);
      writeln(b[i]:3);
      readln;
end.
подскажите, что неправильно в 1ой задаче.....

Последний раз редактировалось spankyham; 08.04.2009 в 23:02.
spankyham вне форума
Старый 08.04.2009, 23:02   #5
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Неизвестно, что это за i такая в этой строчке
if (i mod 2=0) then b[i]:=sqr(a[i])
else b[i]:=2*a[i];
Манжосов Денис :) вне форума
Старый 08.04.2009, 23:05   #6
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
Сообщение

__STDC__, к тебе вопрос ) я хз....
вообщем, 1ый массив у меня выводится, а вместо 2го - ноль....
spankyham вне форума
Старый 09.04.2009, 08:21   #7
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
program zadanie9;
uses crt;
const n=19;
type  arr=array[0..n] of integer;

procedure fill_arr(var a:arr);
var i:integer;
begin randomize;
      for i:=0 to n do a[i]:=25-random(51);
      end;
var
      a:arr; b:arr; j:integer;

begin textcolor(9);
      clrscr;
      fill_arr(a);
for j:=0 to n do
      if (j mod 2=0) then b[j]:=sqr(a[j])
      else b[j]:=2*a[j];
      for j:=0 to n do
      writeln(a[j]:3);
 for j:=0 to n do
      writeln(b[j]:3);

      readln;
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума
Старый 09.04.2009, 08:28   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

i - целочисленная переменная, в данном случае текущий индекс элемента массива.. не понимаю в чем проблемы... по-моему все очевидно... если хоть немного подумать... задачи уже были решены ранее, исправить надо было по одной строке, как я уже говорил.. по-моему, чтобы заменить одну строку не нужно знать ни Pascal, ни что такое i....
Uguu~
__STDC__ вне форума
Старый 09.04.2009, 08:29   #9
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

проблема в отсутствии строчек выделенных красным
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума
Старый 09.04.2009, 08:34   #10
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от IT-man Посмотреть сообщение
проблема в отсутствии строчек выделенных красным
Да я не про то... я не про твой код, а про элементарную лень людей... по-моему код полностью прозрачен, то что я писал в прошлой теме, и то что ты там же писал... Меня поражает, что после этого создается практически идентичная тема и что опять какие-то проблемы возникают с тем, с чем уже разобрались..
Естественно, я не вижу необходимости писать весь код, пишу фрагменты... Зачем попусту место занимать... А что такое i по-моему очевидно, глядя на сам код..
Uguu~
__STDC__ вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи. Массивы. QBasic. mikainite Помощь студентам 2 19.02.2009 22:45
3 задачи на одномерные массивы Rise Паскаль, Turbo Pascal, PascalABC.NET 10 08.01.2009 00:00
2 задачи на массивы(Си) Molotok Помощь студентам 5 22.12.2008 21:19
Pascal задачи на массивы SweetOpium Помощь студентам 9 08.05.2008 20:40