12.06.2011, 18:31 | #1 (permalink) |
Member
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Экзаменационная задача на массив
В одномерном массиве, состоящем из n целочисленных элементов, вычислить: 1)Произведение элементов массива с четными номерами. Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элементы, равные нулю, считать положительными). Пожалуйста, от этого зависит моя как бы семестровая оценка! |
12.06.2011, 18:31 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Дам вам ссылки на темы, которые имеют что то общее с вашей темой Двумерный массив. Задача Задача в Делфи на работу с таблицами. Двумерный массив Массив в с++ Паскаль, двумерный массив. Задача. Задача на массив Массив |
12.06.2011, 19:33 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Ладно. Вот Вам как бы решение Вашей как бы задачи: Код:
const n=10; var mas,m1,m2:array[1..n] of Integer; i,j1,j2:integer; P:Extended; begin Randomize; for i:=1 to n do begin mas[i]:=50-Random(100); Write(mas[i]:5); end; writeln; P:=1.0; for i:=1 to (n div 2) do P:=P*mas[2*i]; writeln('Product of even-placed elements = ', P:0:0); j1:=0; j2:=0; for i:=1 to n do begin if mas[i]>=0 then begin j1:=j1+1; m1[j1]:=mas[i]; end else begin j2:=j2+1; m2[j2]:=mas[i]; end; end; for i:=1 to j1 do mas[i]:=m1[i]; for i:=j1+1 to n do mas[i]:=m2[i-j1]; for i:=1 to n do write(mas[i]:5); readln end. |
|
19.06.2011, 17:46 | #3 (permalink) |
Member
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Извините, пожалуйста, подскажите, в чем может быть ошибка, набираю программу, все как написали, а программа не работает..
Extended, жалуется на него! |
19.06.2011, 18:05 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
И потом - зачем ее "набирать"? Не умеете через copy-paste? |
|
19.06.2011, 18:12 | #5 (permalink) |
Member
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
заменяла, все равно!!!
Увы...но, нет! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
19.06.2011, 18:16 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Тогда так.
1. Листинг программы, которая не идет. Если набивали сами (непонятно зачем), могли сделать ошибку. 2. Максимум информации об ошибке (в какой строке, позиции, что именно пишет). Еще раз обращаю внимание - у меня эта программа работает безупречно. Неотлаженных я не выкладываю. |
19.06.2011, 18:21 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Сейчас еще сообразил: если Вы меняете формат с Extended на Real, то диапазон значений элементов массива необходимо ужать. Например, строку
mas[i]:=50-Random(100); заменить на mas[i]:=10-Random(20); |
19.06.2011, 18:59 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Наводите мышь на самое начало программы - так, чтобы маркер был перед первым символом. Удерживая нажатой ЛЕВУЮ клавишу, ведите мышь до конца листинга. Отпускаете мышь. Программа должна быть выделена инверсией цветов. Наводите мышь в любое место выделенной области, нажимаете ПРАВУЮ клавишу. В появившемся контекстном меню щелкаете по пункту "копировать" или "copy". Открываете окно, куда хотите вставить текст. Наводите на его поле мышь, нажимаете ПРАВУЮ клавишу и в меню щелкаете по "вставить" ("paste"). Сохраняете файл.
Цитата:
1. Константу убираем (снимаем весь раздел Const). 2. Всюду в программе n заменяем явным значением 10 (вместо n div 2 можно поставить просто 5). |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|