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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2015, 10:10   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Программа с двумерным массивом С++

Добрый день!

Помогите пожалуйста написать программу:
Дана матрица А(5х5). Определить массив Х из 5 элементов,
каждый из которых равен сумме элементов соответствующей
строки, если они все либо положительны либо отрицательны, и
нулю в противном случае. Определить величину Y, как сумму
элементов массива X, расположенных после первого нулевого
элемента.

Программа должна по выбору
пользователя осуществлять ввод исходной матрицы с клавиатуры или из файла. Для этого программа должна содержать две соответствующие функции, указатель на одну из которых необходимо передавать в функцию для вычисления элементов массива Х. Данная функция должна вызывать через указатель одну из функций ввода элементов матрицы, производить вычисление элементов массива X в соответствии с заданием и возвращать указатель на этот массив. Кроме того, программа должна содержать функцию для вывода на экран и в файл исходной матрицы и результирующего массива, а также рекурсивную функцию определения в соответствии с заданием величины Y. В программе не должно быть глобальных переменных.

Вот пыталась написать:

Код:
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int Input()
{
	setlocale(LC_CTYPE, "");
	int count = 0, sum = 0;
	int **A;
	int N = 5, M = 5;
	A = new int*[N];
	for (int i = 0; i<N; i++) A[i] = new int[M];
	printf("Введите 25 элементов массива\n");
	for (int i = 0; i < N; ++i) {
		for (int j = 0; j < M; ++j) {
			cin >> A[i][j];
		}
	}
	cout << endl;
	for (int i = 0; i < N; i++){
		for (int j = 0; j < M; j++) {
			cout << " " << A[i][j];
			count = count + 1;
			if (count >= 5) {
				cout << endl;
				count = 0;
			}
		}
	}
	system("pause");
	return 0;
}
int MasX(int **A, int N, int M)
{
	int **X;
	int K = 5, i, count = 0;
	X = new int*[K];
	for (int g = 0; g < K; g++){
     for (int i = 0; i < N; i++) {
	  for (int j = 0; j < M; j++) {
		  if (A[i][j] >= 0 && A[i][j] <= 0)
		  {
			count = count + A[i][j];
		}
		  else
		  {
			  break;
		  }
		if (j >= 5) {
			X[g] = X[g] + count;
		}
		else{
			X[g] = 0;
		}
	}
}
	}
	for (int g = 0; g < K; g++){
		cout << " " << X[g];
	}
	system("pause");
	return 0;
}
int main(int **A, int N, int M)
{
	Input();
	MasX(A, N, M);
	system("pause");
}
Maray вне форума Ответить с цитированием
Старый 14.03.2015, 11:50   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

и где проблема?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.03.2015, 17:02   #3
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
и где проблема?
Везде проблемы. Как выполнить условие: "В программе не должно быть глобальных переменных". Да и ещё много чего.
Maray вне форума Ответить с цитированием
Старый 15.03.2015, 17:45   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Как выполнить условие: "В программе не должно быть глобальных переменных"
Код:
int main()
{
	int **A, int N, int M; // локальные переменные

        Input(A, M, N);  // переделай по аналогии с функцией MasX()
	MasX(A, N, M);
	system("pause");
}
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить. Программа на паскале с двумерным массивом. Okaboka Паскаль, Turbo Pascal, PascalABC.NET 13 10.11.2013 16:15
Помогите с двумерным массивом. vlad333 Помощь студентам 10 17.10.2013 10:53
Помогите с двумерным массивом в С++ Vultar Помощь студентам 11 12.11.2009 18:28
проблемы с двумерным массивом pancho Общие вопросы Delphi 10 29.01.2009 21:24
задача с двумерным массивом Ras Помощь студентам 1 22.12.2007 19:58