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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2008, 13:04   #1
VisTBacK
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 15
По умолчанию Помогите пожалуйстьа решить несколько задач в Паскале (МАССИВЫ)

Помогите пожалуйстьа решить несколько задач в Паскале (МАССИВЫ). Заранее спасибо!=)
Вот собственно и задачи:
Цитата:
1.В массиве A[1..n] определить три стоящих подряд числа, сумма которых максимальна. Вывести эту сумму,а найденные три числа заменить нулями.
2.Даны массивы A[1..n] и B[1..n], состоящее из целых чисел. Поставить сначала четные,а потом нечетные элементы.
3. Дан целочисленный сассив размером MxN. Найти среди максимальных элементов строк массива минимальный.
4. Найти максимальный элемент массива размером [n:m].
5. Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
Каждая задача в отдельной программе.
Заранее СПАСИБО!!!

Последний раз редактировалось VisTBacK; 08.10.2008 в 13:53.
VisTBacK вне форума Ответить с цитированием
Старый 08.10.2008, 14:14   #2
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Радость

Задача №1
Код:
var a:array [1..100] of real;
     n,k,i:integer; 
     summa,nac:real;
readln(N);
for i:=1 to n do
 readln(a[i]);

nac:=a[1]+a[2]+a[3];
k:=2;
for i:=3 to n-1 do
begin
  summa:=a[i-1]+a[i]+a[i+1];
  if summa>nac
   then
    begin
     nac:=summa;
     k:=i;
    end;
   writeln(nac:3:3);
   a[k]:=0;
   a[k-1]:=0;
   a[k+1]:=0;
   readln;
end.
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 08.10.2008, 14:27   #3
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

2 задача, как я понял: (сразу предупреждаю, что это решение можно улучшить. Я сделал дав новых массива: четных и нечетных элементов)
Код:
var a,chet,nechet:array [1..100] of real;
    i,k,g,n:integer;
begin
  readln(n);
  for i:=1 to n do
    readln(a[i]); 
  k:=0;g:=0;
  for i:=1 to n do
   begin 
    if (a[i] mod 2 = 0)
     then
      begin
       k:=k+1;
       chet[k]:=a[i];
      end 
     else
      begin 
       g:=g+1;
       nechet[g]:=a[i]; 
      end;
   end; 
  {v odin massiv}
  if k>0 then
  for i:=1 to k do
   a[i]:=chet[i];
  if g>0 then  
  for i:=k+1 to g do
   a[i]:=nechet[i];
  for i:=1 to n do
    write(a[i]:3:3);
  
  readln;
end.
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 08.10.2008, 14:35   #4
valis
Пользователь
 
Регистрация: 29.09.2008
Сообщений: 17
По умолчанию

Хм..)Благодарю за решение, но 1 и 2 задача не реализуются в паскале))1-я непонятно по какой причине, а вторая в связи с тем что массив модом делить нельзя( if (a[i] mod 2 = 0)).Мне мозга не хватает чтоб найти правильное решениею Надеюсь, что вы сможете исправить эти ошибки. заранее спасибо
valis вне форума Ответить с цитированием
Старый 08.10.2008, 14:36   #5
valis
Пользователь
 
Регистрация: 29.09.2008
Сообщений: 17
По умолчанию

Хм..)Благодарю за решение, но 1 и 2 задача не реализуются в паскале))1-я непонятно по какой причине, а вторая в связи с тем что массив модом делить нельзя( if (a[i] mod 2 = 0)).Мне мозга не хватает чтоб найти правильное решениею Надеюсь, что вы сможете исправить эти ошибки. заранее спасибо
valis вне форума Ответить с цитированием
Старый 08.10.2008, 14:38   #6
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

3 задача:
Код:
var a:array[1..100] of integer;
     m,n,i,j,tek:integer;
begin
  readln(m,n);
  for i:=1 to m do
   begin
    for j:=1 to n do
     read(a[i,j]);
    readln;
   end;
 
tek:=a[1,1];
for i:=1 to 1 do
 for j:=1 to n do
  if a[i,j]>tek then tek:=a[i,j];

for i:=2 to m do
 begin
  for j:=1 to n do	
    if a[i,j]>max then max:=a[i,j];
  if tek>max then tek:=max;
 end;
 writeln('Otvet ',tek:4);
 readln
end.
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 08.10.2008, 15:05   #7
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

1 задача - должна работать
Уважаемые форумчане
подскажите пожалуйста насчет 41 ошибки в Паскале (if (a[i] mod 2 = 0))
как исправить?
4 задача - по аналогии, не трудно догадаться
5 задача
odd(a[i,j]) - проверка на нечетность
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 08.10.2008, 15:54   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Задача 1 про четные и нечетные числа. А что, вещественные числа бывают такими и у них есть целочисленный остаток от деления? Замените real на integer.
puporev вне форума Ответить с цитированием
Старый 08.10.2008, 21:29   #9
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

cкорее всего так: (a[i] mod 2) = 0
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 08.10.2008, 22:31   #10
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
cкорее всего так: (a[i] mod 2) = 0
Вы что, никак не врубитесь что целочисленное деление недопустимо для вещественных чисел, а также то, что вещественные числа не бывают четными и нечетными? И для чего Вы арифметическое действие в скобки взяли? Это же например (10 : 2)=5
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить пару задач! СРОЧНО!!! andrew_brest Помощь студентам 3 13.04.2009 22:16
Помогите пожалуйста сделать в паскале граф и массивы neomaximus Помощь студентам 9 13.06.2008 10:38
writeln (помогите решить несколько задач!) Evgenii Помощь студентам 2 04.01.2008 23:51
Несколько задач Wilda Паскаль, Turbo Pascal, PascalABC.NET 5 05.12.2007 19:03
Пожалуйста помогите исправить несколько задач Shatyn Помощь студентам 5 25.06.2007 20:20