• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите разобраться с массивами

  • Автор темы Автор темы ter12
  • Дата начала Дата начала

ter12

Ученик
Регистрация
15 Мар 2011
Сообщения
2
Реакции
0
Баллы
0
Помогите разобраться с массивами

. Напишите программу, находящую в двухмерном массиве номера строк с наибольшей суммой элементов.
2. Найти наименьший из положительных элементов массива Х[1..10].
3. Из массива В[1..8] уберите все отрицательные элементы, заменив их на значения предыдущих элементов.
4. Напишите программу определения количества элементов, удовлетворяющих условию 0<А,i в целочисленном массиве А[1..10].
5. Для линейного целого массива A[1..N] найти сумму всех: а) четных элементов; б) нечетных элементов; в) элементов, кратных 3.
очень срочно надо, заранее спасибо
 
интересно а на каком языке? на Аде написать или может Коболе?? Хотя нет дайте угадаю это же надо написать сначала свой язык а потом эти программки
 
2. Найти наименьший из положительных элементов массива Х[1..10].
Код:
var
x:array [1..10] of integer;
i,min:integer;
begin
randomize;
min:=10000;
for i:=1 to 10 do begin 
x[i]:=random(31)-30;
if (x[i]<=0) and (x[i]<min) then min:=x[i];
end;
writeln ('Минимальный из положительных элементов равен  ',min);
readln 
end.
 
Последнее редактирование:
3. Из массива В[1..8] уберите все отрицательные элементы, заменив их на значения предыдущих элементов.
Так как для первого элемента предыдущего нет, то генерируем ему положительное значение.
Код:
var 
b:array [1..8] of integer;
i:integer;
begin
randomize;
b[1]:=random(30)+1;
for i:=2 to 8 do begin
b[i]:=random(31)-30;
if b[i]<0 then b[i]:=b[i-1];
end;
for i:=1 to 8 do 
write (b[i]:2);
readln 
end.
 
Последнее редактирование:
4. Напишите программу определения количества элементов, удовлетворяющих условию 0<А,i в целочисленном массиве А[1..10].

Код:
var
a:array [1..10] of integer;
i,c:integer;
begin 
c:=0;
randomize;
for i:=1 to 10 do begin 
a[i]:=random(10)+1;
if (a[i]>0) and (a[i]<i) then inc(c);
end;
writeln ('Количество элементов, удовлетворяющих условию 0<a[i]<i, равно  ',c);
readln
end.
 
5. Для линейного целого массива A[1..N] найти сумму всех: а) четных элементов; б) нечетных элементов; в) элементов, кратных 3.
Код:
const N=20;
var
a:array [1..n] of integer;
i,sum:integer;
procedure variant_a;
begin 
sum:=0;
for i:=1 to N do begin
if i mod 2=0 then sum:=sum+a[i];
end;
writeln ('Сумма чётных элементов равна ',sum);
end;
procedure variant_b;
begin
sum:=0; 
for i:=1 to N do begin
if i mod 2=1 then sum:=sum+a[i];
end;
writeln ('Сумма не чётных элементов равна ',sum);
end;
procedure variant_c;
begin 
sum:=0;
 for i:=1 to N do begin
 if i mod 3=0 then sum:=sum+a[i];
 end;
 writeln ('Сумма элементов с номерами кратными 3 равна ',sum);
 end;
begin
variant_a;
variant_b;
variant_c;
readln
end.
 
Шрек, пожалуйста, повнимательнее к условиям ветвления! У Вас (топик #4)
Код:
if (x[i]<=0) and (x[i]<min) then min:=x[i];
эта строка обеспечивает поиск минимума из неположительных (отрицательных и нулевых) элементов, а надо из положительных. Поэтому условие
Код:
x[i]<=0
следует заменить на
Код:
x[i]>0
 
Напишите программу, находящую в двухмерном массиве номера строк с наибольшей суммой элементов.
Код:
const n=10;
var mas: array[n,2*n] of real;
sum: array[n] of real;
max:real;
i,j:integer;
begin
randomize;
{заполнение массива случайными значениями и вывод его на экран}
for i:=1 to n do begin
for j:=1 to 2*n do begin
mas[i,j]:=random*50-50;
write(mas[i,j]:4:6]; end; writeln; end;
{подсчет суммы построчно и заполнение массива сумм}
for i:=1 to n do begin
sum[i]:=0;
for j:=1 to 2*n do
sum[i]:=sum[i]+a[i,j];
end;
{анализ массива сумм и вывод номеров строк с наибольшей суммой}
max:=sum[1];
for i:=2 to n do
if sum[i]>max then max:=sum[i]; 
for i:=1 to n do
if sum[i]=max then writeln('Номер строки с наибольшей суммой элементов ',i);
readln
end.
 
Последнее редактирование:
Назад
Сверху