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

Поиск:

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


Новичок



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

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



1. В массиве M(45) поменять первый минимальный и сорок третий элемент.
2. В матрице K(44) найти количество отрицательных элементов массива, кратных пяти.
***В каждой программе обеспечить вывод исходных данных.

PM MAIL   Вверх
V.A.KeRneL
Дата 27.1.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


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

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



Одномерный массив (1): 
Код

{ 1. В массиве M(45) поменять первый минимальный и сорок третий элемент.  }
program klyan_1;

uses 
    Crt;

const 
    ARR_SIZE = 45;

var 
    arr : array [1..ARR_SIZE] of integer;
    nmin : integer;  { index of 1st minimum element }
    min : integer;   { value of 1st minimum element }
    tmp : integer;   { temporary integer variable }
    i : integer;     { index, counter }

(*label 1;*)

BEGIN 
    ClrScr;
    
    (*1: *)
    
    { Array input.  }
    for i := 1 to ARR_SIZE do begin 
        write('arr[', i, '] := ');
        readln(arr[i]);
    end;
    
    { Array output.  Before exchanging.  }
    writeln('After reversing of subarray[nmax..n]: ');
    write('[');
    if (ARR_SIZE > 0) then 
        write(arr[1]);
    for i := 2 to ARR_SIZE do 
        write(', ', arr[i]);
    writeln(']');
    
    { Finding of index of 1st minimum element.  }
    nmin := 1;
    min  := arr[1];
    for i := 2 to ARR_SIZE do 
        if (arr[i] < min) then begin  { for first min }
            nmin := i;
            min  := arr[i];
        end;
    
    { Exchanging.  }
    tmp := arr[nmin];
    arr[nmin] := arr[43];
    arr[43] := tmp;
    
    { Array output.  After exchanging.  }
    writeln('After reversing of subarray[nmax..n]: ');
    write('[');
    if (ARR_SIZE > 0) then 
        write(arr[1]);
    for i := 2 to ARR_SIZE do 
        write(', ', arr[i]);
    writeln(']');
    
    readln;
    
    (*goto 1;*)
END.


Что касаемо 2-ой задачи, то это уже матрица (2-мерный массив). Можешь добавить четвёртым пунктом к своей теме «[Pascal] Двумерный массив».

==========================================================================================
P.S. Всегда следуйте правилам форма! В частности: 
Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или флажком при ответе smile
==========================================================================================


Это сообщение отредактировал(а) V.A.KeRneL - 27.1.2007, 23:48


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
LesnoyChelovek
Дата 27.1.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Задача №1

Код

program Project2;


uses
  SysUtils;

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

  randomize;
  for i:=1 to 45 do
  m[i]:=random(152);

  for i:=1 to 45 do
  write(m[i]:4);


  writeln;
  writeln;
  write('<====================Vyhodnye dannye====================>');
  j:=m[1];
  for i:=2 to 45 do
  if m[i]<j then
  begin
  j:=m[i];
  o:=i;
  end;

  i:=m[o];
  m[o]:=m[43];
  m[43]:=i;

  for i:=1 to 45 do
  write(m[i]:4);

  readln;
end.



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


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


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

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



Задача №2:

Код

program Project1;

{$APPTYPE CONSOLE}
uses
  SysUtils;
var k: array [1..4,1..4] of integer;
    i,j,s:integer;
begin

  writeln;
  write('Ishodnaya matrica:');
  writeln;
  randomize;
  for i:=1 to 4 do
    for j:=1 to 4 do
    k[i,j]:=random(10);

  for i:=1 to 4 do
  begin
    writeln;
    for j:=1 to 4 do
    begin
      write(k[i,j]:4);
      if (k[i,j]<0) and (k[i,j] mod 5=0)
      then s:=s+1;
    end;
  end;

  writeln;
  write('Kolicestvo elementov=',s);

  readln;
end.



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

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


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

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

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

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


 




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


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

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