Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
5 / 5 / 0
Регистрация: 24.01.2017
Сообщений: 233

Gcc вставка элемента в двумерный массив

24.07.2017, 22:15. Показов 2093. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вставить элемент в массив, заполненный random числами ?
ms[1][1]= 0
получается нечто другое...

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
===============================
//#include "stdafx.h"
#include <iostream> //cout,cin
#include <string>
#include <vector>
#include <stdio.h> // printf(), getchar(),putchar(),
#include <conio.h> // _getch()
#include <stdlib.h> //atoi(); atof(); rand
#include <math.h>
#include <time.h>
//#define eof -1  //Ctrl+z
 
using namespace std;
 
 
void printms2(int t, int s, int *m); //процедура заполнение i*R+j  и  вывод массива ms
void printms(int t, int s, int *m); // процедура просто вывод массива ms
 
int main(){
 
setlocale (0,"");
//system("chcp 1251");
//system("chcp 1251> nul");
int N=10; 
int R=15;
 
int ms[N][R];
cout<< "\n          Исходный массив:\n"<< endl<<endl;
srand(time(NULL));
 
printms2(N,R,*ms); // заполнили и вывели массив ms (числами по порядку)
cout<<endl;
 
cout<< "\n          Массив ms[1,1] = 0 ???  \n"<< endl<<endl;
 
 
ms[1][1]= 0;
 
 
//printms(N,R,*ms);
 
for (int i = 0; i < N; ++i){
for (int j = 0; j < R; ++j){
   printf("%4d", ms[i][j]," ");
 };
     cout<<endl;
};
 
 
_getch();
return(0);
 
};
 
 
void printms2(int t, int s, int *m){
for (int i = 0; i < t; ++i) {
for (int j = 0; j < s; ++j) {
//*(m+j)= 11+rand()%9;  // 11+rand()%9;// от 11 до 11+8
*(m+j)= i*s+j;
  //printf("%4d", m[i]+j," ");
  printf("%4d",*(m+j)," ");                       
  //cout<<"  " << ms[i][j] <<"";
 //_getch();  
 };
  cout<< endl;
};
 
};
 
void printms(int t, int s, int *m ){
for (int i = 0; i < t; ++i){
for (int j = 0; j < s; ++j)
 {
   printf("%4d", *(m+j)," ");
 };
     cout<<endl;
};
 
};
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.07.2017, 22:15
Ответы с готовыми решениями:

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

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

Двумерный массив Вставка столбца
У меня дано задание: вставить второй столбец перед столбцами, которые содержат минимальное значение. Помогите исправить ошибки, у меня...

8
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
24.07.2017, 22:45
Лучший ответ Сообщение было отмечено Rukov как решение

Решение

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void printms2(int t, int s, int *m) {
    for (int i = 0; i < t; ++i) {
        for (int j = 0; j < s; ++j) {
            //*(m+j)= 11+rand()%9; // 11+rand()%9;// от 11 до 11+8
            int *p = m + i*s + j;
            *p = i*s + j;
            //printf("%4d", m[i]+j," ");
            printf("%4d", *p, " ");
            //cout<<" " << ms[i][j] <<"";
            //_getch(); 
        };
        cout << endl;
    };
 
};
У вас указатель только по первой строке ходил.
1
5 / 5 / 0
Регистрация: 24.01.2017
Сообщений: 233
24.07.2017, 22:47  [ТС]
...
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
24.07.2017, 22:49
Кстати если хотите вставить пробел между переменными делайте так:
C++
1
printf("%4d ", *p);
Ваш вариант не даст нужного результата,ибо " " будет принят как лишний параметр и никак обрабатываться не будет.
1
5 / 5 / 0
Регистрация: 24.01.2017
Сообщений: 233
24.07.2017, 22:54  [ТС]
а как вставить элемент ms[1][1] и отобразить уже измененный масив ?
не отображает
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
24.07.2017, 22:57
Rukov, Как это не отображает вы посмотрите на месте где было 16 стало 0
1
5 / 5 / 0
Регистрация: 24.01.2017
Сообщений: 233
24.07.2017, 23:10  [ТС]
...Да. Отображает.
а как просто отобразить массив через printms(N,R,*ms);
(не через циклы...)
если раскоментировать строку 40 процедуру printms(N,R,*ms);
а 42-47 убрать...то непонятно выводит что...
0
71 / 71 / 55
Регистрация: 04.06.2016
Сообщений: 237
24.07.2017, 23:18
C++
1
2
3
4
5
6
7
8
9
10
11
void printms(int t, int s, int *m) {
    for (int i = 0; i < t; ++i) {
        for (int j = 0; j < s; ++j)
        {
            int *p = m + i*s + j;
            printf("%4d", *p);
        };
        cout << endl;
    };
 
};
Добавлено через 39 секунд
Там та же проблема
0
5 / 5 / 0
Регистрация: 24.01.2017
Сообщений: 233
24.07.2017, 23:50  [ТС]
...Дошло...для простого отображения - не присваивать *p = i*s + j;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.07.2017, 23:50
Помогаю со студенческими работами здесь

Двумерный массив Вставка столбца
Вставить второй столбец перед столбцами, в которых содержится минимальный элемент. Помогите исправить ошибки, Если минимальный элемент в...

Вставка столбца в двумерный массив
Помогите пожалуйста с задачей: В массиве размером n*n, элементы которого являются целыми числами, вставить новый столбец после столбца, в...

Вставка элементов в двумерный массив
Дан двумерный массив размером n*m, заполненный случайным образом. 2. Вставить после каждой четной строки первую строку. procedure...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru