Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/133: Рейтинг темы: голосов - 133, средняя оценка - 4.76
2 / 1 / 4
Регистрация: 10.05.2018
Сообщений: 35
1

двумерный массив строка столбец

10.05.2018, 15:47. Показов 24132. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите люди добрый где строка, а где столбец в двумерном массиве
сначала думал что a[строка][столбец], но при создании динамического двумерного подзапутался
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int s, k;
    s = 10; //кол во строк
    k = 2; //кол во колонок
    int **a = new int*[k];
    for (int i = 0; i < k; i++) {
        a[i] = new int[s];
    }
    a[1][9] = 2;
    cout << a[1][9] << endl;
    for (int i = 0; i < k; i++) {
        delete[] a[i];
    }
    delete[] a;
вот рабочий код вывода 2 как часть динамического массива
получается по логике a[колонки][строки]
и при передачи в функцию массива мы получается строки указываем?
void bom (int a[][9]){}
или тут расхождения логик машинной и человеческой?
вообщем HELP
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2018, 15:47
Ответы с готовыми решениями:

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста...

Двумерный массив вводится в один столбец
Здравствуйте, подскажите пожалуйста, в чем тут может быть ошибка, двумерный массив почему-то...

Добавить строку/столбец в двумерный массив (Матрицу)
Уважаемые форумчане подскажите возможно ли добавить строку/столбец в двумерный не динамический...

Добавить в двумерный массив столбец с заданным номером
Реализовать через динамические массивы.

3
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
10.05.2018, 16:21 2
Лучший ответ Сообщение было отмечено StrongCat как решение

Решение

вообще идет так a[строки][столбцы]
по двумерному массиву необходимо идти двойным циклом
а у вас второго цикла я не вижу
чтобы пройтись например по строкам матрицы 3х3 надо завести такие циклы
C++
1
2
3
4
5
for(int i = 0; i < 3; i++)
   for(int j = 0; j < 3; j++)
   {
        cout<<a[i][j];
   }
где i - это строки, а j - столбцы
то есть, по факту, в данном цикле мы идем с шагом по элементам строки и как доходим до последнего элемента строки, перебегаем на следующую строку. Наглядно это вот так a[0][0]->a[0][1]->a0][2]->след строка->a[1][0]->a[1][1]->a[1][2]->след строка и т.д.


тут хорошо описано, как создается двумерный массив

Добавлено через 7 минут
разберем по строчно
Цитата Сообщение от StrongCat Посмотреть сообщение
int s, k;
s = 10; //кол во строк
k = 2; //кол во колонок
int **a = new int*[k];
for (int i = 0; i < k; i++) {
a[i] = new int[s];
}
a[1][9] = 2;
cout << a[1][9] << endl;
for (int i = 0; i < k; i++) {
delete[] a[i];
}
delete[] a;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int s, k;
 s = 10; //кол во строк
 k = 2; //кол во колонок
 int **a = new int*[s];//<-- s - строк в двумерном массиве
 for (int i = 0; i < s; i++) {
 a[i] = new int[k];//<-- k- колонок в массиве
}
/*a[1][9] = 2;первая строка, 9 элемент ?ловим эксцепт скорее 9 к 1*/
a[9][1] = 2;//присваивание значения 2 элементу в строке номер 9 столбца 1
 cout << a[9][1] << endl;//<-- тут тоже поменял в соответствии
 for (int i = 0; i < s; i++) {
 delete[] a[i];
 }
 delete[] a;
1
2 / 1 / 4
Регистрация: 10.05.2018
Сообщений: 35
10.05.2018, 17:27  [ТС] 3
Цитата Сообщение от Славуся Посмотреть сообщение
вообще идет так a[строки][столбцы]
по двумерному массиву необходимо идти двойным циклом
а у вас второго цикла я не вижу
чтобы пройтись например по строкам матрицы 3х3 надо завести такие циклы
C++
1
2
3
4
5
for(int i = 0; i < 3; i++)
   for(int j = 0; j < 3; j++)
   {
        cout<<a[i][j];
   }
где i - это строки, а j - столбцы
то есть, по факту, в данном цикле мы идем с шагом по элементам строки и как доходим до последнего элемента строки, перебегаем на следующую строку. Наглядно это вот так a[0][0]->a[0][1]->a0][2]->след строка->a[1][0]->a[1][1]->a[1][2]->след строка и т.д.


тут хорошо описано, как создается двумерный массив

Добавлено через 7 минут
разберем по строчно


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int s, k;
 s = 10; //кол во строк
 k = 2; //кол во колонок
 int **a = new int*[s];//<-- s - строк в двумерном массиве
 for (int i = 0; i < s; i++) {
 a[i] = new int[k];//<-- k- колонок в массиве
}
/*a[1][9] = 2;первая строка, 9 элемент ?ловим эксцепт скорее 9 к 1*/
a[9][1] = 2;//присваивание значения 2 элементу в строке номер 9 столбца 1
 cout << a[9][1] << endl;//<-- тут тоже поменял в соответствии
 for (int i = 0; i < s; i++) {
 delete[] a[i];
 }
 delete[] a;

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

Добавлено через 14 минут
не нашел кнопки закрытия темы
модеры закройте пожалуйста и если таковая кнопки имеется напишите в лс где она
0
7 / 7 / 0
Регистрация: 04.11.2016
Сообщений: 94
13.08.2022, 19:44 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{   
        int m,n,i,j,temp;
    
        cout<<"Input size m: ";
        cin>>m;
        
        cout<<"Input size n: ";
        cin>>n;
        
        for (i=1;i<=m;i++) 
        for (j=1;j<=n;j++)
        
        {
            
        cin>>temp;  
        cout<<"a ["<<i<<"]["<<j<<"] = "<<temp<<endl;
        
        }
    
    }
0
13.08.2022, 19:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2022, 19:44
Помогаю со студенческими работами здесь

Вставить в двумерный массив столбец после столбца с номером k
Здравствуйте. Помогите, пожалуйста, решить задачу. Абсолютно нет идей, как её решать. Дан...

Сформировать двумерный массив. Удалить из него столбец с заданным но-мером
Сформировать двумерный массив. Удалить из него столбец с заданным но-мером Помогите организовать...

Сформировать двумерный массив. Добавить в него столбец с заданным номером
Код есть и он работает, но это задание нужно сделать с использованием указателей, что я не смог...

Сформировать двумерный массив. Удалить из него строку и столбец с заданным номером
Сформировать двумерный массив. Удалить из него строку и столбец с заданным номером. Помогите...


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

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