Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите написать программы (http://www.tehnari.ru/f41/t87335/)

zwenya 09.04.2013 21:46

Помогите написать программы
 
Написать программы в Паскале
I. В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1.Максимальный элемент массива.
2.Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
II. Задана строка символов. заменить в ней все 'А' на 'ААА';
III. Из множества целых чисел [1..100] выделить следующие множества:множество простых чисел;
IV.Размерности массивов следует задать именованными константами.
Дана целочисленная квадратная матрица. Определить:
1.Сумму элементов в тех столбцах, которые не содержат отрицательных элементов.
2.Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Помогите, пожалуйста. Заранее благодарен)

interacia 10.04.2013 21:29

// II. Задана строка символов. заменить в ней все 'А' на 'ААА';
Program For1;
var
S,S1:String;
i:integer;
begin
Writeln('Введите строку символов');
readln(S);
Writeln('Введите целое число (N > 0) N=');
for i:=1 to length(S) do
if S[i]='A' then S1:=S1+'AAA'
else S1:=S1+S[i];
S:=S1;
Writeln('Новая строка символов:',S);
end.

zwenya 10.04.2013 22:42

что такое N ?

interacia 10.04.2013 23:20

Код:

Writeln('Введите целое число (N > 0) N=');
мусор
Удалите осталось от старой программы.


Цитата:

I. В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1.Максимальный элемент массива.
2.Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
Код:

var
j,i:integer;
N:integer;
Max:real;
a,b:real;
Mas: array [1..100] of real;
begin
 writeln('Введите N ( N < 10)'); readln(N);
 writeln('Введите a'); readln(a);
 writeln('Введите b'); readln(b);

for i:=1 to N do
  begin
  write('Mas[',i,']=');
  read(Mas[i]);
  end;
writeln('Результат');
max:=Mas[1];
for i:=2 to N do
  begin
  if Mas[i]>Max then max:=Mas[i];
  end;
j:=1;
for i:=1 to N do
  begin
    mas[j]:=mas[i];
  if (Mas[i]>=a)and(mas[i]<=b) then dec(j);
    inc(j);
 end;
for i:=j to N do mas[i]:=0;
writeln;
for i:=1 to N do write(' ',mas[i]);
writeln;
writeln('Max=',Max);
end.


zwenya 11.04.2013 00:00

Код:

var
j,i:integer;
N:integer;
Max:real;
a,b:real;
Mas: array [1..100] of real;
begin
 writeln('Введите N ( N < 10)'); readln(N);
 writeln('Введите a'); readln(a);
 writeln('Введите b'); readln(b);

for i:=1 to N do
  begin
  write('Mas[',i,']=');
  read(Mas[i]);
  end;
writeln('Результат');
max:=Mas[1];
for i:=2 to N do
  begin
  if Mas[i]>Max then max:=Mas[i];
  end;
j:=1;
for i:=1 to N do
  begin
    mas[j]:=mas[i];
  if (Mas[i]>=a)and(mas[i]<=b) then dec(j);
    inc(j);
 end;
for i:=j to N do mas[i]:=0;
writeln;
for i:=1 to N do write(' ',mas[i]);
writeln;
writeln('Max=',Max);
end.

Mas- это как я понял элемент массива, вводится только 4 элемента. Конечную матрицу выводит в одну строчку и затем вылетает

interacia 11.04.2013 20:36

Первая переменная введенная Это размер массива к примеру 10.
Вторая введенная величина это нижняя граница значения удаляемых значений к примеру 3
Третья вводимая переменная определяет верхний предел удаляемых значений к примеру 6
Далее последовательно вводите 10 значений массива.
__________________________________________________ _______________
Введите N ( N < 100):10
Введите a:3
Введите b:6
Mas[1]=1
Mas[2]=2
Mas[3]=3
Mas[4]=4
Mas[5]=5
Mas[6]=6
Mas[7]=7
Mas[8]=8
Mas[9]=9
Mas[10]=10
Результат

mas[1]=1
mas[2]=2
mas[3]=7
mas[4]=8
mas[5]=9
mas[6]=10
mas[7]=0
mas[8]=0
mas[9]=0
mas[10]=0

Max=10
__________________________________________________ _____________

Немного изменил код в плане оформления выводимой информации. Надеюсь все получиться.
Код:

var
j,i:integer;
N:integer;
Max:real;
a,b:real;
Mas: array [1..100] of real;
begin
 write('Введите N ( N < 100):'); readln(N);
 write('Введите a:'); readln(a);
 write('Введите b:'); readln(b);

for i:=1 to N do
  begin
  write('Mas[',i,']=');
  read(Mas[i]);
  end;
writeln('Результат');
max:=Mas[1];
for i:=2 to N do
  begin
  if Mas[i]>Max then max:=Mas[i];
  end;
j:=1;
for i:=1 to N do
  begin
    mas[j]:=mas[i];
  if (Mas[i]>=a)and(mas[i]<=b) then dec(j);
    inc(j);
 end;
for i:=j to N do mas[i]:=0;
writeln;
for i:=1 to N do writeln('mas[',i,']=',mas[i]);
writeln;
writeln('Max=',Max);
readln;
end.


zwenya 12.04.2013 11:55

спасибо за помощь)


Часовой пояс GMT +4, время: 06:32.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.