Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Двумерный массив 
V
    Опции темы
klyan
Дата 27.1.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 24.1.2007

Репутация: 1
Всего: 1



1. В двумерном массиве A(5,8) найти все положиетльные элементы и переписать их а одномерный массив B.
2. В матрице B(4,4)найти число элементов главной диогонали, больших среднего арифметического всей матрицы.
3. Записать в дополнительный столбец Y(5,4) минимальные элементы каждой строки матрицы.
***В каждой программе обеспечить вывод исходных и полученных массивов в конкретном виде.

Это сообщение отредактировал(а) Alexeis - 28.1.2007, 17:41
PM MAIL   Вверх
LesnoyChelovek
Дата 27.1.2007, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


странник Интернета
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 27.2.2006
Где: Русь

Репутация: 2
Всего: 10



первая задача.

Код

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var a:array[1..5,1..8] of integer;
     b:array[1..40] of integer;
     i,j,k:integer;


begin
  { TODO -oUser -cConsole Main : Insert code here }
  write('Ishodnye dannye');
  writeln;

  randomize;
  for i:=1 to 5 do
  begin
    for J:=1 to 8 do
    a[i,j]:=random(10);
  end;

  for i:=1 to 5 do
  begin
    writeln;
    for J:=1 to 8 do
    write(a[i,j]:4);
  end;

 k:=1;
 for i:=1 to 5 do
  begin
    for J:=1 to 8 do
  if a[i,j]>0 then
  begin
    b[k]:=a[i,j];
    k:=k+1;
  end;
  end;

  writeln;
  writeln;
  write('Poluchennye dannye');
  writeln;
  for i:=1 to k do
  write(b[i]:4);

readln;
end.


Добавлено @ 02:38 
Задача два:

Код

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var b:array[1..4,1..4] of integer;
     i,j,k:integer;
     s:real;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  write('Ishodnye dannye');
  writeln;

  s:=0;
  randomize;
  for i:=1 to 4 do
  begin
    for J:=1 to 4 do
    begin
    b[i,j]:=random(10);
    s:=s+b[i,j];
    end;
  end;
  s:=s/16;

  for i:=1 to 4 do
  begin
    writeln;
    for J:=1 to 4 do
    write(b[i,j]:4);
  end;

 i:=1;
 j:=1;
 while j<5 do
 begin
 if b[i,j]>s then k:=k+1;
 i:=i+1;
 j:=j+1;
 end;

  writeln;
  writeln;
  write('Poluchennye dannye');
  writeln;
  write('Serdnee arifmeticheskoe=',s:4:4,'     Kolichestvo elementov=',k);

readln;
end.



--------------------
Делай добро и бросай его в воду... оно не утонет.. добром к тебе вернеться.
http://picasaweb.google.com/LesnoyChelovek/Photo
PM MAIL   Вверх
volvo877
Дата 27.1.2007, 04:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 34
Всего: 116



Цитата(LesnoyChelovek @  27.1.2007,  01:28 Найти цитируемый пост)
Код
 i:=1;
 j:=1;
 while j<5 do
 begin
 if b[i,j]>s then k:=k+1;
 i:=i+1;
 j:=j+1;
 end;

 smile Почему бы не сделать так:
Код
...
i:=1;
while j<5 do begin
  if b[i, i]>s then k:=k+1;
  i:=i+1;
end;
...
?
PM MAIL   Вверх
LesnoyChelovek
Дата 27.1.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


странник Интернета
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 27.2.2006
Где: Русь

Репутация: 2
Всего: 10



Код

...
i:=1;
while j<5 do begin
  if b[i, i]>s then k:=k+1;
  i:=i+1;
end;
...


У тебя здесь ошибка выскочит, цикл станет бесконечным. Надо:

Код

...
i:=1;
while i<5 do begin
  if b[i, i]>s then k:=k+1;
  i:=i+1;
end;
...


А вообще на время поста посмотри.


--------------------
Делай добро и бросай его в воду... оно не утонет.. добром к тебе вернеться.
http://picasaweb.google.com/LesnoyChelovek/Photo
PM MAIL   Вверх
LesnoyChelovek
Дата 27.1.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


странник Интернета
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 27.2.2006
Где: Русь

Репутация: 2
Всего: 10



Ну, и финальный аккорд:

Код

program Project2;

uses
  SysUtils;

var y: array [1..5,1..5] of integer;
    i,j,o:integer;
begin
  write('<====================Ishodnye dannye====================>');

  randomize;
  for i:=1 to 5 do
  begin
    for j:=1 to 4 do
    y[i,j]:=random(152);
  end;

  for i:=1 to 5 do
  begin
    writeln;
    y[i,5]:=y[i,1];
    for j:=1 to 4 do
    begin
      write(y[i,j]:4);
      if y[i,j]<y[i,5] then
      y[i,5]:=y[i,j];
     end;
  end;


  writeln;
  writeln;
  write('<====================Vyhodnye dannye====================>');
  for i:=1 to 5 do
  begin
    writeln;
    for j:=1 to 5 do
    write(y[i,j]:4);
  end;

  readln;
end.



--------------------
Делай добро и бросай его в воду... оно не утонет.. добром к тебе вернеться.
http://picasaweb.google.com/LesnoyChelovek/Photo
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.