Форум программистов, компьютерный форум, киберфорум
Наши страницы

PascalABC.NET

Войти
Регистрация
Восстановить пароль
 
zPANKz
0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 7
#1

Задан целочисленный одномерный массив A из N элементов. Найти номер первого максимального значения - PascalABC.NET

16.12.2017, 15:41. Просмотров 99. Ответов 3
Метки нет (Все метки)

Задача:
Задан целочисленный одномерный массив A из N элементов. Найти номер первого максимального значения среди элементов, меньших A1 и расположенных правее последнего элемента, кратного девяти.

Вот программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
uses crt;
var a:array[1..100] of integer;
    n,i,a1,imx,k:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до '100,' n=');
readln(n);
until n in [1..100];
writeln('Исходный массив:');
k:=0;
for i:=1 to n do
 begin
  a[i]:=9+random(30);
  write(a[i]:4);
  if (a[i]<a1)and(a[i] mod 9=0) then k:=i
 end;
writeln;
write('Введите число для поиска a1=');
readln(a1);
k:=0;
for i:=1 to n do
if (a[i]<a1)and(a[i] mod 9=0) then k:=i;
if k=0 then write('Нет элементов, кратных 9 и меньших ',a1)
else if k=n then write('Элемент, кратный 9 и меньший ',a1,' последний')
else
 begin
  writeln('Индекс последнего элемета, кратного 9 и меньшего ',a1,'=',k);
  imx:=k+1;
  for i:=k+2 to n do
  if a[i]>a[imx] then imx:=i;
  writeln('Первый максимальный элемент после последнего элемета, кратного 9 и меньшего ',a1);
  write('=',a[imx],' его номер=',imx);
 end;
readln
end.
Нужно изменить программу используя ввод данных из файла и вывод данных в файл. Я пропустил данную тему по причине болезни, поэтому прошу помощи...
Заранее большое спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2017, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задан целочисленный одномерный массив A из N элементов. Найти номер первого максимального значения (PascalABC.NET):

Найти номер первого максимального значения среди элементов - Pascal
Задан целочисленный одномерный массив A из N элементов. Найти номер первого максимального значения среди элементов, меньших A1 и...

Найти номер первого максимального значения - Pascal
Дан целочисленный вектор A(n). Найти номер первого максимального значения среди отрицательных элементов, расположенных правее первого...

Дан целочисленный массив А размера 10. Вывести номер первого и последнего из тех его элементов А[i] - Pascal
Дан целочисленный массив А размера 10. Вывести номер первого и последнего из тех его элементов А, которые удовлетворяют двойному...

Задан одномерный массив,найти количество отрицательных элементов - Pascal
Здравствуйте,увжаемые форумчане. Задали вродь как простую задачку,а решить не могу. Задача: Задан одномерный массив,найти...

Дан одномерный числовой массив. Найти сумму максимального и минимального элементов - PascalABC.NET
Дан одномерный числовой массив.Найти сумму максимального и минимального элементов.

Целочисленный массив. Поменять местами значения первого и последнего элемента и т.д. - Pascal
Дан одномерный целочисленный массив А, состоящий из N элементов, N — заданное натуральное число, N&lt;10. Поменять местами значения первого и...

3
Cyborg Drone
Модератор
4980 / 3038 / 1239
Регистрация: 17.08.2012
Сообщений: 9,760
17.12.2017, 18:08 #2
Особенно в алгоритм не всматривался. Просто перенаправил ввод-вывод на файлы и убрал ненужную строку 17.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var
  f: text;
  a: array[1..100] of integer;
  n, i, a1, imx, k: integer;
 
begin
  randomize;
  assign(f, 'input.txt');
  reset(f);
  readln(f, n, a1);
  close(f);
  assign(f, 'output.txt');
  rewrite(f);
  if not (n in [1..100])
    then writeln(f, 'слишком большой размер массива.')
    else begin
      writeln(f, 'Исходный массив:');
      k := 0;
      for i := 1 to n do
        begin
          a[i] := 9 + random(30);
          write(f, a[i]:4)
        end;
      writeln(f);
      k := 0;
      for i := 1 to n do
        if (a[i] < a1) and (a[i] mod 9 = 0) then k := i;
        if k = 0
          then write(f, 'Нет элементов, кратных 9 и меньших ', a1)
          else if k = n
            then write(f, 'Элемент, кратный 9 и меньший ', a1, ' последний')
            else begin
              writeln(f, 'Индекс последнего элемета, кратного 9 и меньшего ', a1, '=', k);
              imx := k + 1;
              for i := k + 2 to n do if a[i] > a[imx] then imx := i;
              writeln(f, 'Первый максимальный элемент после последнего элемета, кратного 9 и меньшего ',a1);
              write(f, '=', a[imx], ' его номер=', imx)
            end
    end;
  close(f)
end.
0
zPANKz
0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 7
18.12.2017, 09:03  [ТС] #3
Спасибо!!!

Добавлено через 9 часов 30 минут
А можите написать, как будет выглядеть программа без рандома?
0
Cyborg Drone
Модератор
4980 / 3038 / 1239
Регистрация: 17.08.2012
Сообщений: 9,760
18.12.2017, 11:12 #4
Тогда нужно уточнить логику работы программы. Напишите, откуда именно нужно вводить размер массива, число для поиска и сам массив? И что куда выводить? Если массив вводится из файла, то располагать ли в этом же файле размер массива, или же определять его размер? Выводить ли массив в выходной файл в случае ввода массива из файла?
0
18.12.2017, 11:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2017, 11:12
Привет! Вот еще темы с ответами:

Задан целочисленный массив размерности N. Есть ли среди элементов массива простые числа? - PascalABC.NET
1)Задан целочисленный массив размерности N. Есть ли среди элементов массива простые числа? Если да, то вывести номера этих элементов. ...

Во входном файле задан целочисленный двумерный массив. Посчитать среднее арифметическое его элементов - Pascal
Во входном файле задан целочисленный двумерный массив. Посчитать среднее арифметическое его элементов. Формат входных данных Первая...

Задан целочисленный массив B(n), n<=100. определить среднее арифметическое положительных и отрицательных элементов массива - Pascal
помогите пожалуйста, а то одномерные как то не идут у меня =)

Дан одномерный массив. Найти сумму элементов, значения которых не превышают 20 - Pascal
Люди, помогите пожалуйста решить. срочно. 1)Дан одномерный массив. Все его элементы: А)увеличить в два раза; Б)уменьшить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru