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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
irinairina
1 / 1 / 0
Регистрация: 06.09.2010
Сообщений: 6
#1

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

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

Требуется осуществить ввод нескольких двумерных массивов(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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 16:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод и вывод массива.функции и указатели (C++):

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

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

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

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

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

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

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

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

я хз, голова кипит уже просто
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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
Verock
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2011, 22:35
Привет! Вот еще темы с ответами:

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод) - C++
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Указатели.Функции (произведение элементов массива) - C++
Ввести в Memo некоторое количество чисел. Занести в массив положительные числа из Мемо. Точное количество элементов массива должно...

Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод - C++
Добрый день! Помогите, пожалуйста, с программой. Программа считывает строку с клавиатуры и переводит её в двоичный код. затем наоборот...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...


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

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

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