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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2012, 17:05   #1
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию Двумерный массив в С

Нужно вывести на экран матрицу размерностью N x N, где 2<N<24, и N нечетное число:
помогите пожалуйста.
Мой шаблон
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 25
int main()
{
int Mas[MAX][MAX];
int n,i,j,x;
printf("vvedite poryadok matrici\n");
scanf("%d",&n);
while ((n<=2) || (n>=24) || (n%2 != 1))
{
printf("nedopustimoe znachenie\n");
printf("vvedite n\n");
scanf("%d",&n);
}





for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%d ",Mas[i][j]);
printf("\n");
}
system("PAUSE");
return 0;
}

Последний раз редактировалось GGLeq; 04.12.2012 в 17:08.
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 17:45   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

А где в Вашей программе заданные элементы матрицы?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 04.12.2012, 17:50   #3
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию

Я не совсем понял, что вы имели в виду. Уточню задание - составьте программу, которая выводит на экран квадратную матрицу A размером n × n . Входные данные: n – порядок матрицы. Значение n вводится с клавиатуры, является нечетным целым числом в диапазоне 2 < n < 24 . Выходные данные: матрица A – двумерный целочисленный массив. Значения элементов матрицы A выводятся на экран монитора с выравниванием столбцов по младшему разряду. Я уже делал другие варианты, но здесь не могу понять принцип.

Последний раз редактировалось GGLeq; 04.12.2012 в 17:52.
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 18:13   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Cмотрите Вам задана матрица, которую нужно вывести, т.е заданы ее элементы Mas[i][j]); Где эти элементы в программе? Я так понимаю, что у Вас д. быть форматированный вывод, т.е.

13 39 11 10 42 8 7
14 18 32 31 21 29 45 и т.д, не получилось. 8 из первой строки д.б над 9 (29) второй строки, 7 над 5(45). Предполагаю, что так. Смотря какую тему изучаете.
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 04.12.2012 в 18:18.
Sweta вне форума Ответить с цитированием
Старый 04.12.2012, 18:33   #5
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию

У меня программа не получилась - то, что я выложил - это остаток от другого варианта, я оставил лишь обложку в которую нужно вшить условие данного варианта. В этом массиве есть какой-то принцип, но я не могу его понять, не могу понять почему элементы располагаются именно так. Всё что нужно - это вывести массив на экран в зависимости от размерности массива, заданного пользователем. Если хотите можем поговорить по Skype. Мой логин mctraher43. Очень прошу помочь!
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 20:45   #6
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию

Я просто нашел на вашем сайте похожую программу - http://programmersforum.ru/showthread.php?t=153720 Но моя более сложная.
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 20:59   #7
svkpro
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 52
По умолчанию

вот моя старая задачка с матрицей:
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;

void main()
{
	int a[3][3], i ,j,sum;
	cout<<"Vvedite elementy massiva"<<endl;
	for (i=0;i<3;i++)
	{
		for (j=0;j<3;j++)
		{
			cout<<"Element [ "<< i+1<<" ] [ "<<j+1<<"] = ";
			cin>>a[i][j];
		}
		cout<<endl;
	}
	for (i=0;i<3;i++)
	{
		for (j=0;j<3;j++)
			cout<<a[i][j]<<" ";
		cout<<endl;
	}
	
	for (i=0;i<3;i++)
	{
		sum=0;
		for (j=0;j<3;j++)
			if (a[i][j]>0)
				sum+=a[i][j];				
			else {cout<<"stroka s otricatelnymi elementami"<<endl; break;}
		if (sum!=0) cout<<"summa vseh elementov="<<sum<<endl;
	}
	
	cin.get();
	cin.get();
}
это не совсем ваш пример но циклы для ввода элементов и вывода их на экран то что надо.
только подсуетить немножко под ввод пользователем условия N.
svkpro вне форума Ответить с цитированием
Старый 04.12.2012, 22:37   #8
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию

Извините, но это совсем не то. В моей программе нет входных данных кроме порядка матрицы. Вот пример другого варианта - правда не очень красивого:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 25
int main()
{
int Mas[MAX][MAX];
int n,i,j,x;
printf("vvedite poryadok matrici\n");
scanf("%d",&n);
while ((n<=2) || (n>=24) || (n%2 != 1))
{
printf("nedopustimoe znachenie\n");
printf("vvedite n\n");
scanf("%d",&n);
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
Mas[i][j]=0;
if (i==j) Mas[i][j]=1;
if (i+j==n-1) Mas[i][j]=1;
if (j==n/2) Mas[i][j]=1;
if (i==n/2) Mas[i][j]=1;
if (j==n/2 && i==n/2) Mas[i][j]=5;
}
}
for (i=0;i<n/2;i++)
{
for (j=i+1;j<n/2;j++)
Mas[i][j]=2;
}
for (i=0;i<n/2;i++)
{
for (j=(n/2)+1;j<n-1-i;j++)
Mas[i][j]=2;
}
for (j=0;j<n/2;j++)
{
for (i=(n/2)+1;i<n-1-j;i++)
Mas[i][j]=3;
}
for (i=(n/2)+1;i<n;i++)
{
for (j=i+1;j<n;j++)
Mas[i][j]=3;
}
for (j=(n/2)+1;j<n;j++)
{
for (i=j+1;i<n;i++)
Mas[i][j]=4;
}
for (i=n/2;i<n;i++)
{
for (j=n-i;j<(n/2);j++)
Mas[i][j]=4;
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%d ",Mas[i][j]);
printf("\n");
}
system("PAUSE");
return 0;
}
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 22:38   #9
GGLeq
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 14
По умолчанию

Но спасибо!
GGLeq вне форума Ответить с цитированием
Старый 04.12.2012, 23:00   #10
svkpro
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 52
По умолчанию

ее надо заполнить случайными числами?
svkpro вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив darxan Visual C++ 3 31.05.2012 14:54
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив qwertyuiop12 Паскаль, Turbo Pascal, PascalABC.NET 4 19.05.2010 21:42
Двумерный массив hidalgo Паскаль, Turbo Pascal, PascalABC.NET 1 18.05.2010 15:14
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40