Форум сайта ITstudents.ru | Всё для студента информата

Приветствую Вас Гость [Вернуться на сайт] [Новости сайта] [Материалы] [Статьи IT]
Новые сообщения · Участники · Правила форума · Поиск! Регистрация · Вход
дипломы,курсовые,рефераты,контрольные,диссертации на заказ

  • Страница 1 из 1
  • 1
Форум на ITstudents.ru » Помощь и актуальные вопросы по предметам » Программирование » Паскаль. 3 задачи на массивы. (Помогите, кто может...)
Паскаль. 3 задачи на массивы.
OmegaДата: Вторник, 14.06.2011, 19:22 | Сообщение # 1
Абитуриент
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Товарищи, подскажите пожалуйста код нескольких программ на паскале:
1. Написать программу, которая создает с помощью генератора псевдослучайных чисел двумерный массив 4x3 из целых чисел, после чего считает среднее арифметическое всех нечетных элементов. Массив и результат вывести на экран.
2. Написать программу, которая создает с помощью генератора псевдослучайных чисел двумерный массив 4x3 из целых чисел. Затем необходимо для каждой строчки определить количество четных элементов, которые меньше, чем элемент этой строки на побочной диагонали. Массив и значение для каждой строчки вывести на экран.
3. Заполнить одномерный массив целых чисел псевдослучайными числами, отобразить его на экране. Отсортировать полученный одномерный массив методом прямого обмена ("пузырьком") по возрастанию, используя в качестве циклов только цикл "while". отобразить отсортированный массив на экране.
Заранее спасибо.
 
AkronДата: Среда, 15.06.2011, 14:41 | Сообщение # 2
Второй курс
Группа: Администраторы
Сообщений: 61
Награды: 0
Репутация: 1
Статус: Offline
Quote (Omega)
1. Написать программу, которая создает с помощью генератора псевдослучайных чисел двумерный массив 4x3 из целых чисел, после чего считает среднее арифметическое всех нечетных элементов. Массив и результат вывести на экран.

Code

uses
   crt;

var a:array[1..4,1..3] of integer;
     i,j:integer;
     s:double;

begin
   randomize;
   for i:=1 to 4 do
     begin
       writeln;
       for j:=1 to 3 do
         begin
           a[i,j]:=random(99);
           write(a[i,j]:5);
           if (a[i,j] mod 2<>0) then s:=s+a[i,j];
         end;
     end;
   writeln;
   writeln(s/12:5:2);
   readln;
end.
 
AkronДата: Среда, 15.06.2011, 15:15 | Сообщение # 3
Второй курс
Группа: Администраторы
Сообщений: 61
Награды: 0
Репутация: 1
Статус: Offline
Quote (Akron)
2. Написать программу, которая создает с помощью генератора псевдослучайных чисел двумерный массив 4x3 из целых чисел. Затем необходимо для каждой строчки определить количество четных элементов, которые меньше, чем элемент этой строки на побочной диагонали. Массив и значение для каждой строчки вывести на экран.

Побочная диагональ существует только для квадратных матриц, т.е. Ваша задача не имеет решения.
Приведу решение для матрицы рамером 4х4.
Code
uses
    crt;
const n=4;
var a:array[1..n,1..n] of integer;
      i,j,k:integer;
begin
    randomize;
    for i:=1 to n do
        for j:=1 to n do a[i,j]:=random(99);
    for i:=1 to n do
      begin
        for j:=1 to n do
          begin
            write(a[i,j]:5);
            if (a[i,j] mod 2=0)
            and(a[i,j]<a[i,n-i+1]) then
                    k:=k+1;
          end;
        writeln(k:5);
        k:=0;
      end;
    readln;
end.
 
AkronДата: Среда, 15.06.2011, 15:48 | Сообщение # 4
Второй курс
Группа: Администраторы
Сообщений: 61
Награды: 0
Репутация: 1
Статус: Offline
Quote (Omega)
3. Заполнить одномерный массив целых чисел псевдослучайными числами, отобразить его на экране. Отсортировать полученный одномерный массив методом прямого обмена ("пузырьком") по возрастанию, используя в качестве циклов только цикл "while". отобразить отсортированный массив на экране.

Code
uses
    crt;
const
    n=10;
var
    a:array[1..n] of integer;
    i,j,k:integer;
begin
    randomize;
    i:=0;
    while i<n do
      begin
         inc(i);
         a[i]:=random(99);
         write(a[i]:5);
      end;
    i:=0;j:=0;
    while i<n-1 do
      begin
        inc(i);
        j:=0;
        while j<n-1 do
          begin
            inc(j);
            if a[j]>a[j+1] then
              begin
                k:=a[j];
                a[j]:=a[j+1];
                a[j+1]:=k;
              end;
          end;
      end;
    writeln;
    writeln;
    i:=0;
    while i<n do
      begin
         inc(i);
         write(a[i]:5);
      end;
    readln;
end.


PS: Мы всегда рады видеть Вас на нашем форуме и сайте cool
 
Форум на ITstudents.ru » Помощь и актуальные вопросы по предметам » Программирование » Паскаль. 3 задачи на массивы. (Помогите, кто может...)
  • Страница 1 из 1
  • 1
Поиск: