IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Написание функций
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Я учусь на програмиста. До зачетов осталось мало, а проги все не здал.
Можете помочь?

6_2:

Написать программу, которая содержит функцию next без параметров,
которая читает из входящего файла первую букву, отличную от space,
и объявляет её своим значением. Использовать эту функцию для подсчёта
k - количества отличных от space букв текста, который заданый в
входящем файле, который заканчиваеться точкой.


6_8:

Написать программу, в которой описано функцию Sum(A,S1,S2),
которая вычисляет сумму тех элементов матрицы А, номера рядов и
столбцов которые принадлежат соответственно непустым множествам
S1 и S2.


ОЧЕНЬ ПРОШУ!!!

В следующий раз называй тему, как положено...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






predikat
Вот первая (если у тебя тестовый файл состоит из нескольких строк, учти, что перенос строки - 2 символа (#10 и #13))...
Код

var
 f: text;

function next: char;
 var ch: char;
 begin
   repeat
     read(f, ch);
   until ch <> #32;
   next := ch
 end;


var
 ch: char;
 count: word;
begin
 assign(f, 'test99.txt');
 reset(f);

 count := 0;
 repeat
   ch := next; inc(count)
 until ch = '.';

 writeln('count = ', count);
 close(f);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Вторую я постараюсь сделать сам. помогите пожалуйсто с этой:

9_22:

Написать программу, которая использует информацию в таблице
FAT и распечатывает список файлов корневого каталога диска C: в формате:
имя файла, тип, время и дата создания,
начальный кластер, размер и указанные атрибуты:
а) h;
б) s;
в) h и s;
г) r.
Сравнить полученные результаты с
результатами выполнения команды dir.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Помогите пожалуйсто написать под эту программу коментарии.
Код

program matrix;
uses crt;
type
     mas=array[1..9,1..9] of integer;
     s=set of 0..9;
var
     a:mas;
     summ,x,y,i,j:integer;
const
     s1:s=[2,3];
     s2:s=[1,3];
function Sum(A:mas; S1,S2:s):integer;
var
   i,j,ss:integer;
  begin
       ss:=0;
       for i:=1 to x do
       if i in S1 then
          for j:=1 to y do
             if j in S2 then
             ss:=ss+A[i,j];
             sum:=ss;
  end;
procedure form_mn(var s1:s; x:byte);
var k:byte;
   begin
     writeln('Закончите ввод нажатием 0');
     writeln('Введите ряды/столбцы от 1 до ',x);
     s1:=[];
        repeat
           writeln('Введите цифру <=',x);
           readln(k);
               if k<>0 then s1:=s1+[k];
               if (k<0) or (k>x) then writeln('Превышен диапозон');
        until (k=0);
   end;
procedure init_mas(var a:mas; x,y:byte);{x - Є®«ЁзҐбвў® бва®Є}
var
       i,j:byte;
   begin
       writeln('Введите элементы массива');
       for i :=1 to x do
          begin
            writeln('Введите элементы', i, ' строки');
            for j:=1 to y do  read(a[i,j]);
            readln;
          end;
   end;
procedure show_mas(a:mas; x,y:byte);
var
       i,j:byte;
   begin
      writeln('Массив ',x,'x',y);
      for i:=1 to x do
          begin
             for j:=1 to y do write(a[i,j]:4);
             writeln;
          end;
   end;
begin
clrscr;
    repeat
        writeln('‚Введите количество столбцов  x <=9');
        readln(x);
    until x<=9;
    repeat
        writeln('Введите количество рядков y <=9');
        readln(y);
    until y<=9;
    init_mas(a,x,y);
    show_mas(a,x,y);
    writeln('М Н О Ж Е С Т В О   Р Я Д О В');
    form_mn(s1,x);
    writeln('М Н О Ж Е С Т В О   С Т О Л Б Ц О В');
    form_mn(s2,y);
    summ:=sum(a,s1,s2);
    writeln('Сумма равна  ', summ);
    readln;
end.



:p2:

Сообщение отредактировано: predikat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






predikat
Программу надо давать в виде текста (используя теги [ code] и [ /code] без пробела)... Как ты думаешь, я сейчас буду набирать всю твою программу, чтобы ее проверить и добавить комментарии? И никто не будет...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 15.12.04 10:58)
predikat
Программу надо давать в виде текста (используя теги [ code] и [ /code] без пробела)... Как ты думаешь, я сейчас буду набирать всю твою программу, чтобы ее проверить и добавить комментарии? И никто не будет...

Извините, я пропарился. Я не знал что pas можно открывать txt.
Всё исправил. Прошу помощи. Особенно по 9_22!!!



Ещё очень прошу помочь написать отчеты для этих прог. ОЧЕНЬ:


Код
program students;
uses crt;
const
   n=5;
type                              
   parameters=record
      surname:string[25];
      group:string[4];
      mark:real;
   end;
var
   st:array[1..n] of parameters;
   j,i:integer;
   s:parameters;
begin
clrscr;
for i:=1 to n do
  begin
    write('Enter the surname of student: ');
    readln(st[i].surname);
    write('Enter the number of group: ');
    readln(st[i].group);
    write('Enter his average mark: ');
    readln(st[i].mark);
  end;
  begin
     for i:=1 to n-1 do
        for j:=i to n do
        if st[i].mark<st[j].mark then
           begin
              s:=st[i];
              st[i]:=st[j];
              st[j]:=s;
           end;
  end;
  writeln;
  writeln('your list...');
  writeln;
  for i:=1 to n do
  with st[i] do
     begin
       write('Surname: ',sruname,'Group: ',group,'Mark: ', mark:1:2);
       writeln;
     end;
  repeat until keypressed;
end.








Код
program text_file;
var
   f:text;
function
   next: char;
   var
      ch: char;
   begin
      repeat
         read(f,ch);
      until ch<> #32;
      next := ch
   end;
var
  ch: char;
  count: word;
begin
  assign(f, 'test99.txt');
  reset(f);
  count := 0;
  repeat
     ch:=next;
     inc(count)
  until ch = '.';
  writeln('count = ', count);
  close(f);
end.







Код
program modul;
uses of_modul;
var
    Sinp, Sout: String;
begin
    write('Enter the string: ');
    readLn(Sinp);
    Upstring(Sinp,Sout);
    Writeln('     Result: ', Sout)
end.
_______________________________
Unit of_modul;
Interface
Procedure UpString(s1: string; var s2: string);
Implementation
procedure upstring;
var
  i: integer;
  c: char;
begin
  s2:= '';
  for i:= 1 to Length(s1) do
     begin
     c:= s1[i];
     if (c>= 'a') and (c <= 'z') then
        c:= chr(ord('A')+ord(c)-ord('a'))
     end
  end;
end.


Сообщение отредактировано: predikat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.05.2024 13:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name