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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2009, 14:24   #1
vo_sa
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 15
По умолчанию получить матрицу

Код:
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
#include "conio.h"

int main()
{
	const int N=100;	
	int i,j,m, i1,j1;
	float A[N][N],B[N][N],C[N][N];
	printf("vvedite razmernost'<100: ");
	scanf("%d", &m);
	for (int i=0;i<m;i++)
	{
		for (int j=0;j<m;j++)
			{
			printf("A[%d][%d]",i,j);
		   scanf_s("%d",&A[i][j]);
		}
	}
	printf("\nMACCUB2: \n");
	for (int i=0;i<m;i++)
	 {
		for (int j=0;j<m;j++)
	    printf("%d ",A[i][j]);
	    printf("\n");
	}

	_getch();
}
получить действительную матрицу, элемент bij которой равен сумме элементов данной матрицы, расположенных в области, определяемой индексами ij
vo_sa вне форума Ответить с цитированием
Старый 26.06.2009, 18:38   #2
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

Цитата:
int i,j,m, i1,j1;
float A[N][N],B[N][N],C[N][N];
printf("vvedite razmernost'<100: ");
scanf("%d", &m);
for (int i=0;i<m;i++)
Компилятор может ругаться на множественное определение типа

И ваще ты данные вводишь где нибудь, я чёто не вижу
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 26.06.2009, 18:47   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код:
scanf_s("%d",A[i][j]);
Когда вводите элемент массива амперсант ставить не нужно.
MaTBeu вне форума Ответить с цитированием
Старый 26.06.2009, 18:54   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
Код:
scanf_s("%d",A[i][j]);
Когда вводите элемент массива амперсант ставить не нужно.
Хм... читал в одной книги (название не помню), там было сказано лучше писать амперсанд &, типа как берем адрес куда нужно поместить значение переменной и т.д. т.п.. Но я все таки придерживаюсь этого мнения. Не учите "новичков" не точности. Вот когда будут уже кодить пусть пишут как захотят.

P.S. Лично мое мнение.

Последний раз редактировалось profi; 26.06.2009 в 18:58.
profi вне форума Ответить с цитированием
Старый 26.06.2009, 18:58   #5
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Хм, а вы в курсе, что такое массив в С++?
Амперсант нужно писать только когда вводите переменную, потому что нужен ее адрес
Код:
int a;
scanf("%d", &a);
А элемент массива - это и так адрес
Код:
int a[10];
scanf("%d", a[0]);
Если вы будете писать со ссылкой, значение просто не запишется в массив.
a[0] = &a в данном случае, потому, что первый элемент массива - это указатель на начало массива.

ПыСы: мой вам совет - смените книги.
MaTBeu вне форума Ответить с цитированием
Старый 26.06.2009, 19:03   #6
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Хм... а я про массивы и не говорил, я имел ввиду переменные не типа массива. Сори, что не уточнил. Хотя компилятор Borland C++ 3.1 требует ввод массива через & .

P.S. Кстати имя массива и есть указатель на первый элемент. Если мне не изменяет память, хотя могу ошибаться.
P.S.S. Книги Стивена Прата и Г.Шилдта менять не буду лучше сами читайте книг побольше и проверяйте программы на компиляторах.

Последний раз редактировалось profi; 26.06.2009 в 19:23.
profi вне форума Ответить с цитированием
Старый 26.06.2009, 19:51   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Хм... а я про массивы и не говорил, я имел ввиду переменные не типа массива. Сори, что не уточнил. Хотя компилятор Borland C++ 3.1 требует ввод массива через &
Хм, тогда что в посте №3 вас не устроило? Я сказал, что амперсант не нужно ставить когда вводишь элемент массива.
Цитата:
P.S.S. Книги Стивена Прата и Г.Шилдта менять не буду лучше сами читайте книг побольше и проверяйте программы на компиляторах.
Не знаю, как вы их читали, но компилятор говорит (именно компилятор на котором пишет ТС), что по ссылке не нужно передавать.

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

Оффтоп закрыт. Надеюсь никого не оскорбил.
MaTBeu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организовать матрицу 24nastya11 Общие вопросы C/C++ 3 15.06.2009 13:29
Сложить матрицу... Zibiv Помощь студентам 7 19.05.2009 15:51
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57
Получить матрицу B[1..N-1,1..M-1] из матрицы A[1..N,1..M] удалением какой-либо х-той строки и k-го столбц kempers Помощь студентам 2 18.12.2008 10:53
Задача на матрицу. Fest Помощь студентам 2 16.12.2007 05:54