Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Массив


Автор: maikil 14.6.2009, 19:16
Подскажите пожалуйста с решением, кто знает:
2 задачки
1.Ввести с клавиатуры целочисленный двумерный массив размером N*M элементов (N , M <= 4 ). Определить среднее арифметическое всех положительных элементов.

2. Ввести с клавиатуры целочисленные массивы A из N элементов и B из M элементов (N, M <= 8). Сформировать и вывести на экран массив С путем слияния A и И так, чтобы сначала располагались все элементы А, а затем - элементы В.

Автор: volvo877 14.6.2009, 20:57
Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена! 

Автор: BlackDan 15.6.2009, 09:11
Цитата

Подскажите пожалуйста с решением, кто знает:
2 задачки
1.Ввести с клавиатуры целочисленный двумерный массив размером N*M элементов (N , M <= 4 ). Определить среднее арифметическое всех положительных элементов.

2. Ввести с клавиатуры целочисленные массивы A из N элементов и B из M элементов (N, M <= 8). Сформировать и вывести на экран массив С путем слияния A и И так, чтобы сначала располагались все элементы А, а затем - элементы В.

Тебе подсказать как делать или код написать?

Для первой: вводишь все члены матрицы, потом циклом просматриваешь весь массив и сравниваешь i=>0 потом j=>0  и к какой-нибудь a:=a+i (a:=a+j); в конце a div 2 и выводишь на экран

Для второй: Если я правильно понял задачу то она не имеет смысла ибо простая очень =) пишу только цикл где C:array [0..N+M];
[
code=nocolor]
  for i:0 to N do  C[i]:=N[i];
   for j:0 to N do C[j+4]:=N[i];
 [/code]
типо того =)

Добавлено позже
Цитата

Подскажите пожалуйста с решением, кто знает:
2 задачки
1.Ввести с клавиатуры целочисленный двумерный массив размером N*M элементов (N , M <= 4 ). Определить среднее арифметическое всех положительных элементов.

2. Ввести с клавиатуры целочисленные массивы A из N элементов и B из M элементов (N, M <= 8). Сформировать и вывести на экран массив С путем слияния A и И так, чтобы сначала располагались все элементы А, а затем - элементы В.

Тебе подсказать как делать или код написать?

Для первой: вводишь все члены матрицы, потом циклом просматриваешь весь массив и сравниваешь i=>0 потом j=>0  и к какой-нибудь a:=a+i (a:=a+j); в конце a div 2 и выводишь на экран

Для второй: Если я правильно понял задачу то она не имеет смысла ибо простая очень =) пишу только цикл где C:array [0..N+M];
[
code=nocolor]
  for i:0 to N do  C[i]:=N[i];
   for j:0 to N do C[j+4]:=N[i];
 [/code]
типо того =)

Автор: maikil 15.6.2009, 20:11
спасибо кто пытался, в итоге получилось это, с помощью конечно но главное решено, кому интересна смотрим и анализируем
1
program
        for_1;
uses
    crt;
const
     M=3;
     N=3;
var
   mas:array[1..M,1..N] of Integer;
   i,j,sum,num:Integer;
begin
     ClrScr;
     for i:=1 to M do
         begin
              for j:=1 to N do
                  begin
                       writeln('Input mas[',i,'][',j,']...');
                       readln(mas[i][j]);
                  end;
         end;
     writeln('OK!');
     sum:=0;
     num:=0;
     for i:=1 to M do
         begin
              for j:=1 to N do
                  begin
                       if (mas[i][j]>0) then
                          begin
                               inc(num);
                               sum:=sum+mas[i][j];
                          end;
                  end;
         end;
     writeln('Srednee arifmeticheskoe=',sum/num:5:7);
     writeln('Press any key to exit...');
     readkey
end.
*******************************************
2
program
        for_2;
uses
    crt;
const
     M=5;
     N=4;
var
   A:array[1..N] of integer;
   B:array[1..M] of integer;
   C:array[1..N+M] of integer;
   i,counter:integer;
begin
     ClrScr;
     counter:=1;
     for i:=1 to N do
         begin
              writeln('Input A[',i,']...');
              readln(A[i]);
              C[counter]:=A[i];
              inc(counter);
         end;
     for i:=1 to M do
         begin
              writeln('Input B[',i,']...');
              readln(B[i]);
              C[counter]:=B[i];
              inc(counter);
         end;
     writeln('Massiv C:');
     for i:=1 to M+N do write(C[i], ' ');
     writeln;
     writeln('Press any key to exit...');
     readkey
end.

Автор: A5uKa 15.6.2009, 20:50
ужас. Ненавижу паскаль

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)