Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
1

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

04.01.2015, 21:13. Просмотров 873. Ответов 6
Метки нет (Все метки)

Не могу вызвать функцию в основной программе. В задании перед массивом двумерным вообще требуется поставить 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
/*Написать на языке "С" или "С++" функцию, удовлетворяющую следующим требованиям, вызвать ее в программе main( )
Прототип: int f( int *A, int m );
Параметры: A - указатель квадратной матрицы
m – количество строк, столбцов матрицы
Назначение: вычисление среднего арифметического элементов, лежащих ниже диагонали
 */
 
#include "stdafx.h"
#include "conio.h"
#define m 3
void f(int **a){
    int i = 1; int s=0; int k = 0;int b=0;
    while (i < m)    //i-строка
    {
        for (int b = 0; b < i; b++)
        {
            s += a[i][b]; k++;
        }
        i++;
    }
    s = s / k; printf("%i", s);
}
 
 
int main()
{
    int a[m][m];
    for (int i = 0; i < m;i++)
    for (int j = 0; j < m; j++)
        scanf("%i", &a[i][j]);
    f(a);
    getch();
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 21:13
Ответы с готовыми решениями:

Создать класс для работы с двумерным массивом вещественных чисел
Создать класс для работы с двумерным массивом вещественных чисел. Разработать...

Создать класс для работы с двумерным массивом целых чисел
Добрый день! Вторая (и последующие) лабораторная выглядит так: Что-то писал...

Создать класс для работы с двумерным динамическим массивом чисел
Создать класс для работы с двумерным динамическим массивом чисел. Методы:...

Функции для работы с двумерным массивом: ввод, вывод, транспонирование
Написать функции для работы с двумерным массивом. Первая - для ввода элементов...

Написать программу для работы с динамическим целочисленным двумерным массивом
Написать программу для работы с динамическим целочисленным двумерным массивом....

6
Байт
Эксперт C
18319 / 12029 / 2507
Регистрация: 24.12.2010
Сообщений: 24,293
04.01.2015, 21:29 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    int **a;
    a = (int **) malloc(m*sizeof(int *));
    for (int i=0; i<m; i++) a[i] = (int *)malloc(m*sizeof(int));
    for (int i = 0; i < m;i++)
    for (int j = 0; j < m; j++)
        scanf("%i", &a[i][j]);
    f(a);
    getch();
    return 0;
}
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
04.01.2015, 21:29 3
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
переделал твой код ,циферки там где переделано
 
#include "stdafx.h"
#include "conio.h"
#define m 3
void f(int w){//1
    int i = 1; int s=0; int k = 0;int b=0;
    while (i < m)    //i-строка
    {
        for (int b = 0; b < i; b++)
        {
            s += a[i][b]; k++;
        }
        i++;
    }
    s = s / k; printf("%i", s);
}
 
 
int main()
{
    int a[m][m];
    for (int i = 0; i < m;i++)
    for (int j = 0; j < m; j++)
        scanf("%i", &a[i][j]);
   int w = **a;//2
    f(w);//3
    getch();
}
0
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
04.01.2015, 21:49  [ТС] 4
Не работает,что-то не так с массивом!
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
04.01.2015, 22:00 5
Лучший ответ Сообщение было отмечено mariacatz как решение

Решение

Забыл исправить ,вот так
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
переделал твой код ,циферки там где переделано
 
#include "stdafx.h"
#include "conio.h"
const int m=3;
int a[m][m];//0
void f(int w){//1
    int i = 1; int s=0; int k = 0;int b=0;
    while (i < m)    //i-строка
    {
        for (int b = 0; b < i; b++)
        {
            s += a[i][b]; k++;
        }
        i++;
    }
    s = s / k; printf("%i", s);
}
 
 
int main()
{
    
    for (int i = 0; i < m;i++)
    for (int j = 0; j < m; j++)
        scanf("%i", &a[i][j]);
   int w = **a;//2
    f(w);//3
    getch();
}
1
mariacatz
1 / 1 / 0
Регистрация: 06.12.2014
Сообщений: 37
04.01.2015, 22:10  [ТС] 6
спасибо
код неправильный у меня,пойду отлаживать
0
Байт
Эксперт C
18319 / 12029 / 2507
Регистрация: 24.12.2010
Сообщений: 24,293
04.01.2015, 22:24 7
Dimension, Честно говоря, твоего кода я совсем не понял. Вот такие вопросы возникают.
1. Смысл параметра w. В функции он не используется. И его значение как-то странно вычисляется. w = **a - это левый верхний элемент матрицы. Число совершенно случайное (вводимое)
2. Вынес описание массива a[m][m] в область глобальных переменных. Ставлю 10 к 1, что в задании имелось в виду совсем-совсем другое. И если ТС пойдет у тебя на поводу, то будет с треском выставлен с зачета, и поделом.
3. Общая ваша ошибка сmariacatz, s должно быть double
Цитата Сообщение от mariacatz Посмотреть сообщение
код неправильный у меня
Попробуй заменить свою функцию main (из поста 1), на ту, которую я тебе нарисовал в посте 2.

Добавлено через 2 минуты
Вот тут Вызов функции с указателями на матрицу товарищ послушался, спасибо сказал.
1
04.01.2015, 22:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 22:24

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

Ошибка с двумерным массивом
Выдает вот такую ошибку:&quot;37) : error C2109: для индекса требуется массив или...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru