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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 16:27   #1
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
Сообщение 2 задачи на одномерные массивы

1. Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке [-25;25]. Определить номера элементов массива, значения которых больше значения предыдущего элемента. Вывести исходный массив и полученный результат на печать.
2. Дан одномерный массив. Заполнить его случайными числами на отрезке [-25;25]. Найти сумму элементов массива, больших квадрата первого элемента этого массива. Вывести исходный массив и полученный результат на печать.
spankyham вне форума Ответить с цитированием
Старый 07.04.2009, 16:36   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

1. Заполнение массива:
Код:
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;
Сейчас допишу остальное если успею до других =)
***
вторая часть первого задания:
Код:
for i:=0 to n-1 do 
	if (a[i+1]>a[i]) then writeln('Index: ',i+1);
или же
Код:
for i:=n downto 1 do 
	if (a[i]>a[i-1]) then writeln('Index: ',i);
Только учтите, что элементы в моем варианте нумеруются начиная с 0... т.е. в массиве из 20 элементов максимальным индексом будет 19
и если n=100 (как выше) то всего элементов 101... можно исправить если заменить 0 на 1 =) кому как удобней
***
Ооой.. что-то не заметил сразу что размер массива задан... исправил с учетом того, что кол-во эл-тов = 20
Uguu~

Последний раз редактировалось __STDC__; 07.04.2009 в 16:53.
__STDC__ вне форума Ответить с цитированием
Старый 07.04.2009, 16:41   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
//Дан одномерный массив. Заполнить его случайными числами на отрезке [-25;25].
// Найти сумму элементов массива, больших квадрата первого элемента этого массива.
 //Вывести исходный массив и полученный результат на печать.
 s:=0;
 for i:=2 to n do
 if a[i]>sqr(a[1]) then s:=s+a[i];
 
 for i:=1 to n do
  write(a:6);
  writeln;
  writeln('s=',s:6);
как заполнять и объявлять смотрите выше
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 07.04.2009 в 16:45.
IT-man вне форума Ответить с цитированием
Старый 07.04.2009, 16:51   #4
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
По умолчанию

япона маааать )
пфффффффффф............не получается (((((

Последний раз редактировалось spankyham; 07.04.2009 в 17:30.
spankyham вне форума Ответить с цитированием
Старый 07.04.2009, 17:55   #5
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
По умолчанию

откуда тут 51 вообще?? мне же заполнить надо на отрезке [-25,25]...??????????
spankyham вне форума Ответить с цитированием
Старый 07.04.2009, 18:00   #6
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
a[i]:=25-random(51)
random(51)
- вернет случайное число от 0 до 50, а 25-random(51) как раз и будет [-25,25]! читайте доку!
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 07.04.2009, 18:08   #7
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;
clrscr;
begin randomize;
      for i:=0 to n do a[i]:=25-random(51);
      end;
      for i:=0 to n-1 do
      if (a[i+1]>a[i]) then
      writeln('Index:',i+1);
      end;
      readln;
end.
што не так??? можете смеяться, я реально плохо понимаю паскаль :/
ошибка у clrscr вылазит ещё....:////

Последний раз редактировалось spankyham; 07.04.2009 в 18:24.
spankyham вне форума Ответить с цитированием
Старый 07.04.2009, 18:32   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

clrscr;
после begin пишется
и там либо end; лишний либо begin не хватает
Код:
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;

begin
   clrscr;
   fill_arr(a);
   for i:=0 to n-1 do
      if (a[i+1]>a[i]) then
         writeln('Index:',i+1);
   readln;
end.
Uguu~

Последний раз редактировалось __STDC__; 07.04.2009 в 18:36.
__STDC__ вне форума Ответить с цитированием
Старый 07.04.2009, 18:35   #9
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

2spankyham вы процедуры и тело программы отличаете?
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 07.04.2009, 18:46   #10
spankyham
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 57
Сообщение

Цитата:
Сообщение от __STDC__ Посмотреть сообщение
.... for i:=0 to n-1 do - пишет Error3 - Unknown identifier
to IT-man: как видите.....:/
spankyham вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на C++ на одномерные массивы Many man Помощь студентам 17 29.04.2011 16:59
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
3 задачи на одномерные массивы Rise Паскаль, Turbo Pascal, PascalABC.NET 10 08.01.2009 00:00
задачи на одномерные массивы в VBA fidot Помощь студентам 1 25.12.2008 16:47