• Добро пожаловать на компьютерный форум 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,n,m:integer;
begin
  clrscr;
  textbackground(white);
  clrscr;
  textcolor(black);
   s:=1;
  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 begin



     write(i:5)
     end;
     writeln('   *номера элементов');
     writeln;
     writeln;
     writeln('введите номер 1-го (+)элемента*');

     readln(n);
     writeln('введите номер последнего (+)элемента*');

     readln(m);
     for i:=1 to b do begin
     if i=n then textcolor(green)
     else textcolor(black);
     if i=m then textcolor(blue)
     else textcolor(black);
     write(A[i]:5);
     end;
     writeln;
      readln;
end.
вот, это ,конечно, в Москву через Китай, но по другому не смог.....и то не правильно, как мне теперь первый элемент раскрасить?( он мне только последний красит(
 
вот, это ,конечно, в Москву через Китай, но по другому не смог.....и то не правильно, как мне теперь первый элемент раскрасить?( он мне только последний красит(
Да уж... кошмар! И чего, спрашивается, Вы тут понакрутили? Боюсь, без поллитры никак не разобраться, а я на работе... В общем, вот (если Вы правильно сформулировали задачу):
Код:
uses crt;
type
 Mas = array[1..100] of integer;
var
 A:mas;
 b,i,s:integer;
begin
 textbackground(white);
 clrscr;
 textcolor(black);
 write('Введите кол-во символов массива: ');
 readln(b);
 writeln;
 writeln;
 randomize;
 for i:=1 to b do
  begin
   A[i]:=random(200)-100;
   write(A[i]:5);
  end;
 writeln;
 writeln;
 s:=1;
 for i:=2 to b do
  if A[i]>A[s] then s:=i;
 for i:=1 to b do
  begin
   if (i>s) and (A[i]>0) then
    textcolor(red)
   else
    textcolor(black);
   write(A[i]:5);
  end;
 readln;
 NormVideo;
end.
И всего-то.
 
Да уж... кошмар! И чего, спрашивается, Вы тут понакрутили? Боюсь, без поллитры никак не разобраться, а я на работе... В общем, вот (если Вы правильно сформулировали задачу):
И всего-то.


эммм...да, с заданием я накасячил....другой вариант написал, моя "программа" сделана по другому условию:
ввести массив и раскрасить зеленым первый положительный элемент массива, а последний положительный элемент раскрасить синим)))
(именно по этому условию мне нужна помощь)
 
эммм...да, с заданием я накасячил....другой вариант написал, моя "программа" сделана по другому условию:
ввести массив и раскрасить зеленым первый положительный элемент массива, а последний положительный элемент раскрасить синим)))
(именно по этому условию мне нужна помощь)
Еще проще:
Код:
uses crt;
type
 Mas = array[1..100] of integer;
var
 A:mas;
 b,i,i1,i2:integer;
begin
 textbackground(white);
 clrscr;
 textcolor(black);
 write('Введите кол-во символов массива: ');
 readln(b);
 writeln;
 writeln;
 randomize;
 for i:=1 to b do
  begin
   A[i]:=random(200)-100;
   write(A[i]:5);
  end;
 writeln;
 writeln;
 i1:=0;
 Repeat
  Inc(i1);
 Until A[i1]>0;
 i2:=b+1;
 Repeat
  Dec(i2);
 Until A[i2]>0;
 for i:=1 to b do
  begin
   if i=i1 then
    textcolor(green)
   else
   if i=i2 then
    textcolor(blue)
   else
    textcolor(black);
   write(A[i]:5);
  end;
 readln;
 NormVideo;
end.
Ну и какие еще будут варианты типа "ах да, на самом деле тут надо..."?
 
Еще проще:
Ну и какие еще будут варианты типа "ах да, на самом деле тут надо..."?

аха)вариантов больше нет , есть вопрос:
зачем вы написали такую строку"NormVideo;"она ведь на программу не влияет...и что это вообще такое?
 
есть вопрос: зачем вы написали такую строку"NormVideo;"она ведь на программу не влияет...и что это вообще такое?
В принципе, необязательная команда. Но дело в том, что напарывался на ситуации, когда после прогона программы с CRT-шными финтифлюшками-рюшечками типа игр с цветами фона и шрифта, эти измененные настройки "застревали" в системе. Поэтому если уж играть в такие игры, то лучше на всякий пожарный в самом конце воткнуть команду NormVideo; , которая вернет все цветовые настройки к дефолтным.
 
Назад
Сверху