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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 22:28   #1
Wenia
Пользователь
 
Аватар для Wenia
 
Регистрация: 15.11.2012
Сообщений: 20
Вопрос Составить на языке Турбо Паскаль программку обработки строк и двумерного массива ))

Ох, помогите пожалуйста, не понимаю я эти задачки
Я сама гуманитарий, с информатикой всегда беда была, а тут задали эту работу, сижу мучаюсь теперь

В меню обязательно должны быть эти пунктики:
1) ввод и обработка символьной строки с выводом результатов; (задача №1)
2) ввод и обработка двумерного массива с выдачей результатов;(задача №2)
3) выход из программы (с подтверждением).

Алгоритмы задач 1 и 2 оформить в виде процедур или функций, внутренних по отношению к главной программе.

№1 Ввести строку и сформировать из инвертированных её слов новую строку.
№2 Ввести матрицу и определить, во сколько раз максимум больше абсолютной величины минимума.


Нужно, чтоб матрицу и число строк/столбцов смогла вводить сама.))
И нужно сделать так, что бы матрица вводилась в ручную, а не заполнялась рандомом.
Будьте няшечками - помогите написать прогу ))
Wenia вне форума
Старый 08.12.2012, 22:34   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Wenia, здрасте Давайте поможем друг-другу. Вы же историк, дак напишите мне сочинение на тему "Место России в мировой истории" А я Вам программки накатаю
Poma][a вне форума
Старый 08.12.2012, 22:43   #3
Wenia
Пользователь
 
Аватар для Wenia
 
Регистрация: 15.11.2012
Сообщений: 20
По умолчанию

Poma][a, приветик, хорошо)) Скажи только, какие временные рамки и особенности сочинения( какие моменты осветить подробнее и т.п. И надо ли вставлять туда личное мнение по этому вопросу (:D) или только факты?))
Wenia вне форума
Старый 08.12.2012, 22:51   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Так-с. Примерно до 9 класса. (До XX века). Личное мнение можно вставить, а можно и опустить
Poma][a вне форума
Старый 08.12.2012, 22:59   #5
Wenia
Пользователь
 
Аватар для Wenia
 
Регистрация: 15.11.2012
Сообщений: 20
По умолчанию

Хорошо)) Я поняла)) До вторника точно напишу, ибо завтра целый день в разъездах, занята, а в понедельник начну))
Wenia вне форума
Старый 08.12.2012, 23:08   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Огроменное спасибо!)
Poma][a вне форума
Старый 08.12.2012, 23:32   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Так-с, кажется так :
Код:
uses CRT;

type
    TArr = array [1..100, 1..100] of Integer;

procedure InitArr (var a : TArr; var n, m : Integer);
var
    i, j : Integer;
begin
  WriteLn('Вы выбрали ввод значений в массив');
  Write ('Введите размерность массива ');
  Read (n, m);
  for i := 1 to n do
    for j := 1 to m do
        Read (a[i, j]);
  ReadKey
end;

procedure PrintArr (const a : TArr; const n, m : Integer);
var
    i, j :  Integer;
begin
  WriteLn('Вы выбрали вывод значений массива');

  for i := 1 to n do begin
    for j := 1 to m do
        Write (a[i, j], ' ');
    WriteLn
  end;
  ReadKey

end;

procedure InvertStr;
var
    s, s1 : string; {s - исходная строка; s1 - результирующая}
    i, j : Integer;

begin
    Write ('Исходная строка : ');
    ReadLn (s);
    s := s + ' ';
    s1 := '';

    for i := 1 to Length(s) do
        if s[i] = ' ' then begin
            j := i-1;
            while (s[j] <> ' ') and (j > 0) do begin
                s1 := s1 + s[j];
                Dec (j)
            end;
            s1 := s1 + ' '
        end;
    WriteLn ('Результирующая строка : ', s1);
    ReadKey
end;

procedure PosMaxMin (const a : TArr; const n, m : Integer);
var
        max, min, i, j : Integer;

begin
        WriteLn ('Вы выбрали обработку массива (задача 2)');
        max := a[1, 1];
        min := a[1, 1];
        for i := 1 to n do
                for j := 1 to m do
                        if a[i, j] > max then
                                max := a[i, j]
                        else if a[i, j] < min then
                                min := a[i, j];

        WriteLn ('Наибольшим элементов массива является ', max);
        WriteLn ('Наименьшим элементов массива является ', min);
        WriteLn ('Значение максимум в ', max / abs (min) : 0 : 6, ' больше абсолютной величины минимума');

        ReadKey
end;



var ct : char;
    a : TArr;
    n, m : Integer;

begin
  repeat

    ClrScr;
    WriteLn('Выберите действие:');
    writeln('1 - ввод массива');
    writeln('2 - вывод массива');
    writeln('3 - ввод и обработка строки (задача 1) с выдачей результатов');
    writeln('4 - обработка массива (задача 2) с выдачей результатов');
    writeln('5 - выход из программы (с подтверждением)');
    Writeln('_________________________ ');
    repeat
      Write('Выш выбор: ');
      readln(ct);
    until ct in ['1'..'5'];

    case ct of
      '1' : InitArr (a, n, m);
      '2' : PrintArr (a, n, m);

      '3' : InvertStr;
      '4' : PosMaxMin(a, n, m) ;

      '5' : {запрос подтверждения}
            begin
              WriteLn;
              Write('Вы действительно хотите выйти из программы? (Y/N) : ');
              ReadLn(ct);
              if (ct='Y') or (ct='y') then ct := '5';
                                  { возвращаем '5'-ку в переменную, по ней будет выход из цикла }
            end;
    end;

  until ct = '5'; { выход из программы }

  WriteLn('Программа закончила работу. Bye!');
  ReadLn
end.
Если есть вопросы, пожелания, предложения, etc. То говорите что объяснить, исправить, доделать))
Poma][a вне форума
Старый 11.12.2012, 20:23   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Долго ждал Ромаха ответа, ничего не ответила Wenia, лишь хвостом по воде плеснула, и ушла подальше от этого дивного форума...
Poma][a вне форума
Старый 11.12.2012, 20:34   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Долго ждал Ромаха ответа, ничего не ответила Wenia
Зато программа написана.
I'm learning to live...
Stilet вне форума
Старый 12.12.2012, 18:45   #10
Wenia
Пользователь
 
Аватар для Wenia
 
Регистрация: 15.11.2012
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Долго ждал Ромаха ответа, ничего не ответила Wenia, лишь хвостом по воде плеснула, и ушла подальше от этого дивного форума...
Ничего подобного! не было выхода в интернет!
Wenia вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить на языке Турбо Паскаль программу обработки строк и двумерного массива. Wenia Паскаль, Turbo Pascal, PascalABC.NET 11 30.11.2012 09:47
Составить на языке Турбо Паскаль программу обработки одномерного массива (управление через меню) Wenia Паскаль, Turbo Pascal, PascalABC.NET 8 16.11.2012 08:47
сортиовка двумерного массива в турбо бейсике Полиночка Помощь студентам 1 23.11.2011 09:26
Пожалуйста,помогите составить программу задачи на языке Турбо Паскаль-задача на функцию Jan Помощь студентам 1 07.01.2009 19:39
написать программу обработки двумерного массива Miushka Паскаль, Turbo Pascal, PascalABC.NET 5 05.02.2008 23:32