1 / 1 / 0
Регистрация: 06.09.2010
Сообщений: 6
1

Ввод и вывод массива.функции и указатели

21.11.2010, 16:07. Показов 7530. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется осуществить ввод нескольких двумерных массивов(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
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
#include <iostream>
using namespace std;
 
int **vvod(int **mass, int razm);
int **vyvod(int **mass, int razm);
 
int main()
{
    int razm;
    cout<<"vvedite razmernost"<<endl;
    cin>>razm;
    int **matr; 
    matr = new int*[razm]; 
    for (int i=0; i<razm; i++)
        matr[i] = new int[razm];
 
int **a;int **b;int **c;
a=vvod( a, razm);
b=vvod( b, razm);
c=vvod( c, razm);
a=vyvod( a, razm);
b=vyvod( b,razm);
c=vyvod( c, razm);
 
//óäàëåíèå 
    for (int i=0; i<razm; i++)
    delete[] matr[i];
    delete[] matr;
    system("pause");
    return 0;
}
 
int vvod(int **mass, int razm)
{
    for (int i=0; i<razm; i++)
        for (int j=0; j<razm; j++)
        {
        cout<<"element ["<<i<<"] ["<<j<<"] : ";
        ñin>>mass [i][j];
        }
        return mass;
}
 
int vyvod(int **mass, int razm)
{
    for (int i=0; i<razm; i++)
    {
        for (int j=0; j<razm; j++)
        {
            cout.width(3);
            cout << mass[i][j];
        }
        cout << endl;
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2010, 16:07
Ответы с готовыми решениями:

Открытые функции класса: ввод массива, вывод массива, определение длины вектора
Данные класса: массив N(10). Открытые функции класса: ввод массива, вывод массива, определение...

Ввод\вывод массива через функции
Помогите плз исправить) Нужно осуществить ввод\вывод массива #include &quot;stdio.h&quot; #include...

Ввод/вывод массива через функции
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define n 5 #define m 6 int main() { int i,j; ...

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива.
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом...

4
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.11.2010, 16:25 2
C++
1
a=vvod( a, razm);
a - это указатель, а vvod возвращает int

надо определения функций исправить, как в прототипах написано
vivod тоже - должна возвращать указатель
1
1 / 1 / 0
Регистрация: 06.09.2010
Сообщений: 6
21.11.2010, 19:09  [ТС] 3
accept, а в протитипах тоже ж ведь какие-то указатели..или это бред все? или оттуда убрать..я вообще не соображу что от меня хотят

я хз, голова кипит уже просто
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.11.2010, 02:53 4
прототипы нормальные
определения функций не соответствуют прототипам

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int **vvod(int **mass, int razm)
{
    for (int i = 0; i < razm; i++)
        for (int j = 0; j < razm; j++) {
            cout << "element [" << i << "] [" << j << "] : ";
            сin >> mass [i][j];
        }
    return mass;
}
 
int **vyvod(int **mass, int razm)
{
    for (int i = 0; i < razm; i++) {
        for (int j = 0; j < razm; j++) {
            cout.width(3);
            cout << mass[i][j];
        }
        cout << endl;
    }
    return mass;
}
1
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 3
09.01.2011, 22:35 5
Ребят!
а можете помочь с моей задачкой.
У меня в ней тоже присутствуют функции с указателями.

вот условие:
Дан массив С. получить и напечатать значение переменной Fl по следующему правилу:
Fl=1, если сумма положительных элементов массива больше суммы отрицательных элементов по модулю, в противном случае Fl=0.

Код
[CPP]#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int *Input (int* n)
{int* C;
 int i;

 cout << " Razmer massiva: \n";
cin>>*n;
C = new int [*n];
if (C==NULL) {cout << "ne xvataet pamjati!";
exit(1);}

cout << "Vvod elementov massiva: \n";
for (i=0; i<*n; i++)
cin >> *(C+i);

return C;
}

void SumPol(int *C,int n)
{   
	int k;
	int Sum1;
	k=1;
	Sum1=0;
	
		for (int i=0; i<n; i++){ 
		
				if (*(C+i)>0)
					Sum1=Sum1+*(C+i);
				k=k+1;}
		
}

void SumOtr (int *C, int n)
{
 int l;
 int Sum2;
 l=1;
 Sum2=0;
 

 for (int i=0; i<n; i++)
 { if (*(C+i)<=0)
 Sum2=abs(Sum2+*(C+i));}
   
 l=l+1;

 
}

void vyvodFl (int* C, int n)
{
 int Fl;

  int Sum1;
  int Sum2;
  SumPol(&Sum1,n);
cout<< "Summa polojitel'nyx elementov: \n"<<Sum1<<endl;
SumOtr (&Sum2,n);
cout << cout <<"Summa otricatel'nyx elementov: \n"<<Sum2<<endl;

for (int i=0; i<n;i++)
     
 {if (Sum1>Sum2) 
     Fl=1;
 else 
	 Fl=0;}
 cout << "Fl= "<<Fl;

}





  void Output (int *C,int n)
  {  int i;
     for (i=0; i<n; i++)
		 cout <<"element "<<i<<": "<<*(C+i)<<endl;
	 
  }

 



void main (void)
{ int *masC,nmasC;
masC=Input(&nmasC);
Output (masC,nmasC);
SumPol (masC,nmasC);
SumOtr (masC,nmasC);
vyvodFl (masC,nmasC);

getch();}
[/CPP]
0
09.01.2011, 22:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2011, 22:35
Помогаю со студенческими работами здесь

Ввод массива и вывод результат работы функции
Как сделать,чтобы в поле edittext вводился массив данных,а в statictext выводился результат,тоже...

Создать двухмерный массив. Ввод вывод массива вынести в отдельные функции
Создать двумерный массив размером m x n. Заполнить его случайными числами от 0 до 10. Вывести...

Три функции (ввод значений элементов массива, вывод, сравнение двух массивов)
Написать программу с тремя функциями: ввод значений элементов массива целых (возможно,значение...

Создать динамический массив. ввод,вывод и обработку элементов массива реализовать через функции
создать динамический массив. ввод,вывод и обработку элементов массива реализовать через функции


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru