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

Сформировать новый массив, содержащий все элементы исходного

07.11.2013, 23:33. Показов 3547. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать програмку, совсем ничего не выходит у меня. Нужно сформировать новый массив, содержащий все элементы исходного массива, у которых сумма цифр, расположенных в четных разрядах равна сумме цифр, расположенных в нечетных разрядах.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2013, 23:33
Ответы с готовыми решениями:

Сформировать и вывести новый массив, в который поместить в убывающем порядке все отрицательные числа исходного
Дан произвольный одномерный массив целых чисел. Размерность 15. Сформировать и вывести новый массив, в который поместить в убывающем...

Создать новый массив, заменив все отрицательные элементы исходного на 0
Исходные данные: A={-1,2; 3,6; -3,7; 5,1; -2,7; 9,5; 0,7; -0,2; 6,3; -7,9}; B={2,0; -0,06; 5,4; 0,8; -2,3;...

В новый массив включите все элементы исходного массива, умноженные на -1
Дан целочисленный массив с количеством элементов n.Сформируйте два массива: в первый включите все элементы исходного массива, умноженные на...

5
 Аватар для Nik-Hander
5 / 4 / 2
Регистрация: 16.08.2013
Сообщений: 41
08.11.2013, 00:12
C++
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
#include <iostream>
 
using namespace std;
 
bool f(int a)
{
    int sum1 = 0, sum2 = 0, i = 1, b = a, c = a;
    while (b != 0)
    {
 
        sum1 += (b % 100) / 10;
        b /= 100;
 
    }
    while(c != 0)
    {
        sum2 += c % 10;
        c /= 100;
    }
    if(sum1 == sum2)
    {
        return true;
    }
    else
    {
        return false;
    }
}
 
int main()
{
    int len, c = 0, a;
    cin >> len;
    int mas[len];
    for(int i = 0;i < len;i++)
    {
        cin >> a;
        if(f(a) == true)
        {
            mas[c] = a;
            c++;
        }
    }
    for(int i = 0;i < c;i++)
    {
        cout << mas[i] << endl;
    }
    return 0;
}
Я знаю, можно короче, но делал на скорую руку.
0
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 16
08.11.2013, 00:15  [ТС]
огромное спасибо, но этот вариант слишком сложен для меня, только начал осваивать паскаль. Так , что надо с использованием элементарных циклов, ветвления и т.п..
0
08.11.2013, 02:44

Не по теме:

Street Racer, конечно сложно, тем более это вовсе и не на Паскале написано.

0
 Аватар для Nik-Hander
5 / 4 / 2
Регистрация: 16.08.2013
Сообщений: 41
08.11.2013, 13:23
Цитата Сообщение от Street Racer Посмотреть сообщение
огромное спасибо, но этот вариант слишком сложен для меня, только начал осваивать паскаль. Так , что надо с использованием элементарных циклов, ветвления и т.п..
Упс, извиняюсь, не посмотрел на раздел.Да это не паскаль а С++, но логика решения должна быть примерна та же.
0
Модератор
10438 / 5727 / 3405
Регистрация: 17.08.2012
Сообщений: 17,437
08.11.2013, 15:31
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Street Racer, Ваша программа.
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
53
54
55
56
57
program cn;
 
const m = 10; //размер массива
 
var a, b: array [1..m] of integer; //исходный и целевой массивы
    i, j, k, r: integer; //счётчики
    n, c, t: integer; //суммы нечётных и чётных цифр, буфер для элемента массива
 
begin
 
  //ввод исходного массива в цикле
  writeln('Enter array:'); //сообщение "введите масссив"
  for i := 1 to m do
    repeat
      write('a[', i:2, '] = ');
      readln(a[i]); //вводим очередной элемент
      if a[i] < 0 then //если число отрицательное,
        writeln('Number may be >= 0') //сообщение: "число должно быть не меньше нуля"
    until a[i] >= 0; //повторяем ввод числа, если оно меньше нуля
 
  writeln; //пустая строка для красоты, эту комманду можно не писать
 
  //определение нужных элементов и копирование их из входного массива в выходной
  k := 0; //номер элемента выходного массива, пока, скажем, никакой
  for i := 1 to m do //пробегаемся по всем элементам входного массива
    begin
      if a[i] >= 10 then //у чисел < 10 не может быть суммы чётных цифр, их не учитываем
        begin //у числа более двух цифр, считаем суммы
          n := 0; //сумма нечётных цифр пока равна нулю
          c := 0; //сумма чётных цифр пока равна нулю
          t := a[i]; //копируем элемент массива в буфер
          r := 0; //номер разряда числа, пока "никакой"
          while t > 0 do //последовательно берём цифры, считаем суммы
            begin
              r := r + 1; //номер текущего разряда
              if odd(r) //если разряд нечётный,
                then n := n + t mod 10  //то прибавляем его к сумме нечётных разрядов
                else c := c + t mod 10; //иначе прибавляем его к сумме чётных разрядов
              t := t div 10 //убираем уже учтённый разряд: делим число нацело на 10
            end;
          if n = c then //если суммы нечётных и чётных разрядов равны,
            begin       //копируем элемент входного массива в выходной массив
              k := k + 1; //номер элемента выходного массива, куда будем писать из входного
              b[k] := a[i] //копируем
            end;
        end;
    end;
 
  //печать результата
  writeln('Result:'); //сообщение "результат"
  if k > 0
    then for i := 1 to k do write(' ', b[i]) //если элементы найдены, печатаем их
    else writeln('Elements not found!'); //если не найдены, печатаем "элементы не найдены"
 
  readln //ждём нажатия <Enter> перед тем, как закрыть программу
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2013, 15:31
Помогаю со студенческими работами здесь

Получить из исходного массива новый массив, исключив из него все элементы с максимальным значением
Задан массив. Составить алгоритм и программу, которая выводит исходный массив и массив, полученный в результате выполнения требований...

Получить новый массив, выбросив из исходного все элементы, равные его среднему значению
(если можно с блок схемой) и без randomize. Дан массив из n чисел . Получить новый массив выбросив из исходного все элементы равные его...

Переписать в новый целочисленный массив В все элементы исходного массива с нечетными порядковыми номерами
Дан целочисленный массив А размера N(N&lt;15).Переписать в новый целочисленный массив В все элементы с нечетными порядковыми номерами (1..3..)...

Сформировать такой массив c, содержащий все элементы массива a, которые встречаются в b
заданы два массива целых положительных чисел: a и b. Ваша задача сформировать такой массив c, содержащий все элементы массива a, которые...

Сформировать новый массив, у которого вначале следуют все положительные элементы массива А
Дан массив a1, … , a20. Сформировать новый массив b1, ... , b20 , у которого вначале следуют все положительные элементы массива А, затем...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru