0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 14
1

Из 2 двумерных массивов в одномерный массив.

23.09.2011, 18:16. Показов 577. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из 2 двумерных массивов в одномерный добавить числа,которые содержат 0.
Например
Код
2 3   4           30    2   3
1 20  5           50    9  4 >>>>>>   20 10 30 50
3 10   2           1    1   5
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2011, 18:16
Ответы с готовыми решениями:

Заполнение двумерных массивов, поиск и замена элементов в двумерных массивах
У меня проблема с 2-мя задачами поиогите пожалуйста. 1. Написать программу, которая вводит по...

Даны четыре двумерных массива A, B, C, D, преобразовать каждый из них в одномерный массив
Даны четыре двумерных массива A, B, C, D, преобразовать каждый из них в одномерный массив. Массивы...

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

Обработка массивов. Одномерный массив.
Здравствуйте. Задача: Задан одномерный массив X= {7.0, 3.5, 6.8, 5.0, 1.3, 2.3} размерности n=6....

7
37 / 5 / 4
Регистрация: 15.09.2011
Сообщений: 73
23.09.2011, 20:36 2
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
Program P_2_v_1;
Uses crt;
Const m=3; n=2;
Type
     matrix=array[1..10,1..10] of integer;
     massiv=array[1..100] of integer;
Var
 a,b:matrix;
 c:massiv;
 i,j,t,r,k:integer;
Begin
 For i:=1 to n do
 For j:=1 to m do
  begin
 Write ('Введите a[',i,',',j,']: ');
 Read (a[i,j]);
 Write ('Введите b[',i,',',j,']: ');
 Read (b[i,j]);
  end;
  
  r:=2*m*n;      //Максимальный размер одномерного массива, в случае если все элементы двух матриц имеют 0
  t:=1;
 
  For i:=1 to n do
   For j:=1 to m do                    //Находим числа имеющие 0 в первом массиве
    If a[i,j] mod 10 = 0 then
      begin c[t]:=a[i,j]; t:=t+1;      //Заносим в новый массив
       end;
       
  For i:=1 to n do
   For j:=1 to m do                    //Находим числа имеющие 0 во втором массиве
    If b[i,j] mod 10 = 0 then
      begin c[t]:=b[i,j]; t:=t+1;      //Заносим в новый массив
       end;
       
     k:=r;
 For i:=r downto 1 do
  if c[i]=0 then k:=k-1;           //Изменяем размер массива, в зависимости от кол-ва заполненых ячеек
Write ('Полученный массив: ');
 For i:=1 to k do
  Write (c[i],', ');
end.
Программа работает только если число заканчивается на 0
0
143 / 143 / 141
Регистрация: 05.04.2011
Сообщений: 270
23.09.2011, 21:45 3
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
type mm=array[1..100,1..100]  of longint;
var x,i,j,k,n,m:longint;
    a,b:mm;
    d:array[1..10000] of longint;
    
 
function Check(x:longint):boolean;
var f:boolean;
begin
 
    f:=false;
    while x>0 do begin
        if x mod 10=0 then f:=true;
        x:=x div 10;
    end;
    check:=f;
 
end;
 
procedure Re(var a:mm);
begin
    for i:=1 to n do 
        for j:=1 to m do
            read(a[i,j]);
end;
 
begin
    readln(n,m);
    Re(a);
    Re(b);
 
    for i:=1 to n do 
        for j:=1 to m do begin
            if check(a[i,j]) then begin
                inc(k);
                d[k]:=a[i,j];
            end;
 
            if check(b[i,j]) then begin
                inc(k);
                d[k]:=b[i,j];
            end;
 
        end;
    for i:=1 to k do write(d[i],' ');
    
end.
0
0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 14
23.09.2011, 22:21  [ТС] 4
Во второй программе выдает ошибку,что слишком много переменных.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
24.09.2011, 06:43 5
Pascal
1
2
3
4
type mm=array[1..100,1..100]  of longint;//здесь убавь типа [1..20,1..20];
var x,i,j,k,n,m:longint;
    a,b:mm;
    d:array[1..10000] of longint;//здесь убавь [1..400];
И нафига такие размеры массивов при возможностях экрана показывать матрицы размером примерно 24х20.
0
0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 14
29.09.2011, 14:53  [ТС] 6
Добрый день, сильно извеняюсь,но все еще нужна помощь по этой задаче, препрод сказал,что во втором варианте,который я ему показал, все слишком мудрено....
0
143 / 143 / 141
Регистрация: 05.04.2011
Сообщений: 270
29.09.2011, 15:36 7
Цитата Сообщение от Burub Посмотреть сообщение
Добрый день, сильно извеняюсь,но все еще нужна помощь по этой задаче, препрод сказал,что во втором варианте,который я ему показал, все слишком мудрено....
Используй первый вариант...
0
0 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 14
29.09.2011, 16:04  [ТС] 8
Проблема в том,что первый вариант походит только для тех цифр где в конце 0, то есть 20,30 и тд.
А вот например число где ноль по середине вроде 205 там не получиться...
0
29.09.2011, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2011, 16:04
Помогаю со студенческими работами здесь

Обработка массивов. Одномерный массив.
Здравствуйте. Задача... Задан одномерный массив Х={3,0,1,7,1,4,2,0,3,7,9} размерности n=12. ...

Сформировать одномерный массив размером K+N из двух упорядоченных одномерных массивов
Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N,...

Из двух упорядоченных массивов сформируйте одномерный массив, упорядоченный в обратную сторону
Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N,...

Одномерный массив. Построить ряд, содержащий отрицательные элементы исходных массивов
даны массивы :А1,А2,..А15: В1,В2,..В5. Построить ряд СК содержащий отрицательные элементы Аi и Bj.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru