Форум программистов, компьютерный форум CyberForum.ru

Перевод двумерного массива в одномерный - C++

Восстановить пароль Регистрация
 
UpluggedMU
2 / 2 / 0
Регистрация: 02.11.2013
Сообщений: 36
07.12.2013, 21:26     Перевод двумерного массива в одномерный #1
в чём ошибка кода когкретно в этом месте?

C++
1
2
3
4
5
6
7
8
9
t = 0;
     for (i=0;j<n;i++){
         for (j=0;j<m;j++){
             
             b[t] = a[i][j];
             cout << b[t] << " ";
             t++;
             }
         }
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
 
int main() {
 srand(time(NULL)); 
 int n, m, buf, i, t, j;
 int a[12][12];
 int b[25];
 cout << "Input N ";
 cin >> n;
 m = n;
 cout << endl;
 
 for (i=0;i<n;i++){
     for (j=0;j<m;j++){
        
                       a[i][j] = -100+rand()%100 ;
                       cout << a[i][j] << " ";
            }   
            cout << endl;
     }
     cout << "------------------------" << endl;
     
     cout << endl << endl << endl;
 t = 0;
     for (i=0;j<n;i++){
         for (j=0;j<m;j++){
             
             b[t] = a[i][j];
             cout << b[t] << " ";
             t++;
             }
         }
     cout << endl << endl << endl;
     
     for (i=0;i<n;i++){
         for (j=0;j<m;j++){ 
               cout << a[i][j] << " ";
               
             }
             cout << endl;
             }
 system("pause");
 return 0;
}
Добавлено через 9 минут
Поменял на


C++
1
2
3
4
5
6
7
8
9
10
 t = 0;
     for (i=0;j<n;i++){
         for (j=0;j<m;j++){
             
             b[t] = a[i][j];
            t++;
             
             }
         }
         for (t=0;t<m+n;t++) cout << b[t] << " ";
но вместо чисел из массива "а" выводит какие-то левые рандомные числа, в чём дело?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 21:26     Перевод двумерного массива в одномерный
Посмотрите здесь:

C++ Сделать из двумерного массива одномерный
Положительные элементы двумерного массива разместить в одномерный C++
Преобразование двумерного массива в одномерный C++
Из двумерного массива сформировать одномерный C++
C++ С + + преобразования из двумерного массива в одномерный
C++ Перевести из двумерного массива в одномерный
Преобразование двумерного массива в одномерный C++
Переписать из двумерного массива в одномерный C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
07.12.2013, 21:44     Перевод двумерного массива в одномерный #2
C++
1
2
3
4
5
6
7
8
9
10
11
//Копируем двумерный массив в одномерный//
   int *B=new int[n*m]; //динамический одномерный массив
   int leng=0; //индексы одномерного массива
    for (int i=0;i<n;i++)
   {
       for (int j=0;j<m;j++)
       {
          B[leng]=A[i][j];
          leng++;
       }
   }
Пи выводе размер одномерного массива n*m
Yandex
Объявления
07.12.2013, 21:44     Перевод двумерного массива в одномерный
Ответ Создать тему
Опции темы

Текущее время: 23:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru