На главную Самоучитель pascal Форум программистов онлайн Решение задач pascal Задачи pascal Поиск
10 Янв 14

Практическая работа №6. Одномерные массивы


Комментарии :  0        Просмотры :  12669


1. Дан одномерный массив , значения элементов которого задаются случайным образом. Вычислить сумму квадратов элементов данного массива , больших некоторого числа M. На экран вывести исходный массив и полученный результат.

Решение 1 задачи :

program mypascal;
uses crt;
var
a: array[1..10] of integer;
m,i,s:integer;
begin

randomize;
readln(m);
s:= 0;

for i:= 1 to 10 do
begin
a[i]:= random(21)-10;
if ( a[i] > m ) then
s:= s + a[i]*a[i];
write(a[i],' ');
end;

writeln();
writeln(s);

end.

2. Дан одномерный массив , значения элементов которого вводятся с клавиатуры. Поменять максимальный и минимальный элементы данного массива местами. На экран вывести исходный массив и полученный результат.

Решение 2 задачи :

program mypascal;
uses crt;
var
a: array[1..10] of integer;
max,min,c,i:integer;
begin

for i:= 1 to 10 do
read(a[i]);

max:= 1;
min:= 1;

for i:= 2 to 10 do
begin
if ( a[i] > a[max] ) then
max:= i;
if ( a[i] < a[min] ) then
min:= i;
end;

c:= a[max];
a[max]:= a[min];
a[min]:= c;

for i:= 1 to 10 do
write(a[i],' ');

end.

3. Дан одномерный массив , значения которого вводятся с клавиатуры . Вычислить количество отрицательных элементов данного массива. На экран вывести исходный массив и полученный результат.

Решение 3 задачи :

program mypascal;
var
a: array[1..10] of integer;
i,n:integer;
begin

n:= 0;

for i:= 1 to 10 do
begin
readln(a[i]);
if ( a[i] < 0 ) then
inc(n);
end;

for i:= 1 to 10 do
write(a[i],' ');

writeln();
writeln(n);

end.

4. Дан одномерный массив , значения элементов которого вводятся с клавиатуры. Отрицательные элементы данного массива заменить их модулями , нулевые остаются неизменными , а положительные квадратами. На экран вывести исходный массив и полученный результат.

Решение 4 задачи :

program mypascal;
var
a: array[1..10] of integer;
i:integer;
begin

for i:= 1 to 10 do
begin
readln(a[i]);
if ( a[i] < 0 ) then
a[i]:= a[i]*(-1)
else
if ( a[i] > 0 ) then
a[i]:= a[i]*a[i];
end;

for i:= 1 to 10 do
write(a[i],' ');

end.

5. Дан одномерный массив , значения элементов которого вводятся с клавиатуры. Выяснить , каких элементов больше - положительных или отрицательных и насколько. На экран вывести исходный массив и полученный результат.

Решение 5 задачи :

program mypascal;
var
a: array[1..10] of integer;
i,x,y:integer;
begin

x:= 0;
y:= 0;

for i:= 1 to 10 do
begin
readln(a[i]);
if ( a[i] < 0 ) then
inc(x) ;
if ( a[i] > 0 ) then
inc(y);
end;

for i:= 1 to 10 do
write(a[i],' ');

writeln();

if ( x > y ) then
writeln('Отрицательных больше на ',x-y);
if ( x < y ) then
writeln('Положительных больше на ',y-x);

end.

Рейтинг материала : ( 5 / 3 )
Сообщить об ошибке
Комментарии :  0        Просмотры :  12669

Личный кабинет

Логин:
Пароль:

Поиск

RSS лента

Подписаться на rss


Подпишитесь на нашу ленту новостей rss и вы всегда сможете быть в курсе обновлений на нашем сайте.

Решение задач

Если вас интересует решение какой-либо задачи , то вы можете опубликовать
её условие на нашем сайте или форуме. И в скором времени другие пользователи помогут вам.

Опубликовать на сайте

Опубликовать на форуме

Опрос

Какой ваш любимый раздел ?