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

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

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

> Матрицы, Помогите доделать программу. Нужно срочно к среде!
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Александр

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


unsure.gif
Цитата

Сформировать матрицу 7х7 с помощью функции Random. Из неё получить две матрицы. Первая получится перестановкой строк в порядке возрастания средних арифметических элементов в каждой строке. Вторая получится перестановой столбцов в порядке возрастания средних арифметических элементов в каждом столбце. Результат получить в текстовом файле. Проблема в том, что вторая матрица получается перестановкой столбцов первой матрицы (с переставленными строками), а не исходной. Что нужно добавить или исправить в программе? Заранее благодарю.


Код

program matrix;
uses crt;
const n=7;
      name='C:\neo.out';
      lin='*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*';
var fiogr:string[50];
    neo:text;
    sumstr,sumst:integer;
    srsumstr,srsumst:real;
    i,j:byte;
    t,f:boolean;
    v,u:real;
    c,d:shortint;
    a,b:array[1..n] of real;
    matr:array[1..n,1..n] of shortint;
    begin
    clrscr;
    assign(neo,name);
    rewrite(neo);
    writeln('Laboratornaya rabota 7');
    writeln('Vvedite FIO, gruppu');
    readln(fiogr);
    writeln('Zadacha na dvujmerniy massiv');
    writeln(neo,' Rezultat vichisleniy sojraneni v failie ', name);
    writeln(neo,'     Laboratornaya rabota 7');
    writeln(neo,'  Zadacha na dvujmerniy massiv');
    writeln(neo,lin);
    writeln(neo,fiogr);
    writeln(neo,lin);
    randomize;
    writeln(neo,'       Isjodnaya matritsa');
    for i:=1 to n do
    for j:=1 to n do
    matr[i,j]:=random(99)-49;
    for i:=1 to n do begin
    for j:=1 to n do begin
    write(neo,'  ',matr[i,j]:3);
    end;
    writeln(neo);
    end;
    writeln(neo,lin);
    writeln(neo,'  Sriedniye arifmieticheskiye strok');
    for i:=1 to n do begin
    sumstr:=0;
    for j:=1 to n do
    sumstr:=sumstr+matr[i,j];
    srsumstr:=sumstr/n;
    a[i]:=srsumstr;
    write(neo,'  a[',i,']=',a[i]:6:2);
    if i mod 4 =0 then writeln(neo);
    end;
    writeln(neo);
    writeln(neo,lin);
    writeln(neo,' Orsortirovanniy massiv iz srednij arifmeticheskij');
    writeln(neo,'             eliemientov strok');
    repeat
    t:=true;
    for i:=1 to n-1 do
    if a[i]>a[i+1] then
    begin
    for j:=1 to n do begin
    c:=matr[i,j];
    matr[i,j]:=matr[i+1,j];
    matr[i+1,j]:=c;
    end;
    u:=a[i];
    a[i]:=a[i+1];
    a[i+1]:=u;
    t:=false;
    end;
    until t;
    for i:=1 to n do
    begin
    write(neo,'  a[',i,']=',a[i]:6:2);
    if i mod 4 =0 then  writeln(neo);
    end;
    writeln(neo);
    writeln(neo,lin);
    writeln(neo,'  Otsortirovannaya matritsa po strokam');
    for i:=1 to n do begin
    for j:=1 to n do begin
    write(neo,'  ',matr[i,j]:3);
    end;
    writeln(neo);
    end;
    writeln(neo,lin);
    writeln(neo,'  Sriedniye arifmieticheskiye stolbtsov');
    for j:=1 to n do begin
    sumst:=0;
    for i:=1 to n do
    sumst:=sumst+matr[i,j];
    srsumst:=sumst/n;
    b[j]:=srsumst;
    write(neo,'  ','b[',j,']=',b[j]:6:2);
    if j mod 4 =0 then writeln(neo);
    end;
    writeln(neo);
    writeln(neo,lin);
    writeln(neo,'  Orsortirovanniy massiv iz srednij arifmeticheskij');
    writeln(neo,'             eliemientov stolbtsov');
    repeat
    f:=true;
    for j:=1 to n-1 do
    if b[j]>b[j+1] then
    begin
    for i:=1 to n do begin
    d:=matr[i,j];
    matr[i,j]:=matr[i,j+1];
    matr[i,j+1]:=d;
    end;
    v:=b[j];
    b[j]:=b[j+1];
    b[j+1]:=v;
    f:=false;
    end;
    until f;
    for j:=1 to n do
    begin
    write(neo,'  ','b[',j,']=',b[j]:6:2);
    if j mod 4 =0 then writeln(neo);
    end;
    writeln(neo);
    writeln(neo,lin);
    writeln(neo,'  Otsortirovannaya matritsa po stolbtsam');
    for i:=1 to n do begin
    for j:=1 to n do begin
    write(neo,'  ',matr[i,j]:3);
    end;
    writeln(neo);
    end;
    close(neo);
    readln;
    end.


Сообщение отредактировано: Mr. Anderson -


Прикрепленные файлы
Прикрепленный файл  MATRIXX.PAS ( 3.27 килобайт ) Кол-во скачиваний: 231


--------------------
Каждое начало имеет свой конец
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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