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

Объявить и заполнить двумерный динамический массив случайными числами от 10 до 50 - исправить ошибки в коде

30.08.2015, 21:26. Показов 5422. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте есть задача 3:http://http://purecodecpp.com/archives/1284
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
#include<iostream>
using namespace std;
int ny,my,i,n,rez,qwa;
void zap(int *num,int z,int x)
{
    for(int i=0;i<z;i++)
    {
        num[i]=(10+rand()%50);
        for(int j=0;j<x;j++)
        {
        num[j]=(10+rand()%50);  
        }
    }
}
 void viv(int *zaq,int z,int x)
{
    for(int i=0;i<z;i++)
    {
        cout<<zaq[i];
        for(int j=0;j<x;j++)
        {
            cout<<zaq[j]<<endl;
        }
    }
}
int main()
{
    cout<<"vvedite kol-vo strok=";
    cin>>ny;
    cout<<"vvedite kol-vo ctolbo";
    cin>>my;
    int**mtr;
    mtr=new int *[ny];
    for (int i=0; i<n; i++)
  mtr[i] = new int [my];
    zap(mtr,ny,my);
    viv(mtr,ny,my);
    delete mtr [];
    delete [] mtr;
    return 0;
    system("pause");
}
При компиляции выдает ошибку:
Кликните здесь для просмотра всего текста
c:\users\тимур балдин\documents\visual studio 2008\projects\4\4\kod.cpp(38) : error C2664: zap: невозможно преобразовать параметр 1 из 'int **' в 'int *'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\тимур балдин\documents\visual studio 2008\projects\4\4\kod.cpp(39) : error C2664: viv: невозможно преобразовать параметр 1 из 'int **' в 'int *'
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции

Очень прошу помочь ,смотрел в гугле и в яндексе,подробной информации по этой ошибке не нашел.Спасибо всем кто откликнулся !
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2015, 21:26
Ответы с готовыми решениями:

Объявить и заполнить двумерный динамический массив случайными числами от 10 до 50 (C++ -> Си)
Помогите переделать код в СИ , а именно все cin cout , заменить на printf и scanf Этот код объявляет и заполняет двумерный...

Объявить и заполнить двумерный динамический массив случайными числами от -50 до 50
Объявить и заполнить двумерный динамический массив случайными числами от -50 до 50.Показать его на экран. вычислить сумму элементов на...

