Помогите срочно!

Тема в разделе "Delphi - FAQ", создана пользователем Kiryapes, 21 янв 2009.

Статус темы:
Закрыта.
  1. Kiryapes

    Kiryapes Гость

    Вот первая задача:
    Дана действительная матрица размером n*m все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденым значением.
    Вторая задача:
    Дан текст из строчных латинских букв, за которым следует точка. Напечатать все буквы, входящие в текст по одному разу.
    Третья задача:
    Создать файл содержащий произвольный текст. Проверить, правильно ли в нем раставленны круглые скобки.
    Помогите плиЗ!
    :unsure:
     
  2. BurcevD

    BurcevD Гость

    Задача № 1
    Код (Text):
    //Размерность массива, я указал 3 на 3, можно указать свою
    const n=3;
    m=3;
    //Описание переменных
    Var a:array[0..n-1,0..m-1] of real;
    x,y:Integer;
    First:Boolean;
    Min,Max:Real;
    MinX,MinY,MaxX,MaxY:Integer;
    Begin
    //Вводим значения элементов массива
    Writeln('Source array...');
    For y:=0 to n-1 do
    For x:=0 to m-1 do
    Begin
    Write('Element ',x,'-',y,':');
    Readln(a[y,x]);
    end;
    //Флаг, что первый раз ищем максимальный из минимальных элементов равен ИСТИНА
    First:=True;
    //Проходим каждую строку
    For y:=0 to n-1 do
    begin
    //Вначале считаем, что минимальный элемент 0 в искомой строке
    min:=a[y,0];
    minx:=0;
    miny:=y;
    //ПРоходим всю строку
    For x:=0 to m-1 do
    //Если нашли еще меньший элемент, то
    if (min>a[y,x]) then
    begin
    //Запоминаем его и его индексы
    min:=a[y,x];
    minx:=x;
    miny:=y;
    end;
    //После того, как нашли минимальный элемент смотрим:
    //Является он первым по списку или есть еще один минимальный элемент,
    //больший чем найденные ранее
    if (First)or(Max<min) then
    Begin
    //Если да то запоминаем его как максимальный и запоминаем его индексы
    Max:=min;
    MaxX:=minx;
    MaxY:=miny;
    First:=false;
    end;
    end;
    //Выводим исходный массив на экран
    For y:=0 to n-1 do
    begin
    For x:=0 to m-1 do Write(a[y,x]:5:2);
    Writeln;
    end;
    //Выводим максимальный элемент из минимальных, и его индексы Х и У
    Writeln('Max element is ',max:5:2,' and indexes is X-',maxx,', Y-',maxy);
    end.
    Задача №2
    Код (Text):
    //Описываем переменные
    Var S:String;
    i:Integer;
    A:Array[0..255] of byte;
    Begin
    //Водим строку
    Write('Inter string:');
    Readln(s);
    //Заполняем массив нулями
    For i:=0 to 255 do a[i]:=0;
    //Проходим всю строку
    For i:=1 to length(S) do
    //Выполняются следующие операции:
    //1. Берется i-ый симво из строки
    //2. Переводится в ASCII код - число от 0 до 255
    //3. Элемент массива с этим номером увеличивается на 1
    Inc(a[ord(s[i])]);
    //Проходим весь массив
    For i:=0 to 255 do
    //Если символ встречался один раз, то выводим его на экран
    if a[i]=1 then Writeln(chr(i));
    end.
    Задача №3

    Код (Text):
    //Описываем переменные
    Var F:Text;
    S:String;
    i:Byte;
    Skoba:Integer;
    Begin
    //Отключаем ошибки
    {$I-}
    //Связываем переменную F с файлом, который хотим открыть
    Assign(f,'input.txt');
    //ПРобуем открыть его для чтения
    Reset(f);
    //Включаем проверку на ошибки
    {$I+}
    //Если произзошла какая-то ошибка, то сообщаем о ней
    If IOResult<>0 then writeln('File not found...') else
    begin
    //Количество скоб равно 0
    Skoba:=0;
    //Пока не конец файла ..
    WHile not EOF(F) do
    begin
    //Считываем строку
    Readln(f,s);
    //Проходим по строке
    For i:=1 to Length(s) do
    //Если встречается символ открытой скобки, то увеличиваем переменую Skoba на 1
    If s[i]='(' then Inc(Skoba) else
    //Если встречается символ закрытой скобки, то уменьшаем на один
    If s[i]=')' then Dec(Skoba);
    end;
    //Закрываем файл
    Close(F);
    //Если количество скоб открытых равно закрытых,
    //т.е. переменная Skoba равно 0 то ошибок нет, в
    //противном случае есть ошибки, также можно отдельно узнать каких скоб не хватает
    //если переменная Skoba меньше 0, то не хватает открывающих скоб
    //если больше 0, то не хватает закрывающих
    If Skoba=0 then Writeln('No errors') else
    Writeln('Error!!!');
    end;
    end.
     
  3. Kiryapes

    Kiryapes Гость

    Большое спасибо
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей