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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 00:53   #1
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию надо немного подкорректировать прогу в Делфи

кто нибудь помогите. У меня есть три проги, но ни одна из них не работает почему то, Вот что они должны делать:

1) дан массив из 15 целых чисел. Если минимальный или максимальный элемент равен 0, то обнулить элементы массива, предшествующие минимальному элементу в массиве.
2) Дана вещественноая матрица размером NxM. Определить числа B(1),B(2),...,B(m), равные среднему арифметическому значению максимального и минимального элементов каждого столбца.
3) дан текст, содержащий от 2 до 50 слов, в каждом из которых от 1 до 7 строчных латинских букв; между соседними словами- не менее одного пробела, за последним словом- точка. вывести те слова текста, которые отличны от первого слова. При выводе удалить в каждом символы, имеющие четные номера.

А вот собственно и проги:
1)
Пусть a - заданный массив
Код:

Код:
var 
  min_idx, max_idx: integer; {номера мак и мин элементов}
  i: integer;
begin
  min_idx:= 1;
  max_idx:= 1;

  { пробегаем массив, обновляя мак и мин }
  for i:= 2 to 15 do begin
    if a[i] < a[min_i] then min_i:= i;
    if a[i] > a[max_i] then max_i:= i;
  end;

  if (a[min_i] = 0) or (a[max_i] = 0) then begin
    { обнуляем все элементы до минимального }
    for i:= 1 to min_i-1 do a[i]:= 0; 
  end;
end.
2) Пусть А - данная матрица
Код:

Код:
var
  i, j, min_idx, max_idx: integer; { счетчики для столбцов/строк и номера мин и макс элементов в столбце }
begin
  { идем подряд по столбцам матрицы А }
  for i:= 1 to M do begin
    { ищем макс и мин в столбце }
    min_idx:= 1;
    max_idx:= 1;
    for j:= 1 to N do begin
       if A[j, i] < A[j, min_idx] then min_idx:= i;
       if A[j, i] > A[j, max_idx] then max_idx:= i;
    end;
    
    { считаем их среднне арифм и записываем в B(i) }
    B[i]:= (A[j, min_idx] + A[j, max_idx]) / 2;
  end;
end.
3)
Код:
var
s:string;
c:integer;
res,buf,New,One:string;
begin
readln(s);
delete(s,pos('.',s),1);
while s[1]=' ' do delete(s,1,1);
while s[length(s)]=' ' do delete(s,length(s),1);
while pos('  ',s)<>0 do delete(s,pos('  ',s),1);
delete(s,pos('.',s),1);
s:=s+' ';
one:=copy(s,1,pos(' ',s)-1);
Delete(s,1,pos(' ',s));
while s<>'' do begin
buf:=copy(s,1,pos(' ',s)-1);
Delete(s,1,pos(' ',s));
if buf<>one then begin
for c:=1 to length(buf) do
if odd(c) then res:=res+buf[c];
res:=res+' ';
end;
end;
while res[length(res)]=' ' do delete(res,length(res),1);
res:=res+'.';
writeln(res);
Readln;
end.

Помогите пожалуйста записать полный код программы и если можно, напишите комноненты которые нужно будет добавить) буду очень признателен за помощь
tec46 вне форума Ответить с цитированием
Старый 22.12.2011, 15:21   #2
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

ну хоть кто нибудь, помогите плиззз...
tec46 вне форума Ответить с цитированием
Старый 22.12.2011, 18:42   #3
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

я конечно понимаю что все это элементарно и ван не хочится заниматься ерундой, но для меня это сложность) если бы я не пропустил много времени в универе по болезди то и для меня это тоже не было бы сложностью, но все есть как есть. Войдите в мое положение, как мне быть?
tec46 вне форума Ответить с цитированием
Старый 22.12.2011, 19:56   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
по болезди
1)2) массивы / матрицы вводить пробовали?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.12.2011, 22:07   #5
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

да, все равно выскакивает ошибка
tec46 вне форума Ответить с цитированием
Старый 22.12.2011, 22:50   #6
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

может я это как то не так делаю?
tec46 вне форума Ответить с цитированием
Старый 22.12.2011, 22:52   #7
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Ну выкладывай код, как ты это делаешь, посмотрим.

Хотя ладно, видимо в голове у тебя сейчас каша...

Вот так должна выглядеть первая:
Код:
uses
  SysUtils;
type
  mass=array[1..15] of integer;

var
  min_i, max_i: integer; {номера мак и мин элементов}
  i: integer;
  a:mass;
begin
  min_i:= 1;
  max_i:= 1;
  randomize;
  for i:=1 to 15 do
    begin
      a[i]:=random(5000);
      write(a[i],' ');
    end;
   writeln;
  { пробегаем массив, обновляя мак и мин }
  for i:= 2 to 15 do begin
    if a[i] < a[min_i] then min_i:= i;
    if a[i] > a[max_i] then max_i:= i;
  end;

  if (a[min_i] = 0) or (a[max_i] = 0) then
    { обнуляем все элементы до минимального }
    for i:= 1 to min_i-1 do a[i]:= 0;

  for i:=1 to 15 do
    write(a[i],' ');
    readln
end
Вторую по образу и подобию. Третью не смотрел.
Все тривиальное просто

Последний раз редактировалось whatever; 22.12.2011 в 23:02.
whatever вне форума Ответить с цитированием
Старый 23.12.2011, 17:30   #8
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

whatever, спасибо и за это)))
tec46 вне форума Ответить с цитированием
Старый 25.12.2011, 12:52   #9
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

да уж, помогли!
tec46 вне форума Ответить с цитированием
Старый 29.12.2011, 20:24   #10
tec46
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 19
По умолчанию

парни завтра надо это здать, а у меня все никак не получается это доделать. Все еще нужна ваша помощь
tec46 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подкорректировать прогу на делфи-сортировка в стрингриде west.by Общие вопросы Delphi 5 10.06.2010 00:31
Написал прогу! немного не то считает! santi90 Компоненты Delphi 2 23.03.2010 18:42
Помогите немного исправить Прогу ApXoH Паскаль, Turbo Pascal, PascalABC.NET 6 04.05.2009 14:22
Помогите немного если не сложно,оч надо(Pascal) Bremen Помощь студентам 7 27.07.2008 12:52
надо немного дописать... Acid Помощь студентам 2 21.05.2007 17:32