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

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

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

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

Одномерный массив

Регистрация
13 Май 2011
Сообщения
49
Реакции
0
Баллы
0
Одномерный массив

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

Если в массиве сумма четных элементов положительна, найти максимальный элемент, иначе – все элементы удвоить.

Код:
{ђ®¬**оЄ 251}
program romanuk9_2;
uses crt;
type Mas = array[1..100] of integer;
var  A:mas;
     b,i,c,s:integer;
begin
  clrscr;

  writeln('введите кол-во элементов массива*');
  readln(b);
  writeln;writeln;
  randomize;
  for i:=1 to b do begin

    A[i]:=random(200)-100;
    write(A[i]:5);
    end;
    writeln;
    s:=0;
    for i:=1 to b do begin
    if A[i] mod 2 <>0 then s:=s
    else
    S:=s+A[i];
    end;
    writeln(s,' -сумма нечетных элементов');
    c:=1;
    for i:=1 to b do begin
    if s<0 then A[i]:=A[i]*2
    end;
    if s>0 then
    for i:=2 to b do
    if A[i]<A[c] then A[i]:=A[c];
    writeln(A[i],' max');

    writeln;writeln;
      readln;
end.
проблемы:
1)неправильно считает сумму
2)всегда выводит мах элемент( не зависимо от получившейся суммы)
 
и так, я чуток посидел, и у меня получилось правильно выводить мах элемент:он его правильно находит и выводит когда надо( при сумме>0),
но вот сумму он все равно не правильно находит, и я никак не могу понять почему?????
и даже если он делает сумму положительной, то массив умноженный на 2 он не выводит(
 
теперь осталась одна проблема:правильное нахождение суммы четных элементов.....
вот моя "исправленная программа":
Код:
{ђ®¬**оЄ 251}
program romanuk9_2;
uses crt;
type Mas = array[1..100] of integer;
var  A:mas;
     b,i,c,s,max:integer;
begin
  clrscr;
   s:=0;
  writeln('введите кол-во символов массива*');
  readln(b);
  writeln;writeln;
  randomize;
  for i:=1 to b do begin

    A[i]:=random(200)-100;
    write(A[i]:5);
    end;
    writeln;

    for i:=1 to b do
    if A[i] mod 2=0 then
     s:=s+A[i];
    writeln(s,' -сумма четных элементов');
    c:=1;


     for i:=2 to b do
    if A[c]<A[i] then c:=i;
    max:=A[c];



     if s<0 then
    for i:=1 to b do begin
     A[i]:=A[i]*2; write(A[i],' ');
    end;
    if s>0 then
     writeln(max);


      readln;
end.
 
все, ошибку нашел.....черт, так обидно когда по тупости сидишь, и бред получаешь,а ошибка в букве со скобками......ааааа!!!
 
Назад
Сверху