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

Сформировать новый массив В, переписав в него элементы массива А, кроме нулевых

10.08.2011, 22:03. Показов 3847. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с задачей.
Ввести одномерный массив А целого типа. Сформировать новый массив В, переписав в него элементы массива А, кроме нулевых, затем все нулевые элементы массива А. Полученный массив В распечатать.
Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2011, 22:03
Ответы с готовыми решениями:

Сформировать новый массив С, переписав в него массив с большим количеством положительных элементов.
Ввести 2 одномерных массива А и В целого типа. Сформировать новый массив С, переписав в него массив с большим количеством положительных...

Сформировать новый массив С, переписав в него тот массив, где наименьшее значение находится ближе к началу
Дана задача, нужно написать программу. Вывести два одинаковой длины 1-мерных массива А и В целого типа. Сформатировать новый массив С,...

Сформировать новый массив B так, чтобы в него вошли те элементы массива A
В массиве A лежат целые числа. Сформировать новый массив B таким образом, чтобы в него вошли те элементы массива A, которые являются...

3
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
11.08.2011, 00:28
Цитата Сообщение от Тоха2567 Посмотреть сообщение
затем все нулевые элементы массива А
Что с ними сделать надо (с нулевыми элементами массива А)?
0
0 / 0 / 0
Регистрация: 20.07.2011
Сообщений: 20
11.08.2011, 00:37  [ТС]
нужно добавить в новую матрицу после не нулевых
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
11.08.2011, 00:38
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Как я понял, надо сделать так - сначала в массив Б переписать ненулевые элементы массива А, а потом дописать нулевые элементы.
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
program Project1;
 
const
  M = 10;
var
  A, B : array[1..M] of Integer;
  i, j, k : Integer;
  S : String;
begin
  repeat
    Writeln('Задайте элементы массива:');
    i := 1;
    while i <= M do begin
      Write('Элемент ', i, ' : ');
      Readln(A[i]);
      Inc(i);
    end;
    Writeln;
 
    //Решение задачи.
    j := 1;
    k := M;
    for i := 1 to M do begin
      if A[i] <> 0 then begin
        //Элементы отличные от нуля записываем в массив
        //Б от начала, в направлении слева-направо.
        B[j] := A[i];
        Inc(j);
      end else begin
        //Элементы равные нулю записываем в массив
        //Б от конца, в направлении справа-налево.
        B[k] := A[i];
        Dec(k);
      end;
    end;
 
    //Распечатываем массив Б:
    Writeln('Массив Б:');
    for i := 1 to M do begin
      if i > 1 then Write(', ');
      Write(B[i]);
    end;
    Writeln;
    Writeln;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
Ещё так можно сделать:
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
program Project1;
 
const
  M = 10;
var
  A, B : array[1..M] of Integer;
  i, j : Integer;
  S : String;
begin
  repeat
    Writeln('Задайте элементы массива:');
    i := 1;
    while i <= M do begin
      Write('Элемент ', i, ' : ');
      Readln(A[i]);
      Inc(i);
    end;
    Writeln;
 
    //Решение задачи.
    j := 1;
    for i := 1 to M do begin
      if A[i] <> 0 then begin
        B[j] := A[i];
        Inc(j);
      end;
    end;
    //Дописываем нулевые значения.
    for j := i to M do B[j] := 0;
    
    //Распечатываем массив Б:
    Writeln('Массив Б:');
    for i := 1 to M do begin
      if i > 1 then Write(', ');
      Write(B[i]);
    end;
    Writeln;
    Writeln;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2011, 00:38
Помогаю со студенческими работами здесь

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

Сформировать новый массив, включив в него те элементы первого массива, которых нет во втором
Даны два массива чисел. Расположить их элементы по возрастанию. Сформировать новый массив, включив в него те элементы первого массива,...

Сформировать новый массив В таким образом, чтоб в него вошли те элементы массива А, которые по модулю меньше числа 12
В массиве С(57) лежат целые числа. Сформировать новый массив В таким образом, чтоб в него вошли те элементы массива А, которые по модулю...

Сформировать новый массив В таким образом чтобы в него вошли те элементы массива А, которые являются числами Фибоначи
в массиве А(55) лежат целые числа. Сформировать новый массив В таким образом чтобы в него вошли те элементы массива А, которые являются...

Дан массив из 25 элементов. Сформировать из него новый массив, элементы которого кратны 5
Помогите решить задачу. Дан массив из 25 элементов. Сформировать из него новый массив, элементы которого кратны 5.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru