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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2012, 19:08   #1
Kas_Am
Новичок
Джуниор
 
Регистрация: 18.12.2012
Сообщений: 2
По умолчанию Почему программа может не работать?

В матрице А(5,6)
Получить одномерный массив, элементы которого равны произведению элементов каждой строки заданной матрицы

Что-то произведение у меня не тащит

Код:
#include "stdafx.h"
#include <iomanip>
#include <iostream>
using namespace std;
void main()
{
	const int M=5, N=6;
	int i,j;
	int A[M][N], B[N],P;
	for(i=0;i<M;i++)
		for(j=0;j<N;j++)
			A[i][j]= rand()%(20-10);
	cout<<"\n \n";
	for (i=0;i<M;i++)
	{for (j=0;j<N;j++)
	  printf("%7.2d",A[i][j]);
	printf("\n");}
	P=1;
	for(j=0;j<N;j++)
	 {P*=A[i][j];
	B[j]=P;}
	cout<<"Massiv B "<<endl;
	for(j=0;j<N;j++)
		cout<<setw(7)<<B[j];
	char ch;
	cin>>ch;

}

Последний раз редактировалось ACE Valery; 18.12.2012 в 23:01.
Kas_Am вне форума Ответить с цитированием
Старый 18.12.2012, 19:23   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Прорущен ещё один цикл фор.
Код:
for(i=0; i<M; i++)
{
P = A[i][0];
for(j=0;j<N;j++) 
  P*=A[i][j];
B[j] = P;
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 18.12.2012 в 20:08.
Smitt&Wesson вне форума Ответить с цитированием
Старый 18.12.2012, 19:37   #3
Kas_Am
Новичок
Джуниор
 
Регистрация: 18.12.2012
Сообщений: 2
По умолчанию

в результатах всё равно миллиарды получаются
Kas_Am вне форума Ответить с цитированием
Старый 18.12.2012, 20:42   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Kas_Am Посмотреть сообщение
в результатах всё равно миллиарды получаются
Значит рандом выдаёт большие цифры. Я на компиляторе не проверял, но есть такое подозрение.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 18.12.2012, 21:37   #5
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Значит рандом выдаёт большие цифры. Я на компиляторе не проверял, но есть такое подозрение.
rand()%(20-10) говорит от 0 до 9 не включая 10 на сколько я помню по таблице... проще написать так rand()%10
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 18.12.2012, 21:41   #6
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Код:
P*=A[i][j];
B[j]=P;
звезда тут явно лишняя

Код:
P=A[i][j];
B[j]=P;
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 18.12.2012, 21:42   #7
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Код:

#include "stdafx.h"
#include <iomanip>
#include <iostream>
using namespace std;
void main()
{
	const int Vys=5, Shir=6;
	int i,j;
	int A[Vys][Shir], B[Vys],P;
	for(i=0;i<Vys;i++)
		for(j=0;j<Shir;j++)
			A[i][j]= rand()%(10);
	cout<<"\n \n";
	for (i=0;i<Vys;i++)
	{
		for (j=0;j<Shir;j++)
			printf("%7.2d",A[i][j]);
		printf("\n");
	}
	P=1;

	for(i=0; i<Vys; i++)
	{
		P = A[i][0];
		for(j=0;j<Shir;j++) 
			P*=A[i][j];
		B[i] = P;
	}

	cout<<"Massiv B "<<endl;
	for(j=0;j<Vys;j++)
		cout<<setw(7)<<B[j]<<endl;
	char ch;
	cin>>ch;

}
Давайте внятные имена переменным. Константам - тем более.
А то ж фиг поймешь, че там в цикле под N, M крутится и какой i в какой j пишется.

UPD:
Работа над ошибками. Этот кусок кода врет, но уже только в одном месте)):
Код:
for(i=0; i<Vys; i++)
	{
		P = A[i][0];
		for(j=0;j<Shir;j++) 
			P*=A[i][j];
		B[i] = P;
	}

Последний раз редактировалось Smogg; 18.12.2012 в 21:48.
Smogg вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему может не работать аплоад файлов на сервер? Revival001 PHP 14 09.04.2012 00:31
Почему программа charles перестала работать в мозиле? EVT Помощь студентам 0 11.08.2011 23:33
Почему Программа не хочет работать strateg0793 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 21.01.2010 14:10
Cходящийся ряд (программа по идее должна работать но почему не работает понять не могу) в С++ Vultar Помощь студентам 3 17.12.2009 13:04
Простая Программа в DEV C++ не хочет работать! Почему? RomT24 Общие вопросы C/C++ 6 06.08.2009 17:25