С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 3
1

Преобразовать двумерный массив в одномерный

02.10.2012, 21:46. Показов 4649. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как преобразовать двумерный массив в одномерный

например
1 2 3
4 5 6
8 9 3
2 3 1

надо получить:
1 2 3 6 5 4 8 9 3 1 3 2
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2012, 21:46
Ответы с готовыми решениями:

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

Разбить одномерный массив из 12 элементов на три строки и 4 столбца (сформировать двумерный массив).
Пожалуйста, помогите решить эту задачу!

Дан одномерный цепочный массив и двумерный целочисленный массив
1Дан одномерный цепочный массив Отрицательные элементы заменить их модулями, а положительные -...

Дан двумерный массив. Сформировать одномерный массив по условию
Дан двумерный массив размерностью 6 х 5, заполненный целыми числами с клавиатуры. Сформировать...

3
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
02.10.2012, 22:09 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
const
  nmax=20;
var
  a: array[1..nmax,1..nmax] of integer;
  b: array[1..nmax*nmax] of integer;
  i,j,k,n,m: integer;
begin
  write('Введите размеры массива n, m: ');
  readln(n,m);
  k:=0;
  writeln('Двумерный массив:');
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      inc(k);
      a[i,j]:=k;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  writeln;
  k:=0;
  writeln('Одномерный массив:');
  for i:=1 to n do
    if i mod 2<>0 then
      for j:=1 to m do
      begin
        inc(k);
        b[k]:=a[i,j];
      end else
      for j:=m downto 1 do
      begin
        inc(k);
        b[k]:=a[i,j];
      end;
  for i:=1 to n*m do write(b[i],' ');
  readln
end.
2
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 3
18.10.2012, 12:00  [ТС] 3
спасибо))))))
0
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
18.10.2012, 16:47 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от beautystyle Посмотреть сообщение
как преобразовать двумерный массив в одномерный
Есть ещё способ. Область памяти, где расположен двумерный массив, можно рассматривать, как одномерный массив.
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
program Project1;
 
const
  M = 3;
  N = 5;
type
  TArr2 = array[1..M, 1..N] of Integer;
  TArr1 = array[1..M * N] of Integer;
var
  Arr2 : TArr2;
  PArr1 : ^TArr1;
  i, j, k : Integer;
begin
  //Записываем данные в двумерный массив Arr2 и выполняем распечатку:
  Writeln('Двумерный массив:');
  k := 0;
  for i := 1 to M do begin
    for j := 1 to N do begin
      Inc(k);
      Arr2[i, j] := k;
      if j > 1 then Write(#9);
      Write(Arr2[i, j]);
    end;
    Writeln;
  end;
 
  //Получаем указатель на область памяти, где расположен двумерный
  //массив типа TArr2. И теперь будем рассматриваем эту область,
  //как одномерный массив типа TArr1.
  PArr1 := @Arr2;
  //Распечатываем массив PArr1^.
  Writeln('Одномерный массив, расположенный в той же области памяти, что и двумерный:');
  for i := 1 to High(PArr1^) do begin
    if i > 1 then Write(' ');
    Write(PArr1^[i]);
  end;
  Writeln;
 
  Readln;
end.
Правда, здесь распечатка не соответствует заданию. Этот код только для демонстрации указанного механизма.
2
18.10.2012, 16:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2012, 16:47
Помогаю со студенческими работами здесь

Задача на двумерный массив: построить одномерный массив по правилу
Вообщем есть кусок задачи, который не могу решить. .... построить одномерный массив В, по...

Преобразовать одномерный массив.
po teme sortirovka massivov v odnomernom massive,sosto9wem iz n celo4islennyx elementov:...

Дан двумерный массив 5 на 5. Найти количество простых чисел в каждом столбце матрицы и вывести в одномерный массив
Из матрицы 5на5 вывести количество простых чисел в одномерный массив, в котором будет 5 чисел в...

Двумерный массив. Сформировать одномерный массив каждый элемент которого равен первому нечетному элементу соответствующей строки
Здравствуйте. Выручайте ;) Сформировать одномерный массив каждый элемент которого равен первому...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru