Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 14 
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Улан-Удэ
Помогите, пожалуйста, товарищи! Сегодня был на курсах по информатике, а мы там проходим Delphi, ну так вот: собираюсь я домой уже, а мне учитель так "ласково": "А должок?"
-Какой?
-Такой! Ты еще экзамен по Паскалю до сих пор не сдал! А мы его уже 1,5 месяца назад закончили!
-О-па! Ну, э-э, я сдам на следующем уроке.
-Э, нет! Давай- тяни билет!
Ну я вытянул и попал! Теорию я-то написал, а контрольной задачей меня и добили! Я ж ни черта не помню, Делфи один в голове! Послезавтра (16.12.2004) пересдача, вот прошу помощи у вас.
Мне дали билеты, сказали проделать, а на уроке дадут подобную задачу и мне надо будет её решить, а как делать-то не знаю! Вот и прошу.
Вот задачи:
1) Составить программу для вычисления суммы элементов в каждом столбце матрицы A(M,N)
2) Составить программу вычисления произведения минимальных элементов строк матрицы A(M,N)

Прошу, именно, помочь разобрать эти задачи, а не просто дать мне готовые решения, очень нуждаюсь в вашей помощи, братья оверклокеры и сестры оверклокерши.

Всех с наступающим Новым Годом! И Новым гадом в виде петуха! :D



Партнер
 

Member
Статус: Не в сети
Регистрация: 31.05.2004
яндекс рулит ищи учебник по паскалю.


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 03.03.2004
Откуда: CAPATOB
@.ru
Цитата:
1) Составить программу для вычисления суммы элементов в каждом столбце матрицы A(M,N)

Код:
{$A+,B-,D+,E+,F-,G-,I+,L+,N+,O-,P-,Q-,R-,S+,T-,V+,X+,Y+}
{$M 16384,0,655360}
Const
  N = 10;
  M = 10;
Var
  A : Array [1..M, 1..N] of Integer;
  S : Array [1..N] of Integer;
  I, J : Integer;
Begin
  Randomize;
  For I := 1 to M do
  begin
    For J := 1 to N do
    begin
      A[I, J] := Random(1000);
      Write(A[I, J]:5);
    end;
    WriteLn;
  end;
  WriteLn(' << Summa >>');
  For I := 1 to N do
  begin
    For J := 1 to M do
    begin
      Inc(S[I], A[J, I]);
    end;
    Write(S[I]:5)
  end;
  ReadLn;
End.

Цитата:
2) Составить программу вычисления произведения минимальных элементов строк матрицы A(M,N)

Код:
{$A+,B-,D+,E+,F-,G-,I+,L+,N+,O-,P-,Q-,R-,S+,T-,V+,X+,Y+}
{$M 16384,0,655360}
Const
  N = 10;
  M = 10;
Var
  A : Array [1..M, 1..N] of Integer;
  Min : Array [1..M] of Integer;
  I, J : Integer;
  P : Extended;
Begin
  Randomize;
  For I := 1 to M do Min[I] := 2000;
  P := 1;
  For I := 1 to M do
  begin
    For J := 1 to N do
    begin
      A[I, J] := Random(1000);
      Write(A[I, J]:5);
      If A[I, J] < Min[I] then Min[I] := A[I,J];
    end;
    P := P * Min[I];
    WriteLn;
  end;
  WriteLn(' << Proizvedenie = ', P:25:0, ' >>');
  ReadLn;
End.

Цитата:
Прошу, именно, помочь разобрать эти задачи, а не просто дать мне готовые решения, очень нуждаюсь в вашей помощи, братья оверклокеры и сестры оверклокерши.

Задачи слишком простые чтобы их разбирать. Лучше скажи что непонятно.

Genius Exoticus
Цитата:
яндекс рулит ищи учебник по паскалю.

Нехорошо говоришь... Сам-то паскаль знаешь?

_________________
Moderator not found. Begin flame war (Y/N)?
Моя ПС: http://people.overclockers.ru/Mozg


 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Улан-Удэ
Mozg[1024]
Ничерта не понятно, все забыл! Я просто ******!
ЗЫ Спасибо за решение, но еще бы и объяснение, пожалуйста...

Добавлено спустя 5 часов, 52 минуты, 33 секунды:
Mozg[1024]
Э-э, а что эти задачи вычисляют? Я сейчас их проверил, а они какие-то циферки выдают :)
Там же надо таблицу сделать (3 строчки и 4 столбика), эти ячейки самому заполнить, а на основании введенных данных прога должна вывести результат. И зачем там readln в конце? Что туда вводить-то надо?
ЗЫ У вас еще end-ов не хватает :oops:

Эх! Слишком мало времени осталось, ничерта я не сделаю, не успею, завтра сразу после школы это попадалово, а сейчас у меня уже 19:50, да-да, попал я! "3" за полугодие будет, не более, а то верная смерть от родителей!


 

Member
Статус: Не в сети
Регистрация: 08.03.2004
Помогие решить:
Дан текс и N-ого кол-ва строк, найти кол-во слов, и записать каждое слово в массив.


 

посчитай кол-во проьелов перед словами и прибавь 1


 

Member
Статус: Не в сети
Регистрация: 02.03.2003
Откуда: Pink Bird M.I.
@.ru
Цитата:
Сегодня был на курсах по информатике, а мы там проходим Delphi

Как можно проходить Delphi не зная паскаля?

_________________
Everything counts in large amounts.


 

Member
Статус: Не в сети
Регистрация: 08.03.2004
Kola
Мона! У мня одноклассник сначала делфи прошол, а теперь без труда паскаль осваивает.
ТИМ
А поподробнее можно.


 

c48gl
Цитата:
А поподробнее можно.


С пробелами - это неверный подход: словами будут считаться тире и т.п. А если строка нестандартная (начинается с пробела, между словами N-e число пробелов и т.п.) - это вообще катастрофа, а не решение :)

Вот, что сходу в голову пришло, даже не проверял (может, тоже не лучший вариант, но тем не менее):

Код:
Program WordCount
Const Letters: Set Of Char=['A'..'Z', 'А'..'Я', 'a'..'z', 'а'..'я'];
Var s:String;
    i: Integer;
    count: Integer;
Begin
     WriteLn('Введите строку:');
     ReadLn(s);

     i := 1;
     count := 0;

     Repeat
        While Not (s[i] In Letters) And (i <= Length(s)) Do Inc(i);

        If (i <= Length(s)) Then Inc(count);

        While (s[i] In Letters) And (i <= Length(s)) Do Inc(i);
     Until (i > Length(s));

     WriteLn('Число слов: ', count);
End.


Все понятно? ;)

Суть такая: главный цикл следит за тем, чтобы мы за пределы строки не выскочили. Теперь о его внутренностях.
Первый while пропускает участки, не содержащие буквы. Как только найдена буква (или добежали до конца строки), цикл прерывается.
Далее - условие. Его смысл такой: если после прохождения первого цикла переменная i меньше длины строки, то в цикле определенно была найдена буква - счетчик слов увеличивается.
Второй while пропускает участки, содержащие буквы, т.е. слова - полная аналогия с первым while.

Таким образом, мы аккуратно движемся по строке и вылавливаем все слова до единого.

Пример только подсчитывает количество слов. Как их записывать в массив - это пусть в качестве домашнего задания останется. Подсказка: нужно ввести дополнительные переменные и немного модифицировать последний цикл while - он как раз бежит по буквам очередного слова ;)

PS: учите Pascal, иначе чужие примеры вам не помогут :gun: ;)


 

Member
Статус: Не в сети
Регистрация: 02.03.2003
Откуда: Pink Bird M.I.
c48gl
Цитата:
Мона! У мня одноклассник сначала делфи прошол, а теперь без труда паскаль осваивает.

Ну так он без труда ведь его осваивает.

_________________
Everything counts in large amounts.


 

c48gl
Это интересно как так, сначала Дельфи в котором используется Object pascal? а потом простой Pascal изучают?


 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Улан-Удэ
Цитата:
Это интересно как так, сначала Дельфи в котором используется Object pascal? а потом простой Pascal изучают?

Сначала Дельфи, Паскаль... ... ассемблер :D

Добавлено спустя 1 минуту, 54 секунды:
Кстати, на счет моего первого поста. Я задачки переработал, да и сдал их, ответил теорию, написал подобную прогу на уроке и получил 5 :)


 

Member
Статус: Не в сети
Регистрация: 08.03.2004
Составить прогу, выделяющую каждую букву а в слове Х знаком тире(-).
Я пробовал, но не получается. Вот чё я напробовал. Не понимаю что тут.
Код:
Program zadacha2;
 Var x: string;
 i:integer;
 begin
 writeln ('Propishite slova');
 readln (x);
 for i:=1 to length(x) do   begin
 if x[i]='a' then    insert ('-a-' , x , i)
 end;
 writeln (x)  ;
 end.


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
c48gl
Код:
var
  s:string;
  i:integer;
begin
  writeln;
  write('S=');
  readln(s);
  i:=1;
  while i<=length(s) do begin
      if s[i]='a' then begin
          insert('-',s,i+1);
          insert('-',s,i);
          inc(i);
      end;
      inc(i);
  end;
  writeln(s);
  readln;
end.

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 14 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: San`Я и гости: 26


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan