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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2012, 14:34   #1
ВладКлимов
 
Регистрация: 06.01.2012
Сообщений: 7
Восклицание Двумерный массив с динамическим распределением памяти C++

Доброго времени суток!!!Проблема вот в чем не могу понять из-за чего вылазит ошибка. Вот код:
Код:
// Двумерный массив с динамическим распределением памяти 
// Нахождения ненулевых строк и вычисления произведения элементов в 


#include "stdafx.h"
#include "locale.h"
#include "conio.h"
#include "stdlib.h"
#include "time.h"

int _tmain(int argc, _TCHAR* argv[])
{	
setlocale(LC_ALL, "Russian");

int **A,*B;
int j, i, k, l, p, N, M;
char m;

do{
do{
printf("Введите целочисленное значение количества строк M (от 1 до 20): ");
scanf("%d", &M);
}while((M>20)||(M<2));
do{
printf("Введите целочисленное значение количества столбцов N (от 1 до 20): ");
scanf("%d", &N);
}while((N>20)||(N<2));

printf("Количество строк = %d", M);
printf("\nКоличество столбцов =  %d\n", N);

A = new int*[N];
for(i=0; i<M; i++)
A[i] = new int[M];
B = new int[N];//Выделение памяти:

printf("\nВведите целочисленные значения элементов массива A, лежащие в диапазоне int\n");	
for(i=0; i<M; i++)
	for(j=0; j<N; j++){
		printf("\nA[%d][%d] = ",i,j);
		scanf("%d", &A[i][j]);}

puts("\n\n");
puts("Введённая матрица имеет вид:");

for(i=0; i<M; i++){
	for(j=0; j<N; j++)
		printf("%5d ",A[i][j]);
		printf("\n");}// Поиск количества ненулевых строк:

k=0;
for(i=0; i<M; i++){
	B[i]=1;
	for(j=0; j<N; j++)
		if (0==A[i][j]) break;
		if (j!=N) k=k++;
		B[i]*=A[i][j];
		if (B[i]!=0) B[i]=1;
		else B[i]=0;}
l=M-k;
printf("\nКоличество строк без нулевого элемента: %d\n", l);
printf("Матрица B имеет вид:");

for(i=0; i<M; i++){
		printf("%5d ",B[i]);
		printf("\n");}
printf("\nГде 1 -  отмеченна строкая, 0 - не отмеченная строка");

   for (i=0;i<M;i++) {
	   p=1;
	   for (j=0;j<N;j++){
		    if (B[i]==0) break;		
			else p=p*A[i][j];}

	      if (B[i]!=0) printf("\nПроизведение в строке %d = %d",i+1,p);}// Нахождение произведения в строках:

for(i=0; i<M; i++)
{delete A[i];
delete [] A;
delete [] B;//Очистка памяти:
}
if (m=='y') 
printf("\nвы согласились\n");
	if (m=='y')puts("\n");}
	while (m=='y');
	printf("");


getch();
return 0;
}

Последний раз редактировалось ВладКлимов; 08.01.2012 в 15:01.
ВладКлимов вне форума Ответить с цитированием
Старый 08.01.2012, 14:51   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

ВладКлимов

Проблема вот в чем не могу понять из-за чего вылазит ошибка

лично для меня - главная проблема в ужасном оформлении, что делает этот код - говнокодом, соответственно повышается вероятность ошибки.
Rififi вне форума Ответить с цитированием
Старый 08.01.2012, 15:00   #3
ВладКлимов
 
Регистрация: 06.01.2012
Сообщений: 7
По умолчанию

Все понятно.
ВладКлимов вне форума Ответить с цитированием
Старый 08.01.2012, 19:01   #4
ERAGORN
Пользователь
 
Аватар для ERAGORN
 
Регистрация: 02.01.2012
Сообщений: 46
По умолчанию

Вы перепутали M и N при создании матрицы.
ERAGORN вне форума Ответить с цитированием
Старый 09.01.2012, 13:31   #5
ВладКлимов
 
Регистрация: 06.01.2012
Сообщений: 7
Хорошо

спасибо огромное)))!!!
ВладКлимов вне форума Ответить с цитированием
Старый 09.01.2012, 13:41   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Все понятно.
Ага, всё понятно будет вам если попробуете прочитать этот код через 2-3 дня\неделю\месяц. И после этого начнете нормально форматировать код
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с динамическим распределением памяти в Си Семоха Валерий Помощь студентам 4 05.10.2011 16:10
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40