Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 14.03.2020
Сообщений: 57

Найти элементы массива, сумма цифр которых меньше некоторого q и вывести их адреса

14.03.2020, 16:38. Показов 3328. Ответов 3

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста. В одномерном массиве целых чисел A[I] найти элементы, сумма цифр которых меньше некоторого q. Вывести их адреса. Пока сделала только ввод-вывод данных массива с клавиатуры.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program MAS;
const Nmax=100;
var A:array [1..Nmax] of real;
    n,i:integer;
begin
  write('Введите количество элементов массива: n=');
  readln(n);
  write('Введите ', n, ' чисел: ');
  for i:=1 to n do
    read(a[i]);
    writeln;
  writeln('Исходный массив');
  for i:=1 to n do
    write('a[', i, ']=', a[i], ' ');
    read(a[i]);
    writeln;
  end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2020, 16:38
Ответы с готовыми решениями:

(CИ)Из массива целых чисел X(N) удалить элементы, сумма цифр которых меньше 4.
(СИ)Из массива целых чисел X(N) удалить элементы, сумма цифр которых меньше 4.

Вывести все числа массива, сумма цифр которых меньше 10
Составить массив из 20 чисел. Вывести все числа массива, сумма цифр которых меньше 10. И как это сделать через указатели? Не могу...

Вывести все числа массива, сумма цифр которых меньше 10
Вывести все числа массива, сумма цифр которых меньше 10 Не могу разобраться как.Помогите)))

3
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
14.03.2020, 20:41
Лучший ответ Сообщение было отмечено Markama как решение

Решение

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
42
43
44
45
46
47
48
49
50
51
52
program MAS;
uses
  CRT;
const
  Nmax = 100;
var
  A: array [1..Nmax] of integer; { Переменная для хранения массива}
  n: integer;  { Переменная для хранения значения количества элементов}
  q: integer;  { Переменная для хранения значения сравниваемого числа}
  i: integer;  { Вспомогательная переменная для организации циклов}
  sum: integer;  { Промежуточная переменная для суммирования цифр элементов массива}
  m: integer; { Промежуточная переменная для разложения чисел массива на разряды}
  flag: boolean; { Вспомогательная логическая переменная для организации ответа}
begin
  write('Введите количество элементов массива n = ');
  readln(n);
  writeln('Введите ', n, ' чисел: ');
  for i:= 1 to n do
    begin
      write('a[',i,'] = ');
      read(a[i]);             { Ввод значения элементов в массив}
    end;
  writeln;
  ClrScr;
  writeln('Исходный массив');
  for i:= 1 to n do
    write('a[', i, ']=', a[i], ', ');   {Вывод элементов в консоль}
  writeln;
  write('Введите значение числа q = ');
  readln(q);
  flag:= true;
  writeln('Элементы массива, значения которых меньше q: ');
  for i:= 1 to n do
    begin
      sum:= 0;
      m:= a[i];
      while m > 0 do          { Цикл для разложения чисел элементов на разряды}
        begin
          sum:= sum + m mod 10;   { Суммирования значений цифр разрядов}
          m:= m div 10
        end;
       if sum < q then            { Условие для отбора элементов }
         begin
           write('a[', i, ']=', a[i], ', ');   {Вывод найденных элементов в консоль}
           flag:= false;
         end;
    end;
  if flag then
    writeln('Элементы со значениями сумм чисел меньше, чем значение числа q не найдены.');
 
  readln;
end.
1
60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233
14.03.2020, 22:30
Лучший ответ Сообщение было отмечено Markama как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const n=3;
var i,q,s:integer;
  a:array[1..n]of integer;
  
begin
  for i:=1 to n do begin
    a[i]:=random(131)+20;
    write(a[i],' '); end;
  writeln;
  
  write('Введите число q:');
  readln(q);
  writeln;
  
  writeln('Элементы, сумма цифр которых меньше ',q,':');
  for i:=1 to n do begin
    s:=(a[i] mod 10) + (a[i] mod 100 div 10) + 
    + (a[i] mod 1000 div 100) + (a[i] div 1000);
    if s < q then
      writeln(a[i],'; индекс элемента:',i); end;
end.
0
0 / 0 / 0
Регистрация: 14.03.2020
Сообщений: 57
14.03.2020, 23:30  [ТС]
Огромное спасибо! Я в итоге написала код, но надо было его доработать, зашла проверить есть ли ответы и я их получила.
Без вас бы не справилась

Добавлено через 13 минут
Вот такой код у меня в итоге получился.
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
program MAS;
const Nmax=100;
var A:array [1..Nmax] of integer;
    n,i,q,s,b:integer;
    z:boolean;
begin
  write('Введите число: q=');
  readln(q);
  write('Введите количество элементов массива: n=');
  readln(n);
  write('Введите ', n, ' чисел: ');
  for i:=1 to n do
    read(a[i]);
    writeln;
  writeln('Исходный массив');
  for i:=1 to n do
    writeln('a[', i, ']=', a[i], ' ');
    z:= true;
    writeln('Элементы, которые меньше ',q, ':');
    for i:=1 to n do
    begin 
    s := 0;
    b:=a[i];
      while b>0 do //цикл для разложения элементов на разряды
      begin
       s:=s+b mod 10; //суммирование 
       b:=b div 10;
      end;
      if s<q then //условие для отбора элементов
        begin 
        writeln('a[',i,']=',a[i]); //вывод найденных элементов
        z := false;
      end;
     end;
    if z then writeln('Таких элементов нет.');
  end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2020, 23:30
Помогаю со студенческими работами здесь

Найти произведение трехзначных элементов массива, сумма цифр которых меньше 15
Дан массив из n элементов. Каждый элемент может принимать целочисленные значения от 0 до1000. Найдите произведение трехзначных элементов...

Найти сумму трехзначных элементов массива, сумма цифр которых меньше 10
Дан массив из n элементов. Каждый элемент может принимать целочисленные значения от 0 до1000. Найдите найти сумму трехзначных элементов...

Найти элементы массива, сумма цифр которых кратна индексу
Найти индексы элементов массива и сами элементы, сумма цифр которых кратна индексу. Здравствуйте, вынужден попросить помощи в...

Определить индексы тех элементов массива, у которых сумма четных цифр меньше суммы нечетных цифр
Разработать программу, которая случайным образом формирует одномерный массив целых чисел (количество элементов должно вводиться во время...

Найти элементы массива, сумма цифр которых равна заданному числу
Найти и вывести на экран элементы одномерного массива, сумма цифр которых равна заданному числу


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru