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

Двумерные массивы и возврат значения из функции - C++

Восстановить пароль Регистрация
 
Ychenik007
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 2
04.03.2014, 14:13     Двумерные массивы и возврат значения из функции #1
Доброго времени суток уважаемые фуромчане!
Решил обратиться к более опытным людям ибо сам допереть не могу
Ситуация вот в чём.Нужно написать программу которая бы выделяла динамическую память под двумерный массив?передавала его в
функцию,а та в свою очередь проверяла бы являются ли элементы этого двумерного массива числами фибоначи.
Задача до безобразия простая по идее.Но вот реализованная мною программа как то не правильно возвращает результат из функции
Не могу понять в чём дело.Понятно что в приведённом мною ниже листинге нужно ещё реализовать освобождение памяти,с этим вопросов нет.
А вот с функцией...,может я не правильно передал двумерный массив?
Буду признателен за замечания по теме.


#include <cstdlib>
#include <iostream>

using namespace std;
int functFibon(int** arr,int,int);// прототип функции


int main(int argc, char *argv[])
{
int i,j;

cout<<"Enter your matrix"<<endl;
int x,y;
cout<<" lines-";cin>>x;//строки

cout<<" columns-";cin>>y;//столбцы



int **neo = new int* [x]; // х строк
for (i = 0; i < x; i++)
neo[i] = new int [y];// у столбцов



for (i=0;i<x;i++)
{
for(j=0;j<y;j++)
cin>>neo[i][j];
}
cout<<endl;
for (i=0;i<x;i++)
{
for(j=0;j<y;j++)
cout<<"\t"<<neo[i][j]<<"\t";// вывод матрицы на экран
cout<<endl<<endl;
}
////////////////////
for (i=0;i<x;i++)
{
int r;
for(j=0;j<y;j++)

r=functFibon(neo,j,i);

if (r==1)
cout<<"Line "<<i+1<<" Fibonacci numbers not found "<<endl;
else
cout<<"Line "<<i+1<<" found Fibonacci numbers - "<<r<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}



int functFibon(int** arr,int m,int n)//функция проверки числа
{
int r=0;
for (int i=0;i<=n;i++)
{
for (int j=2;j<=m;j++)
if ((arr[i][j]=((arr[i][j-1])+(arr[i][j-2]))))
{

r=arr[i][j];
}
else
r=0;
return r;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 14:13     Двумерные массивы и возврат значения из функции
Посмотрите здесь:

Двумерные массивы C++.Функции. C++
Функции и двумерные массивы C++
C++ Двумерные массивы и функции!!!
Возврат значения из функции C++
Возврат значения через параметр функции C++
Неправильный возврат значения функции C++
Возврат значения функции C++
C++ Двумерные массивы и функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Naudiz
 Аватар для Naudiz
14 / 12 / 1
Регистрация: 04.11.2011
Сообщений: 137
04.03.2014, 15:00     Двумерные массивы и возврат значения из функции #2
Ychenik007, пожалуйста заключайте свой код в тэги в дальнейшем.

Цитата Сообщение от Ychenik007 Посмотреть сообщение
if ((arr[i][j]=((arr[i][j-1])+(arr[i][j-2]))))
Скорее всего имелось в виду(63-я строка):
C++
1
if ((arr[i][j]==((arr[i][j-1])+(arr[i][j-2]))))
Добавлено через 32 минуты
Цитата Сообщение от Ychenik007 Посмотреть сообщение
int functFibon(int** arr,int m,int n)//функция проверки числа
{
int r=0;
for (int i=0;i<=n;i++) //Зачем нужен этот цикл, если поиск чисел Фибоначи осуществляется
//в пределах строки
{
for (int j=2;j<=m;j++)
if ((arr[i][j]=((arr[i][j-1])+(arr[i][j-2]))))
{
r=arr[i][j];
}
else
r=0;
return r;
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
int functFibon(int** arr,int m,int n)//ГґГіГ*êöèÿ ïðîâåðêè Г·ГЁГ±Г«Г*
{
    int r=0;
    for (int j=2;j<=m;j++)
    if ((arr[n][j]==((arr[n][j-1])+(arr[n][j-2]))))
    {
       r=arr[n][j];
    }
    else
        r=0;
    return r;
}
Yandex
Объявления
04.03.2014, 15:00     Двумерные массивы и возврат значения из функции
Ответ Создать тему
Опции темы

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