Функции для обработки матриц: объявить и заполнить двумерный динамический массив случайными числами в заданном диапазоне
Как переделать этот код так , чтоб он соответствовал этому заданию: /*Объявить и заполнить двумерный динамический массив случайными ...

13
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
30.08.2015, 21:28
foxsc, выложите задание в виде текста, а не кривой ссылки.
0
1 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 46
30.08.2015, 21:30  [ТС]
простите:Объявить и заполнить двумерный динамический массив случайными числами от 10 до 50. Показать его на экран. Для заполнения и показа на экран написать отдельные функции. (подсказка: функции должны принимать три параметра – указатель на динамический массив, количество строк, количество столбцов). Количество строк и столбцов выбирает пользователь.
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
30.08.2015, 21:33
Цитата Сообщение от foxsc Посмотреть сообщение
При компиляции выдает ошибку:
Тебе компилятор черным по белому пишет проблему и строку.
Цитата Сообщение от foxsc Посмотреть сообщение
zap(mtr,ny,my);
viv(mtr,ny,my);
void viv(int **zaq,int z,int x)
void zap(int **num,int z,int x)
Цитата Сообщение от foxsc Посмотреть сообщение
delete mtr [];
delete [] mtr;
Это что за шаманство?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
30.08.2015, 21:34
Цитата Сообщение от foxsc Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
void zap(int *num,int z,int x)
{
    for(int i=0;i<z;i++)
    {
        num[i]=(10+rand()%50);
        for(int j=0;j<x;j++)
        {
        num[j]=(10+rand()%50);  
        }
    }
}
нужно
C++
1
2
3
4
5
6
7
void zap(int **num,int z,int x)
{
    for(int i=0;i<z;i++)
        for(int j=0;j<x;j++)
            num[i][j]=(10+rand()%50);  
    }
}
Цитата Сообщение от foxsc Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
void viv(int *zaq,int z,int x)
{
    for(int i=0;i<z;i++)
    {
        cout<<zaq[i];
        for(int j=0;j<x;j++)
        {
            cout<<zaq[j]<<endl;
        }
    }
}
C++
1
2
3
4
5
6
7
8
9
void viv(int **zaq,int z,int x)
{
    for(int i=0;i<z;i++)
    {
        for(int j=0;j<x;j++)
            cout<<zaq[i][j]<<' ';
        cout << endl;
    }
}
0
1 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 46
30.08.2015, 21:36  [ТС]
Внес изменения.Выдает туже самую ошибку
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
30.08.2015, 21:37
Цитата Сообщение от foxsc Посмотреть сообщение
C++
1
for (int i=0; i<n; i++)
C++
1
for (int i=0; i<ny; i++)
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
30.08.2015, 21:37
Цитата Сообщение от foxsc Посмотреть сообщение
Выдает туже самую ошибку
Не верю.
0
1 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 46
30.08.2015, 21:40  [ТС]
Заработало!Спасибо)Обьясните пожалуйста из за чего у меня возникала такая ошибка?почему мой вариант не верен?
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
30.08.2015, 21:46
Цитата Сообщение от foxsc Посмотреть сообщение
почему мой вариант не верен?
Тебе компилятор вроде как написал, причем даже русским языком. int * и int ** - разные типы.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
30.08.2015, 21:46
Лучший ответ Сообщение было отмечено foxsc как решение

Решение

foxsc, сравните свой вариант с рабочим.
"Всё познаётся в сравнении" © Вроде как Ницше
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.08.2015, 21:55
Вообще, после выхода прекрасного стандарта C++11 лучше выкидывать библиотеку чистых сей из C++ программ.
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
#include <iostream>
#include <random>
 
std::default_random_engine engine;
std::uniform_int_distribution<int> distr(10, 50);
 
void fill (int **array, size_t rows, size_t columns) {
    for (size_t i = 0; i < rows; ++i)
        for (size_t j = 0; j < columns; ++j)
            array[i][j] = distr(engine);
}
 
void print(int **array, size_t rows, size_t columns) {
    for (size_t i = 0; i < rows; ++i) {
        for (size_t j = 0; j < columns; ++j)
            std::cout << array[i][j] << ' ';
        std::cout << std::endl;
    }
}
 
int main ( ) {
    size_t rows, columns;
    std::cout << "Type counts of rows and columns separated with space: ";
    std::cin >> rows >> columns;
    
    int **arr = new int* [rows];
    for (size_t i = 0; i < rows; ++i)
        arr[i] = new int [columns];
    
    fill(arr, rows, columns);
    print(arr, rows, columns);
    
    for (size_t i = 0; i < rows; ++i)
        delete[] arr[i];
    delete[] arr;
}
0
1 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 46
30.08.2015, 21:56  [ТС]
получается двумерные массивыми нельзя рассматривать отдельно как массив i и j,вывод и заполнение должно происходить вместе:
C++
1
2
3
4
5
6
7
8
for(int i=0;i<z;i++)
    {
        num[i]=(10+rand()%50);
        for(int j=0;j<x;j++)
        {
        num[j]=(10+rand()%50);  
        }
    }
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.08.2015, 22:25
Цитата Сообщение от foxsc Посмотреть сообщение
нельзя рассматривать отдельно как массив i и j
Да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2015, 22:25
Помогаю со студенческими работами здесь

Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать
Всем привет. Не могу решить вот такую задачу на с++. СРОЧНО помогите, мне эту лабу надо сдать в субботу, как понимаете времени вообще нет( ...

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

Заполнить динамический двумерный массив случайными числами и подсчитать кол-во чисел кратных 5, лежащих на главной диагонали
Ввести с клавиатуры одно число N. Создать динамический двумерный массив N*N. Заполнить получившийся массив случайными числами и подсчитать...

Найти причины возникновения ошибок в коде и исправить эти ошибки (динамический двумерный массив)
Подскажите пожалуйста,что я упустила, где шибка? #include &lt;iostream&gt; using namespace std; void main() { int n=0; int...

Объявить и заполнить квадратный двумерный динамический массив
Обьявить и заполнить квадратный двумерный динамический массив случайными числами от -50 до 50 показать его на экран макс сумма элементов...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru