Типизированные файлы как найти сумму

2 / 2 / 0

Регистрация: 18.02.2011

Сообщений: 93

1

Найти сумму чисел типизированного файла

07.04.2011, 21:17. Показов 1399. Ответов 6


Студворк — интернет-сервис помощи студентам

Имеется типизированный файл с числами Найти сумму к1-го и к2-го чисел файла.
Помогите пожалуйста.ОЧ нужно.



1



KaiTheCat

К.О.

534 / 499 / 344

Регистрация: 26.03.2011

Сообщений: 1,141

08.04.2011, 19:08

2

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const
   s='text.txt';
var
   i,k,sum: integer;
begin
   assign(f,s);
   reset(f);
   for i:=1 to 2 do
      begin
         readln(f, k);
         sum:=sum+k;
      end;
   close(f);
   writeln(sum);
   readln;
end.

так чтоль?



1



the_crow

последний из ворон

111 / 111 / 63

Регистрация: 02.02.2011

Сообщений: 334

08.04.2011, 22:41

3

нет, скорее так=)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const
   s='text.txt';
var
   i,k1,k2,k: integer; f:textfile; sum:real;
begin
   writeln('k1='); readln(k1);
   writeln('k2='); readln(k2);
   sum:=0;
   i:=1;
   assign(f,s);
   reset(f);
   while not eof(f) do
      begin
         readln(f, k);
         if ((k1<>i)or(k2<>i)) then 
         sum:=sum+k;
         inc(i);
      end;
   close(f);
   writeln(sum);
   readln;
end.



1



К.О.

534 / 499 / 344

Регистрация: 26.03.2011

Сообщений: 1,141

08.04.2011, 22:55

4

а по-моему нет
Читай: чисел файла
А не чисел с проги
Хотя хз>< ты ж знаешь — я в них не шарю



1



2857 / 1986 / 788

Регистрация: 23.09.2010

Сообщений: 4,877

08.04.2011, 23:05

5

KaiTheCat
the_crow

Имеется типизированный файл

и этим всё сказано



1



К.О.

534 / 499 / 344

Регистрация: 26.03.2011

Сообщений: 1,141

08.04.2011, 23:10

6

мле до меня дошло что здесь хотят><
//я жираф



1



SuPeR XaKer

2857 / 1986 / 788

Регистрация: 23.09.2010

Сообщений: 4,877

08.04.2011, 23:21

7

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses
 crt;
var
 f:file of integer;
 n,i,a,l,k,m,p:integer;
begin
clrscr;
randomize;
assign(f,'D:1.txt');
rewrite(f);
write('Введите кол-во чисел: ');
readln(n);
randomize;
writeln('Записанные в файл числа: ');
for i:=0 to n-1 do
begin
 a:=random(50)-7;
 write(a,'  ');
 write(f,a);
end;
close(f);
writeln;
reset(f);
repeat
 write('Введите номер k1-й компоненты файла (нумерация в файле с 0): ');
 readln(p);
until p in [0..n-1];
repeat
 write('Введите номер k2-й компоненты файла (нумерация в файле с 0): ');
 readln(m);
until m in [0..n-1];
seek(f,p);
read(f,l);
seek(f,m);
read(f,k);
writeln(l,'+',k,':=',k+l);
close(f);
readln;
end.



1



uses crt;
var i,n,k,q:byte;
      num,sum: integer;
      arr: array [1..128] of integer;
      f: file of integer;
begin
clrscr;
assign(f,'digits.txt');
//формирование типизированного файла, если необходимо
rewrite(f);
write('Введите количество цифр: '); readln(n);
for i:=1 to n do
begin
write('Введите ', i, ' цифру: '); 
readln(num);
write(f,num);
end;
 close(f);
 //сформировали файл,теперь работаем с файлом
  //для удобства сделал проще. Читаю из файла в массив, а потом просто работаем с этим массивом
 num:=0;
 sum:=0;
 reset(f);
  while not eof (f) do
   begin
     inc(num);
     read(f,arr[num]);
   end;
 close(f);
 writeln('Цифры в файле: ');
  for i:=1 to num do
   begin
     write(' ',arr[i],' ');
     sum:=sum+arr[i];
   end;
writeln;
write('Введите k: '); readln(k);
write('Введите q: '); readln(q);
writeln('Сумма 1 и 2: ', arr[1]+arr[2]);
if (k>num) or (q>num) then writeln('Сумма k и q элементов не существует ')
else writeln('Сумма k и q: ', arr[k]+arr[q]);
writeln('Произведение 1 и последнего: ', arr[1]*arr[num]);
writeln('Сумма всех: ', sum);
readln;
end.

На занятии будет рассмотрена работа с типизированными файлами в Паскале и разобраны конкретные решенные примеры задач

Содержание:

  • Типизированные файлы в Паскаль
    • Описание:
    • Открытие файла
    • Чтение из текстового файла
    • Запись в текстовый файл
    • Процедуры работы с файлом
  • Символьные и строковые файлы (типизированные)
    • Последовательный доступ
  • Числовые файлы (типизированные)
    • Последовательный доступ
    • Прямой доступ

Типизированные файлы в Паскаль

Типизированный файл может быть описан как файл любого типа (кроме типа file). Описывают подобный файл словосочетанием file of с последующим указанием типа компонентов файла.

Файл с типом, т.е. типизированный файл состоит из последовательности записей (компонент), имеющих одинаковую длину и одинаковый внутренний формат.

Записи (компоненты) следуют непрерывно друг за другом. К данным такого файла можно обращаться как последовательно, так и выборочно — с прямым доступом.

При последовательном доступе записи (компоненты) размещаются в файле последовательно в порядке их поступления.

При прямом доступе данные размещаются в определенных областях, имеющих последовательную нумерацию, и начинаются с нуля. Движение по записям осуществляется посредством так называемого указателя, перемещение которого осуществляется при помощи процедур (seek pascal). После открытия файла указатель (номер текущей компоненты) стоит в самом начале, т.е. на нулевом компоненте. После каждого прочтения или записи указатель сдвигается к следующему компоненту.

Описание:

  1. var
       f1: file of char;
       f2: file of integer;
  2. type t = file of real;
    var f: t;
  3. type st = record
            a: string[10];
            b: integer;
    end;
    var dan: file of st;
    </ol>

Открытие файла

Чтение из текстового файла

Read (f, список переменных);

Запись в текстовый файл

Write (f, список переменных);
WriteLn (f, список переменных);

Процедуры работы с файлом

Смещение указателя файла:
Процедура seek в Паскаль смещает указатель файла f на n-ную позицию. Используется при прямом доступе к файлу:

Процедура возвращающая размер файла:

функция проверки конца файла:

Символьные и строковые файлы (типизированные)

Последовательный доступ

Пример: (последовательный доступ) Посимвольно считывать данные из файла и выводить их на экран – каждый символ с новой строки

1
2
3
4
5
6
7
8
9
10
11
12
13
var
    f: file of char;
    c: char;
begin
    assign (f, 'c:file.txt');
    reset (f);
    while not eof (f) do begin {пока не достигнут конец файла}
        read (f, c);
        writeln (c);
    end;
close (f);
readln
end.

Пример: (последовательный доступ) Записывать в файл определенное кол-во символов (символы и их количество вводит пользователь)

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
    f: file of char;
    c: char;
    i, n: byte;
begin
    assign (f, 'c:file.txt');
    rewrite (f);
 
    write ('Количество символов: ');
    readln (n);
 
    for i:=1 to n do begin
        write ('Введите символ: ');
        readln (c);
        write (f, c);
    end;
close (f);
end.

Пример: (последовательный доступ) Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить все его элементы, расположенные после первого символа пробела, включая и этот пробел.

* Предварительно следует программно записать в исходный файл символы

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var
 F_in,F_out: File of Char;
 a,C:Char;
 i:integer;
begin
  Assign(F_in,'c:text.txt');
  ReWrite(F_in);
  write('Какие символы записываем в исходный файл?');
  for i:=1 to 5 do
  begin
       read(a);
       write(F_in,a);
  end;
 
  Reset(F_in);
  Assign(F_out,'c:text1.txt');
  ReWrite(F_out);
 
  Read(F_in,C);
  while (not eof(F_in)) and (C<>' ') do
   begin
    Write(F_out,C);
    Read(F_in,C);
   end;
   Close(F_out);
   Close(F_in);
   Erase(F_in);
   Rename(F_out,'c:text.txt');
end.

pascal file string1. Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить все его элементы, расположенные после последнего символа пробела, включая и этот пробел.

Пример: Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке).

Пример:

Введите строки исходного файла:
первая строка
вторая строка длинная
третья строка
строка
пятая строка

результирующий файл:
строка

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var
 S: String;
 F_in,F_out: file of string;
 MinLen: integer;
  i:integer;
begin
  Assign(F_in,'c:text.txt');
  Rewrite(F_in);
   write('Введите строки исходного файла:');
  for i:=1 to 5 do
  begin
       read(s);
       write(F_in,s);
  end;
  Reset(F_in);
  Assign(F_out,'c:text1.txt');
  Rewrite(F_out);
 
 MinLen:=-1;
 
 
 while (not eof(F_in)) do
  begin
   Read(F_in,S);
   if (Length(S)<MinLen) or (MinLen=-1) then
   MinLen:=Length(S);
  end;
 
 Close(F_in);
 Reset(F_in);
 
 
 while (not eof(F_in)) do
  begin
   Read(F_in,S);
   if Length(S)=MinLen then
   Write(F_out,S);
  end;
 
 Close(F_in);
 Close(F_out);
end.

pascal file string2. Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наибольшей длины (в обратном порядке).

Числовые файлы (типизированные)

Последовательный доступ

Пример: Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке.
Внимание: числа в исходном файле должны быть записаны программно! Иначе считывание будет происходить неверно.

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var
 S,s1:String;
 F_in,F_out: File of Integer;
 k,i:integer;
 a:array[1..100] of integer;
begin
  S:='c:text.txt';
  Assign(F_in,S);
  rewrite(F_in);
  for i:=1 to 10 do
      write(F_in,i); {записываем в исходный файл числа}
  close(F_in);
  Reset(F_in);
  S1:= 'c:text1.txt';
  Assign(F_out,S1);
  ReWrite(F_out);
 
  k:=1;
  writeln('считанные из файла числа:');
   while (not eof(F_in)) do
   begin
    Read(F_in,a[k]);
    writeln(a[k]);
    k:=k+1;
   end;
  Close(F_in);
writeln('записываемые числа в файл');
 for i:=k-1 downto 1 do
   begin
    Write(a[i]:3);
    Write(F_out,a[i]);
   end;
 
 Close(F_out);
end.

pascal file 2. Дан файл вещественных чисел. Создать два новых файла, первый из которых содержит элементы исходного файла с нечетными номерами (1,3,…), а второй — с четными (2,4,…).
Внимание: числа в исходном файле должны быть записаны программно! Иначе считывание будет происходить неверно.

pascal file 3. Дан файл вещественных чисел. Найти сумму его элементов с четными номерами.
Внимание: числа в исходном файле должны быть записаны программно! Иначе считывание будет происходить неверно.

Пример: Дан файл вещественных чисел. Найти его первый локальный минимум (локальным минимумом называется элемент, который меньше своих соседей).

* Для решения не использовать массивы.

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var
 S:String;
 F_in: File of Real;
 El2,El1,El:Real;
 i:integer;
 a:real;
 
begin
  Assign(F_in,'c:text.txt');
  rewrite(F_in);
  writeln ('Введите вещественные числа');
  for i:=1 to 5 do begin
      read(a);
      write(F_in,a); {заполняем исходный файл числами}
  end;
  close(F_in);
  Reset(F_in); 
  Read(F_in,El);
  Read(F_in,El1);
  Read(F_in,El2);
  writeln('Результат =');
  if (El1<El)and(El1<El2) then Writeln('s',El1:4:2)
  else
   begin
    while (not eof(F_in)) and not((El>El1) and (El1<El2)) do
     begin
      El:=El1;
      El1:=El2;
      Read(F_in,El2);
     end;
    if (El>El1) and (El1<El2) then
       Writeln(El1:4:2)
    else if eof(F_in) and (El1>El) then
       Writeln(El:4:2);
   end;
  Close(F_in);
end.

pascal file 4. Дан файл вещественных чисел. Найти его последний локальный максимум (локальным максимумом называется элемент, который больше своих соседей).

Пример:
Дан файл вещественных чисел. Заменить в нем все элементы на их квадраты.

* Перед выполнением программы необходимо узнать в какой папке сохраняются файлы, созданные программой ABC.

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
 S:String;
 F_in,F_temp: File of Real;
 temp:Real;
begin
    Assign(F_in,'text.txt');
  Reset(F_in);
  Assign(F_temp,'text1.txt');
  ReWrite(F_temp);
  while (not eof(F_in)) do
   begin
    Read(F_in,temp);
    temp:=sqr(temp);
    Write(F_temp,temp);
   end;
 
  Close(F_in);
  Close(F_temp);
  Erase(F_in); {удаление файла}
  Rename(F_temp,'text.txt'); {Переименование файла}
end.

Здесь следует обратить внимание на то, что файлы, скорее всего, сохраняются в папке : C:Usersимя пользователяAppDataLocalVirtualStore

pascal file 5. Дан файл вещественных чисел. Поменять в нем местами минимальный и максимальный элементы.
Алгоритм:

  • найти в исходном файле минимальный элемент, сохранить его и его индекс в переменные;
  • найти в исходном файле максимальный элемент, сохранить его и его индекс в переменные;
  • создать временный файл и переписать туда элементы исходного файла кроме тех позиций, на которых должны стоять максимальный и минимальный элементы; в указанные позиции разместить элементы, поменяв их местами.
  • Прямой доступ

    Пример: (прямой доступ) В файле заменить символ определенной позиции. Позицию символа и сам новый символ запросить у пользователя. Использовать процедуру seek Паскаль

    Показать решение:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    var
        f: file of char;
        c: char;
        n: integer;
    begin
        assign (f, 'c:text.txt');
        reset (f);
        write('Введите позицию: ');
        readln(n);
        seek(f,n);
        write('Введите новый символ: ');
        readln(c);
        write(f,c);
        close(f);
     end.

    Задание: (прямой доступ) В файле заменить символы с четной позицией на восклицательные знаки (‘!’). Использовать процедуру seek

    Главная » Решебник Абрамяна » Двоичные (типизированные) файлы: группа File (1-90) » File15. Решебник Абрамяна М. Э.

    File15.  Дан файл вещественных чисел. Найти сумму его элементов с четными номерами.

    Решение Pascal

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    program File15;

    var

    S:String;

    F_in: File of Real;

    Sum,temp:real;

    i:integer;

    begin

      Write(‘File: ‘);

      Readln(S);

      Assign(F_in,S);

      Reset(F_in);

      i:=1;

      Sum:=0;

      while (not eof(F_in)) do

       begin

        Read(F_in,temp);

        if (i mod 2 = 0) then Sum:=Sum+temp;

        inc(i);

       end;

      Writeln(Sum);

      Close(F_in);

    end.

    Оцените решение

    Загрузка…

    Л. Р.

    Студент

    Иванов И. И.

    Группа

    ХХ-999

    «Типизированные файлы и

    Дата

    дд.мм.гг

    массивы»

    Допуск

    Выполнение

    Отчет

    Условие задачи

    Ввести файл F , вывести его.

    Сформировать квадратную матрицу A1N1×N1

    максимально возможного размера из всех элементов левее максимума и матрицу A22×3 из положительных элементов правее максимума (если

    формирование невозможно, то сообщить об этом). Для вывода матриц использовать подпрограммы.

    Тестовые примеры

    1)

    Входные данные:

    введенный файл F:

    1

    2

    3

    4

    5 6

    100

    2

    3

    4

    5

    -3 -2

    4

    3

    2

    Выходные данные:

    Матрица

    после формирования:

    A1

    1

    2

    3

    4

    Матрица

    A2

    после формирования:

    2

    3

    4

    5

    4

    3

    1

    Блок-схема

    Начало

    Assign(F, ‘F.dat’)

    Rewrite(F)

    Ввод buf (1-я

    компонента файла)

    buf ≠ 999

    F←buf

    Ввод buf

    reset(F)

    Not EOF(F)

    buf←F

    Вывод buf

    1

    VivodMx(const A:T2m; const N,M: byte; const name:Tname)

    ‘Вывод матрицы’,

    1

    name

    reset(F)

    i := 1 , N

    j := 1 , M

    max←F

    Вывод A[i, j]

    kmax:=0

    Выход

    not EOF(F)

    buf←F

    buf>max

    max:=buf

    kmax:=filePos(F)-1

    1

    стр. 3

    2

    1

    1

    стр. 2

    kmax=0

    nPol<2*3

    reset(F)

    seek(F,kmax+1)

    ‘Левее

    ‘справа от

    максимума нет

    i:=1

    N1:=trunc(sqrt(kmax))

    максимума нет

    элементов,

    j:=1

    2*3=6 положит.

    формирование

    элементов, а

    матрицы A1

    j := 1 , N1

    потому

    невозможно’

    формирование

    i := 1, N1

    матрицы

    A2(2х3)

    buf←F

    невозможно’

    buf←F

    buf>0

    A1[i, j] := buf

    buf←F

    A2[i,j]:=buf

    VivodMx(A1,N1,N1,’A1′)

    j := j + 1

    seek(F,kmax+1)

    j>3

    nPol:=0

    i := i + 1

    j := 1

    Not EOF(F)

    i>2

    buf←F

    buf>max

    VivodMx(A2,2,3,’A2′)

    nPol:=nPol+1

    конец

    1

    Листинг программы на Pascal

    program MaxMInExch; const L=10;

    type T2M = array[1.. L,1..L] of integer; Tname = string[4];

    var A1,A2: T2M; i,j,N1,kmax,nPol:byte; buf,max:integer;

    F: file of integer;

    3

    // процедура для вывода матрицы

    procedure VivodMx(const A:T2m; const N,M: byte; const name:Tname);

    var i,j:byte; begin

    writeLn(‘Матрица ‘,name,’ после формирования:’); for i:=1 to N do

    begin

    for j:=1 to M do write(A[i,j]:4);

    writeLn;

    end;

    end;

    // основная программа begin

    //инициализация файла

    Assign(F,’F.dat’);

    rewrite(F);

    writeLn(‘введите первую компоненту файла’); readLn(buf);

    while buf<>999 do begin

    write(F,buf);

    writeLn(‘введите следующую компоненту:’); readLn(buf);

    end;

    //вывод файла

    writeLn(‘введенный файл F:’); reset(F);

    while not EOF(F) do begin

    read(F,buf);

    write(buf:4);

    end;

    writeLn;

    // поиск максимума reset(F); read(F,max); kmax:=0;

    while not EOF(F) do begin

    read(F,buf); if buf>max then

    begin max:=buf;

    kmax:=filePos(F)-1; end;

    end;

    4

    if kmax=0 then

    writeLn(‘Левее максимума нет элементов, формирование матрицы A1 невозможно’)

    else begin

    reset(F);

    N1:=trunc(sqrt(kmax)); for i:=1 to N1 do

    for j:=1 to N1 do begin

    read(f,buf);

    A1[i,j]:=buf;

    end;

    VivodMx(A1,N1,N1,’A1′);

    end;

    seek(F,kmax+1);

    nPol:=0;

    while not EOF(F) do begin

    read(F,buf); if buf>0 then inc(nPol);

    end;

    if nPol<2*3 then begin

    writeLn(‘справа от максимума нет 2*3=6 пол. элементов,’); writeLn(‘а потому формирование матрицы A2(2х3) невозможно’); end

    else begin

    seek(F,kmax+1);

    i:=1;

    j:=1; repeat

    read(F,buf);

    if buf>0 then // если элемент >0, то его в матрицу begin

    A2[i,j]:=buf;

    inc(j);

    if j>3 then begin

    inc(i);

    j:=1;

    end;

    end; until i>2;

    VivodMx(A2,2,3,’A2′);

    end;

    close(F);

    end.

    5

    Список задач для лабораторной работы «Типизированные файлы и массивы»

    1. Ввести целую квадратную матрицу AN×N , вывести ее. Из положительных элементов матрицы сформировать файл F , который вывести. Далее из файла F сформировать файл G , в который сначала записать сумму всех элементов файла F , затем максимальное значение файла F , затем все его компоненты в обратном порядке. Вывод файлов реализовать процедурой.

    2.Создать файл F вещественных чисел. Получить вектор B , записывая в него каждую третью компоненту файла, читая файл с начала, и вектор A , читая файл с конца. Файл и полученные векторы распечатать. Вывод векторов реализовать процедурой.

    3.Ввести с клавиатуры квадратную матрицу AN×N , вывести её. Создать

    файлы F и G следующим образом: в файл G сначала записать элементы главной диагонали, затем побочной, в файл G по строкам вписать элементы матрицы, исключая диагональные. В конец файлов приписать удвоенную сумму всех элементов матрицы. Вывод файлов реализовать процедурой.

    4. Ввести с клавиатуры квадратную матрицу AN×N , вывести её.

    Определить в матрице максимальные элементы каждой строки и записать их значения в файл F . Определить минимальную компоненту в файле F , которую утроить. Файл вывести до и после преобразования (вывод реализовать процедурно).

    5. Из компонент файла F , введенного с клавиатуры, создать квадратную матрицу AN×N максимально возможного размера. Определить в матрице сумму элементов каждого столбца и записать вычисленные суммы в конец файла. Выдать файл F до преобразования и после, а также матрицу в виде таблицы. Вывод файла реализовать процедурно.

    6

    6. Сформировать файл F целого типа. Найти S – сумму первых трех положительных компонент файла. Ввести x , если S > x , то получить из файла одномерный массив AN , записывая в него каждую вторую компоненту файла, иначе каждую компоненту файла увеличить на величину S . Массив вывести. Файл вывести при помощи процедуры.

    7.

    Сформировать матрицу AN×M , вывести её. Получить из матрицы файлы

    F1,

    F 2 и F3, записывая в F1 строку, а в F 2 столбец,

    содержащие

    максимальный элемент матрицы. В F3 записать строку,

    и столбец в

    обратном порядке. Файлы вывести используя процедуру.

    8.

    Сформировать файл F целого типа. Из файла получить матрицу AN×M .

    Начиная с 1-ой и по ( N 1)-ую строки формировать, читая компоненты файла с начала, N -ую строку заполнить компонентами, читая файл с конца. Матрицу вывести, далее удвоить в ней отрицательные элементы и снова вывести. Если матрицу сформировать нельзя, то сделать сообщение. Значения N и M вводятся с клавиатуры. Для вывода матрицы написать процедуру.

    9. Создать файл F вещественных чисел. Сформировать из файла матрицу AN×N , заполняя ее строками. Если для формирования матрицы не хватает компонент файла, то дописать числа 1,2,3,…. Далее в матрице увеличить в 10

    раз её угловые элементы. Матрицу вывести до и после преобразования, воспользовавшись подпрограммой.

    10. Создать числовой файл F . Найти сумму всех компонент и произведение отрицательных компонент файла. Получить из него два вектора: A и B . В вектор A последовательно записать положительные компоненты файла и в конец – полученную сумму, в вектор B записать сначала вычисленное произведение, а далее – отрицательные компоненты файла. Вектора A и B распечатать, используя подпрограмму.

    7

    11.В заданной матрице AN×M (матрицу вывести) строки, не содержащие ни одного нуля, переписать последовательно в файл F1, строки содержащие нули переписать в файл F 2 . Если файл не сформирован, сделать текстовое сообщение. При выводе файлов использовать подпрограмму.

    12. Из матрицы AN×N (матрицу вывести), получить файл F , записывая в него минимальные элементы каждого столбца, в конец файла записать четные элементы последней строки. В файле вычислить сумму каждой второй компоненты и записать ее на место 1-ой компоненты. Файл вывести до и после преобразования, используя подпрограмму.

    13. Элементы файла F поместить на главную и побочную диагональ матрицы AN×N . Отрицательные элементы полученного массива дописать в файл F . Файл (исходный и преобразованный) и матрицу вывести на экран. Для вывода файла воспользоваться подпрограммой.

    14. Создать числовой файл F , вывести его. Из положительных компонент файла F получить квадратную матрицу AN×N максимального возможного размера, которую вывести. В конец файла записать сумму элементов главной

    ипобочной диагонали. Для вывода файла использовать подпрограмму.

    15.Сформировать матрицу AN×N , которую вывести. Строки с

    отрицательным элементом на главной диагонали последовательно записать в файл F . В конец файла F дописать сумму первой и последней компонент, а затем первый и последний элемент матрицы A . Файл F вывести до и после преобразования при помощи процедуры.

    16. Сформировать файл F целого типа, вывести его. Получить матрицу AN×M . Матрицу заполнять по столбцам, начиная с 1-го и по ( M 1)-ый столбец компонентами файла, читая их с конца. Последний столбец заполнять компонентами, читая файл с начала. Если матрицу сформировать нельзя, выдать сообщение об этом и в файл дописать недостающие элементы (единицы) и снова вывести. Для вывода файла воспользоваться подпрограммой.

    8

    17. Сформировать файл F целых чисел, вывести его. Найти сумму последних k компонент, где k – общее количество чётных компонент файла. Записать значение суммы в качестве первой компоненты файла. Файл снова вывести. Сформировать из F матрицу A3×4 , записав первые две строки, читая файл с начала, и последнюю строку, читая файл с конца. Если матрицу создать невозможно, сделать сообщение. Для вывода файла использовать подпрограмму.

    18.Сформировать векторы A1N1 и A2N 2 целого типа, вывести их. Записать

    вфайл F элементы вектора, имеющего меньшее количество нулей, затем другого вектора, далее записать максимальный и минимальный элементы из A1. Файл вывести. Для вывода и ввода векторов воспользоваться подпрограммами.

    19.Ввести целую квадратную матрицу AN×N . Из положительных ее

    элементов сформировать файл F (формирование файла вести, рассматривая матрицу по столбцам). После записи столбца матрицы дописывать в файл количество положительных элементов в столбце и среднее арифметическое их значение. Файл вывести. Далее отрицательные компоненты файла заменить их модулем и файл снова вывести. Для вывода файла воспользоваться процедурой.

    20. Сформировать матрицу AN×N вещественного типа. Найти суммы элементов главной и побочной диагоналей. Записать в файл F сначала элементы диагонали, имеющей большее значение суммы, а затем элементы последней строки матрицы. В файле каждую вторую компоненту, начиная с середины файла, уменьшить вдвое. Файл F распечатать до и после изменения используя процедуру вывода.

    9

    21. Дана матрица AN×N . Строки матрицы, которые начинаются с положительного элемента, последовательно переписать в файл F . В конец файла дописать сумму максимальной и минимальной компоненты файла, а также первый и последний элементы матрицы. Файл до и после изменения вывести, используя процедуру.

    22. Ввести две матрицы

    A1N×M 1 и A2N×M 2 , вывести их.

    Далее переписать

    построчно эти матрицы

    в файл F , чередуя строки

    матриц (сначала

    переписываем первую строку A1, потом первую строку

    A2 ,

    потом вторую

    строку A1, вторую строку

    A2 и т.д.). В файле найти номер

    максимальной

    компоненты. Для ввода и вывода матриц использовать подпрограммы.

    23.Ввести числовой файл F , вывести его. Определить произведение первых k ненулевых компонент файла и сумму последних k компонент. Сформировать из файла, читая его с конца, вектор B1, в конец вектора приписать найденные сумму и произведение. Далее сформировать вектор B2 , в который поместить каждую вторую компоненту файла F . Вектора распечатать при помощи подпрограммы. Если формирование вектора невозможно, то сделать об этом сообщение.

    24.Ввести числовой файл F , вывести его. Переписать каждый второй положительный компонент файла в вектор B1. Четные компоненты файла поместить в вектор B2 . В конец каждого из векторов дописать числа 1,2,3,…, k , где k –количество отрицательных компонент файла. Векторы

    вывести, используя процедуру.

    25. Ввести две равноразмерных матрицы A1N×M и A2N×N , вывести их (для ввода и вывода воспользоваться подпрограммами). Сформировать из матриц файл F , переписывая построчно из матриц элементы в файл, чередуя матрицы при формировании каждого нового элемента файла. Далее определить упорядочен ли по возрастанию файл.

    10

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

    Понравилась статья? Поделить с друзьями:
  • Как найти присягу сына
  • Как найти в какую жидкость погружено тело
  • Небесный город в террарии как найти
  • Дом разбойников майнкрафт как найти
  • Как найти вдохновение для видео