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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2012, 21:42   #1
Dina 85
Пользователь
 
Регистрация: 09.10.2012
Сообщений: 49
Хорошо Одномерные массивы

ЯЗЫК TURBO PASCAL
1.Дан массив A(N). Создать новый массив, разделив положительные элементы на +9, отрицательные – на максимальный элемент массива, нулевые оставив без изменений.

2.Дан массив С(N). Найти среднее арифметическое положительных элементов с чётными индексами.

ОЧЕНЬ БЛАГОДАРНА ТЕМ КТО ОТКЛИКНЕТСЯ!

Последний раз редактировалось Dina 85; 04.12.2012 в 21:47.
Dina 85 вне форума Ответить с цитированием
Старый 05.12.2012, 06:39   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Откликаюсь: сами-то хоть что-то пытались сделать? Хотя бы элементарное - объявить массив (уже даже не прошу вводить его).
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.12.2012, 07:08   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Дан массив С(N). Найти среднее арифметическое положительных элементов с чётными индексами.
Код:
var c:array[1..100] of real;
i,cn,n:byte;
s:real;
begin
randomize;
s:=0;cn:=0;
readln(n);
for i:=1 to n do
begin
c[i]:=random(n)+1-n div 2+random(100)/100;
if not odd(i)   and (a[i]>0) then begin s:=s+c[i];inc(cn);end;
write(c[i]:6:2);
end;
writeln;
write(s/cn:6:2);
end.
Цитата:
Дан массив A(N). Создать новый массив, разделив положительные элементы на +9,
отрицательные – на максимальный элемент массива, нулевые оставив без изменений.
Код:
var a:array[1..100] of real;
i,n:byte;
mx:byte;
max:real;
begin
randomize;
readln(n);
mx:=1;
for i:=1 to n do
begin
a[i]:=random(n)+1-n div 2+random(100)/100;
if a[mx]<a[i] then mx:=i;
write(a[i]:6:2);
end;
writeln;
max:=a[mx];
For i:=1 to n do
begin
if a[i]>0 then a[i]:=a[i]/9
else a[i]:=a[i]/max;
write(a[i]:6:2);
end;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.12.2012, 13:40   #4
Politehnik
 
Регистрация: 03.12.2012
Сообщений: 4
По умолчанию

а если нам надо найти номера строк в матрице, в которых есть данное число, то какой код будет после заполнения массива(т.к. заполнение у меня не вызывает проблем)
Politehnik вне форума Ответить с цитированием
Старый 06.12.2012, 13:55   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Созать еще один массив или множество, и закидывать в него номера строк, в которых есть число. Предположим, есть массив [m,n], тогда введем еще массив [1..m] (так как число может встречаться в каждой строке) и счетчик для подстчета количества таких строк. Тогда определение строк будет таким:

Код:
count:=0;
for i:=1 to m do
  for j:=1 to n do 
    if a[i,j]=число then begin
      inc(count);
      b[count]:=i;
      break;
    end;
и вывод строк:

Код:
for i:=1 to count do WriteLn(b[i]);
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.12.2012, 14:01   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

http://programmersforum.ru/showpost....1&postcount=11
чем не устроило то?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.12.2012, 14:19   #7
Politehnik
 
Регистрация: 03.12.2012
Сообщений: 4
По умолчанию

программа не выполняет это действие, не знаю почему, и я как-то не понял, каким образом будет выводиться номер строки, в том варианте, который вы мне дали
Politehnik вне форума Ответить с цитированием
Старый 08.12.2012, 10:26   #8
Dina 85
Пользователь
 
Регистрация: 09.10.2012
Сообщений: 49
По умолчанию

все-таки лучше вручную вводить массив потому что мне нужно на контрольном примере проверять
Dina 85 вне форума Ответить с цитированием
Старый 08.12.2012, 10:34   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ради бога, замени a[i]:=random(n)+1-n div 2+random(100)/100; на ввод через Readln и вводи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
одномерные массивы ENTER311 Помощь студентам 4 21.12.2011 21:36
Одномерные массивы L_Killer Фриланс 8 25.02.2010 20:41
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
C++ Одномерные массивы. rus_rock_no_dead Помощь студентам 1 20.01.2009 15:31