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


Ответ
 
Опции темы Опции просмотра
Старый 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
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Дам вам ссылки на темы, которые имеют что то общее с вашей темой

Двумерный массив. Задача
Задача в Делфи на работу с таблицами. Двумерный массив
Массив в с++
Паскаль, двумерный массив. Задача.
Задача на массив
Массив

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

Цитата:
Сообщение от Ксюшенька Посмотреть сообщение
помогите, пожалуйста, решить экзаменационную задачу на массив!!!плиз...
В одномерном массиве, состоящем из n целочисленных элементов, вычислить:
1)Произведение элементов массива с четными номерами.
Преобразовать массив таким образом чтобы сначала располагались все положительные элементы, а потом все отрицательные (элементы, равные нулю, считать положительными).
Пожалуйста, от этого зависит моя как бы семестровая оценка!
Во-первых, интересуюсь понять, почему, прекрасно зная, что у нас не принято цепляться к чужим темам, Вы продолжаете этим заниматься? Позлить нас хотите? "Крутость" свою показать? Ну-ну...
Ладно. Вот Вам как бы решение Вашей как бы задачи:
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.06.2011, 17:46   #3 (permalink)
Ксюшенька
Member
 
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Извините, пожалуйста, подскажите, в чем может быть ошибка, набираю программу, все как написали, а программа не работает..
Extended, жалуется на него!
Ксюшенька вне форума   Ответить с цитированием
Старый 19.06.2011, 18:05   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ксюшенька Посмотреть сообщение
Извините, пожалуйста, подскажите, в чем может быть ошибка, набираю программу, все как написали, а программа не работает..
Extended, жалуется на него!
Ну замените Extended на Real, если уж у Вас Паскаль такой убого-ущербный.
И потом - зачем ее "набирать"? Не умеете через copy-paste?
Vladimir_S вне форума   Ответить с цитированием
Старый 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)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ксюшенька Посмотреть сообщение
заменяла, все равно!!!
Увы...но, нет!
Тогда так.
1. Листинг программы, которая не идет. Если набивали сами (непонятно зачем), могли сделать ошибку.
2. Максимум информации об ошибке (в какой строке, позиции, что именно пишет).
Еще раз обращаю внимание - у меня эта программа работает безупречно. Неотлаженных я не выкладываю.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.06.2011, 18:21   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Сейчас еще сообразил: если Вы меняете формат с Extended на Real, то диапазон значений элементов массива необходимо ужать. Например, строку
mas[i]:=50-Random(100);
заменить на
mas[i]:=10-Random(20);
Vladimir_S вне форума   Ответить с цитированием
Старый 19.06.2011, 18:22   #8 (permalink)
Ксюшенька
Member
 
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

не могли, бы подсказать как через copy-paste?
Ксюшенька вне форума   Ответить с цитированием
Старый 19.06.2011, 18:37   #9 (permalink)
Ксюшенька
Member
 
Регистрация: 18.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

invalid FOR control variable

for i:=1 to n do
не пойму, в чем может быть проблема!!!
Ксюшенька вне форума   Ответить с цитированием
Старый 19.06.2011, 18:59   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ксюшенька Посмотреть сообщение
не могли, бы подсказать как через copy-paste?
Наводите мышь на самое начало программы - так, чтобы маркер был перед первым символом. Удерживая нажатой ЛЕВУЮ клавишу, ведите мышь до конца листинга. Отпускаете мышь. Программа должна быть выделена инверсией цветов. Наводите мышь в любое место выделенной области, нажимаете ПРАВУЮ клавишу. В появившемся контекстном меню щелкаете по пункту "копировать" или "copy". Открываете окно, куда хотите вставить текст. Наводите на его поле мышь, нажимаете ПРАВУЮ клавишу и в меню щелкаете по "вставить" ("paste"). Сохраняете файл.
Цитата:
Сообщение от Ксюшенька Посмотреть сообщение
invalid FOR control variable

for i:=1 to n do
не пойму, в чем может быть проблема!!!
Я тоже не пойму, точнее вижу, что в кривом Паскале. Давайте попробуем радикально:
1. Константу убираем (снимаем весь раздел Const).
2. Всюду в программе n заменяем явным значением 10 (вместо n div 2 можно поставить просто 5).
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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