Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Помогите с задачами


Автор: Юля2009 12.6.2009, 13:39
Здраствуйте, я у вас новенькая, но нуждаюсь очень в вашей помощи!
Немогу решить задачки по паскалю, очень трудно даеться ОАП
вот задачки:
  • Дан текстовый файл и некоторое слово. Напечатать те строки файла, которые содержат данное слово.
  • Распечатать список учеников, фамилии которых начинаются на букву А, с указанием места жительства, возраста и пола.
  • Дан двумерный массив, содержащий 5 строк и 3 столбца. Элементами массива являются целые числа. Упорядочить массив по неубыванию элементов первого столбца.
  • Дан двумерный массив, содержащий N*N элементов. Написать подпрограмму, выполняющую замену нулями всех положительных элементов.

Очень, очень, очень надеюсь на вашу помощь... иначе меня просто придушат)) smile 
Если можно выкладывайте решения прямо вот этот топик
Заранее всем спасибо! smile 

Автор: Данкинг 12.6.2009, 14:10
Цитата(Юля2009 @  12.6.2009,  14:39 Найти цитируемый пост)
иначе меня просто придушат))

О, прикольно, надеюсь, фотки с видео потом выложат? smile 

А серьёзно - с такими просьбами ("сделайте за меня") - в "центр помощи". smile 

Автор: Юля2009 12.6.2009, 15:03
Цитата

О, прикольно, надеюсь, фотки с видео потом выложат?  

А мне не смешно, мне плакать охото  smile 

Автор: Keeper89 12.6.2009, 15:27
Цитата(Юля2009 @  12.6.2009,  16:03 Найти цитируемый пост)
А мне не смешно, мне плакать охото

Во время семестра учиться надо было, чем вы судя по всему не занимались, и плакать бы сейчас не пришлось.
Вот 4 задача:
Код

program N4;
var
    A: array [1..50, 1..50] of integer;
    N, i, j: integer;
begin
    write('Введите N<=50: '); readln(N);
    { Ввод элементов }
    for i := 1 to N do
        for j := 1 to N do
        begin
            write('A[',i,',',j,']='); readln(A[i,j]);
        end;
    { Замена }
    for i := 1 to N do
        for j := 1 to N do
            if A[i,j] > 0 then A[i,j] := 0;
    { Вывод измененного массива }
    for i := 1 to N do
    begin
        for j := 1 to N do
            write(A[i,j]:3, ' ');
        writeln;
    end;
end.

Автор: Юля2009 12.6.2009, 16:17
Keeper89, не всем даеться программирование хорошо, как некоторым. А на 4ый мне расписали чуть чуть по другому:

Код

uses crt;
type mas=array[1..100,1..100] of integer;
 
procedure zamena(var a:mas;n:integer);
var i,j:integer;
begin
  for i:=1 to n do
  for j:=1 to n do
    if a[i,j]>0 then a[i,j]:=0;
end;
 
var a:mas;
    i,j,n:integer;
begin
  clrscr;
  writeln('Vvedite Razmer:');readln(n);
  for i:=1 to n do
  for j:=1 to n do
   begin
     write('a[',i,',',j,']=');
     readln(a[i,j]);
   end;
  writeln('Vvedennaja matrica:');
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      write(a[i,j]:4);
    end;
    writeln;
  end;
  zamena(a,n);
  writeln('Matrica posle obrabotki:');
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      write(a[i,j]:4);
    end;
    writeln;
  end;
  readln;
end.


И кому сейчас верить? вам или ему? Я в замешательстве... smile 


Автор: bems 12.6.2009, 16:36
а почему одно должно противоречить другому. Скомпилируй, запусти, и сравни как работает.

Автор: Keeper89 12.6.2009, 18:10
Цитата(Юля2009 @  12.6.2009,  17:17 Найти цитируемый пост)
А на 4ый мне расписали чуть чуть по другому:

Так вам уже все расписали?

Автор: Юля2009 12.6.2009, 20:42
Цитата

Так вам уже все расписали? 

Нет не все, только 4ый, а больше жалко нету(((
А кто нибудь за отдельную плату может сделать все 4 задачи + к ним блок схемы нарисовать?

Автор: Данкинг 12.6.2009, 21:32
Цитата(Юля2009 @  12.6.2009,  17:17 Найти цитируемый пост)
И кому сейчас верить? вам или ему?

Верить надо тому, чей код работает правильно. smile 

Автор: Keeper89 12.6.2009, 22:24
Цитата(Юля2009 @  12.6.2009,  21:42 Найти цитируемый пост)
А кто нибудь за отдельную плату может сделать все 4 задачи + к ним блок схемы нарисовать? 

Здесь, за плату, вряд ли smile А вот помочь - пожалуйста. Может быть даже остальные задачи кто-нибудь поможет сделать.
Вот, было время, написал 3:
Код

program N3;
var
    A: array [1..5, 1..3] of integer;
    N, i, j, temp: integer;
begin
    { Ввод элементов }
    for i := 1 to 5 do
        for j := 1 to 3 do
        begin
            write('A[',i,',',j,']='); readln(A[i,j]);
        end;
    { Вывод массива }
    writeln('Исходный массив:');
    for i := 1 to 5 do
    begin
        for j := 1 to 3 do
            write(A[i,j]:3, ' ');
        writeln;
    end;
    { Замена }
    for i := 1 to 4 do
        for j := i + 1 to 5 do
            if A[i,1] > A[j,1] then
            begin
                temp := A[i,1];
                A[i,1] := A[j,1];
                A[j,1] := temp;
                temp := A[i,2];
                A[i,2] := A[j,2];
                A[j,2] := temp;
                temp := A[i,3];
                A[i,3] := A[j,3];
                A[j,3] := temp;
            end;
    { Вывод измененного массива }
    writeln('Измененный массив:');
    for i := 1 to 5 do
    begin
        for j := 1 to 3 do
            write(A[i,j]:3, ' ');
        writeln;
    end;
end.

Автор: Юля2009 13.6.2009, 16:04
Keeper89, спасибо вам большое
Держите большой большой поцелуй  smile 

Автор: Keeper89 13.6.2009, 20:33
Пожалуйста, Юля2009 ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)