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

ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Студентсмертный
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 39
14.01.2013, 02:41     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами #1
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
#include "stdafx.h"
#include "locale.h"
#include "stdlib.h"
#include "math.h"
void main()
{
    setlocale(LC_ALL,"rus");
    int n,e,m,f,k,i;
    printf("Введите размерность матрицы \nнижнюю границу диапозона и верхнюю границу диапозона\n");
    if ((scanf("%d\n%d\n%d\n%d",&n,&m,&e,&f) == 4) && (n>0) && (m>0))  {
    int **a=(int**)malloc(sizeof(int*)*n*m);
    for (int i=0;i<n;i++)
        {
        a[i] = (int *)malloc(n*sizeof(int));
        for (int j=0;j<m;j++)
        {
        a[i][j]=e+rand()%(f-e+1);}
    }
    printf("Вывод исходной матрицы\n");
    for (int i=0;i<n;i++)
    {   printf("\n");
        for (int j=0;j<m;j++)
        printf("%d ",a[i][j]);
    }
       k=0;
    for (int i=0;i<n;i++)
    for (int j=0;j<m;j++)
    {   if (a[i][j]>0 && a[i][j]%2=0) k=k+1; 
            }
    printf("\nkolichestvo chetnih polozhitelnih elementov = %d\n",k);
    }
    else printf("vvedeno necorrectnoe znachenie");
}
при компиляции подчеркивает a[i][j] в 29ой строчке до знака >
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 02:41     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами
Посмотрите здесь:

Ввод вручную размерности двумерного массива C++
Заполнение двумерного массива случайными числами из заданного диапазона C++
C++ Не получается заполнение двумерного массива случайными числами с указанием количества строк и столбцов.
Заполнение двумерного массива случайными числами, его построчная сортировка C++
Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0xv
12 / 12 / 1
Регистрация: 28.12.2012
Сообщений: 41
14.01.2013, 02:58     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами #2
Цитата Сообщение от Студентсмертный Посмотреть сообщение
C++
1
if (a[i][j]>0 && a[i][j]%2=0)
a[i][j] % 2 == 0 вместо a[i][j]%2=0

Добавлено через 1 минуту
Цитата Сообщение от Студентсмертный Посмотреть сообщение
C++
1
int **a=(int**)malloc(sizeof(int*)*n*m);
Вам не кажется что у вас тут перебор с количеством элементов? int **a=(int**)malloc(sizeof(int*)*n*m
Может без n?
13Inferno13
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 24
18.01.2013, 01:45     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами #3
Непонятно зачем вообще в программе участие переменных е и f

Добавлено через 13 минут
Извини за поспешность понял что означают
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
18.01.2013, 01:51     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами #4
Цитата Сообщение от Студентсмертный Посмотреть сообщение
int **a=(int**)malloc(sizeof(int*)*n*m);
двухуровневая адресация (указатель указывает на другой указатель а он соответственно на переменную)
что такое указатель читайте книгу. прочитаешь и сам поймешь как все работает
Yandex
Объявления
18.01.2013, 01:51     ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами
Ответ Создать тему
Опции темы

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