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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 19:12   #1
Faraon9
Пользователь
 
Регистрация: 08.12.2012
Сообщений: 18
По умолчанию Рассчет в двумерном массиве (С++)

Добрый день!
прошу помощи!
есть учебная задача:
имеем матрицу размера 10 на 5, для простоты все элементы- целые единицы.
требуется в каждой строке рассчитать сумму и произведение всех ячеек, после этого все результаты просумировать.
попытка создания программы привела к результату: программа просто скадывает все элементы массива руг с другом и отдельно перемножает их между собой. после этого складывает полученные результаты.
в итоге программа выдает результат 51, хотя если в начале произвдить действия тока в строках а потом их складывать, то результат должен быть 60.

листинг на С++:
Код:
// Программа для просмотра возможности вложенных циклов
// для простоты- рассчет в массиве построчно суммы значений и их произведения и последующе сложение всего

#include <iostream>
#include <locale>
#include <math.h>
using namespace std;

int main ()
{
setlocale (LC_ALL,"Russian");
double s=0.0, c=0.0, p=1.0, c1=0.0, p1=1.0; 
int i, j;
double a [10][5];
for (i=0; i<10; i++)
	{
		for (j=0; j<5; j++)
			a[i][j] =1.0;
    }
for (i=0; i<10; i++)
	{
		
		for (j=0; j<5; j++)
		{
			p*= a[i][j];
			c+= a[i][j];
			
		}
    }
s+=c+p;
cout << "Результат: \n";
cout <<"Итоговая сумма: " << s <<"\n";
cout <<"Сумма строки: " << c <<"\n";
cout <<"Произведение строки: "<< p <<"\n";
return 0;
}
// На данный момент программа считает не по строкам. а полностью массив.


заранее спасибо за помощь!

Последний раз редактировалось Stilet; 08.12.2012 в 19:40. Причина: не указал в заголовке язык.
Faraon9 вне форума Ответить с цитированием
Старый 08.12.2012, 19:16   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
в итоге программа выдает результат 51, хотя если в начале произвдить действия тока в строках а потом их складывать, то результат должен быть 60.
с чего бы это?
10 строк по 5 элементов
сумма 5*10 = 50
произведение 1*1*....*1 = 1
сумма+произведение = 50+1 = 51
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.12.2012, 19:21   #3
Faraon9
Пользователь
 
Регистрация: 08.12.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
с чего бы это?
10 строк по 5 элементов
сумма 5*10 = 50
произведение 1*1*....*1 = 1
сумма+произведение = 50+1 = 51
возможно не правильно написал:
условие задачи:
надо в начале в каждой строке просуммировать и перемножить все члены ( то есть 1+1+1+1+1=5 и 1*1*1*1*1=1 в сумме 6), а потом сложить результаты с всех строк ( то есть 6*10строк=60)
Faraon9 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рассчет серверов Enaken Помощь студентам 14 22.09.2012 13:07
Рассчет суммы цифр чисел элементов, расположеных по кромке матрицы dima-intro Помощь студентам 7 21.12.2010 21:58
рассчет в таблице new_here Microsoft Office Access 4 21.10.2010 18:27
Физический рассчет сил. meizy Паскаль, Turbo Pascal, PascalABC.NET 2 12.04.2010 09:40
Рассчет времени по координатам Квэнди Свободное общение 5 28.12.2006 12:59