Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 14:18   #1
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию Функции и двумерный массив

Пожалуйста помогите с прогой .

Составить программу, которая выполняет следующие действия:
*ввод исходных массивов;
*вывод исходных массивов;
*обработку массивов в соответствии с заданием;
*вывод результатов с соответствующими комментариями.
Пункты оформить в виде функций. Глобальные данные в программе не использовать.
Сама прога : *Просуммировать элементы матрицы Х(6,8), сумма индексов которых равна заданной константе К.
Вот моя прога (использовал указатели ) :
Код:
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <stdlib.h>

int main()
{
int A [6][8],*pA = &A[0][0];
int K,i,j;
int sum = 0;
setlocale(LC_ALL, "Russian");
printf("Matrix:\n");
for( i=0; i<6; i++)
{
for( j=0; j<8; j++)
{
A[i][j] =rand()%9;
printf (" %d" ,A[i][j]);
}
printf("\n");
}
printf("\nInput K=");
scanf("%d", &K);
for(i=0; i<6; i++)
for(j=0; j<8; j++)
{if(i+j == K)
sum += *pA ;
pA++;
} 
printf("Сумма= %d", sum);
getch(); 
}
А вот мой горе-код с использованием функций :
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <stdlib.h>

void vvod(int *a,int size1 ,int size2 )
{for(int i=0; i<size1; i++)
{
for(int j=0; j<size2; j++)
{
a[i][j] =rand()%9;
}
void vvod (int k)
{
setlocale(LC_ALL, "Russian");
printf("\nInput k=");
scanf("%d", &k);
}
void vivod (int *a , int size1 , int size2)
{
printf("Matrix:\n");
for( int i=0; i<size1; i++)
{
for(int j=0; j<size2; j++)
{
printf (" %d" ,a[i][j]);
}
printf("\n");
}
void pechat (int sum)
{
setlocale(LC_ALL, "Russian");
printf("Сумма= %d", sum);
}
void main ();
int a [6][8],*pa = &a[0][0];
int K,i,j;
vvod (a ,6,8);
vivod (a,6,8);
vvod (k);
int sum = 0;
for(i=0; i<6; i++)
for(j=0; j<8; j++)
{if(i+j == K)
sum += *pa ;
pa++;
} 
pechat (s);
getch(); 
}
Прошу помочь с редактированием проги . Заранее спсб )))

Последний раз редактировалось Stilet; 28.11.2010 в 16:48.
stas135642 вне форума Ответить с цитированием
Старый 29.11.2010, 10:48   #2
X-Zef
 
Аватар для X-Zef
 
Регистрация: 29.11.2010
Сообщений: 7
По умолчанию

Вроде так.
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <stdlib.h>

void BBog( int **a,int size1 ,int size2 )
{
	for(int i=0; i<size1; i++)
	{
		for(int j=0; j<size2; j++)
		{
			a[i][j] = rand()%9;
		}
	}
}

int BBog_K()
{
	int k;
	printf( "\nBBeguTe k=" );
	scanf( "%d", &k );
	return k;
}

void BbIBog(int **a , int size1 , int size2)
{
	printf( "Matrix:\n" );
	for( int i=0; i<size1; i++ )
	{
		for(int j=0; j<size2; j++ )
		{
			printf (" %d" ,a[i][j] );
		}
		printf( "\n" );
	}
}

void ne4aTb( int sum )
{
	printf( "CyMMa = %d", sum );
}

void main ()
{	
	int i,j;
	
	int **a;
	a = new int *[6];

	for( i=0; i<6; i++ )
		a[i] = new int[8];

	BBog( a ,6,8 );

	BbIBog( a,6,8 );
	int K = BBog_K();

	int sum = 0;
	for( i=0; i<6; i++ )
		for( j=0; j<8; j++ )
		{
			if( i+j == K )
				sum += a[i][j];
		}
		
	ne4aTb( sum );

	getch(); 

	for( i=0; i<6; i++ )
		delete[] a[i];

	delete[] a;
}

Последний раз редактировалось Stilet; 29.11.2010 в 11:32.
X-Zef вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив, С++ gagarin0 Помощь студентам 3 01.10.2010 20:33
Функции, Двумерный массив, Записи, Файлы Goroh Паскаль, Turbo Pascal, PascalABC.NET 1 21.06.2010 14:36
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Как сделать чтобы двумерный массив который создается в функции можно было использовать в других функциях Olya90 Помощь студентам 4 20.04.2009 18:39
2 задачи, двумерный массив, процедуры&функции mAveRik Помощь студентам 1 18.12.2008 19:01