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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2009, 23:51   #1
rooman90
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию Задачи с использованием процедур

Дано:

1) Составить процедуру, исходными данными которой является матрица А из n строк и n столбцов, либо два массива В1, В2,...,Вn; C1, C2,..., Cm, либо один из них. Результат процедуры: Новое содержание матрицы А, полученное замещением 1-й строки 2-й строкой, 2-1 строки - 3-й строкой и т.д., в последней строке должно оказаться исходное содержание 1-й строки. Для проверки составленной процедуры разработать программу.

2) Для получения результата составить функцию, исходными данными которой являются два массива Х1, Х2,...,Хn и Y1, Y2,..., Yn с заданным числом n элементов (или один из них) или матрица A из n строк и n столбцов. Кроме этого, разработать программу для отладки составленной функции. Общее количество отрицательных элементов на главной диагонали и на двух соседних с ней (сверху и снизу) диагоналях матрицы А.
rooman90 вне форума Ответить с цитированием
Старый 06.03.2009, 01:10   #2
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию

Мне кажется, что общий вид будет таков. Это вторая задача. Первая решается по аналогии (результат функции-вывод на экран массива). Проверку я не делал.

Код:
//при условии что n задано
//n=12
#include <iostream>
#include <time.h>

int MyFunc(int arr[12][12])
{

	using namespace std;
	int result1,result2,result3;//результаты по диагоналям
	result1=result2=result3=0;
	for (int i=0; i<12;i++)
		{
			arr[i][i]<0?result1++:result1;
			((i<11)&&(arr[i][i+1]<0))?result2++:result2;
			((i<11)&&(arr[i+1][i]<0))?result3++:result3;
		};

	cout<<"главная диагональ "<<result1<<endl;
	cout<<"диагональ под главной "<<result2<<endl;
	cout<<"диагональ над главной "<<result3<<endl;
	return 0;
};
smile
sinj вне форума Ответить с цитированием
Старый 06.03.2009, 01:11   #3
sinj
программирователь
Пользователь
 
Аватар для sinj
 
Регистрация: 15.02.2009
Сообщений: 72
По умолчанию

Соответственно, программа:

Код:
int main()
{
	using namespace std;
	srand(time(0));
	int arra[12][12]={0};
	for (int i=0;i<12;i++){
		for (int j=0;j<12;j++){
			arra[i][j]=rand()%10-5;
			cout<<arra[i][j]<<" * ";
		};cout<<endl;
	};cout<<endl;


	MyFunc(arra);
	system("Pause");
	return 0;
}
smile
sinj вне форума Ответить с цитированием
Старый 06.03.2009, 08:52   #4
rooman90
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию

Мне кажется или это не в паскале?
rooman90 вне форума Ответить с цитированием
Старый 08.03.2009, 13:17   #5
rooman90
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию

Никто не сможет написать программу для Паскаля?
rooman90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста составить программку с использованием функций и процедур ЛесенОК Помощь студентам 1 17.02.2009 18:27
Организация программ с использованием процедур....Pascal flexo_77 Помощь студентам 1 19.12.2007 14:06
Разработка программ с использованием процедур(Unit) FeT Помощь студентам 7 04.12.2007 17:49
Разработка программ с использованием процедур(Unit) FeT Помощь студентам 3 02.12.2007 20:42