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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 11:21   #1
coll3ctor
Пользователь
 
Регистрация: 02.05.2010
Сообщений: 14
По умолчанию С++. Матрица.

Никак не могу задачу сделать Исправьте ошибки плиз
условия:

Если в прямоугольной матрице все суммы элементов строк попадают на заданный отрезок [b;c], то определить номер строки с максимальной суммой элементов, иначе определить номера строк, сумма элементов которых не попала на отрезок [b;c].
код:

Код:
#include <cstdio>
#include <conio.h>
#include <windows.h>
#include <math.h>
#include "ConvOem.h"
#include <iostream>
#include <iomanip>
#define nmax 100

using namespace std;

double maxda(double B[],int n)
{
int i;
double maxi;
   for(i=0;i<n;++i)
{
  maxi=B[0];     /*Присваиваем переменной maxi значение 1го элемента */
     if(B[i]>maxi)  //сравниваем в цикле отсавшиеся элементы с maxi
  maxi=B[i];     //если какой то элемент больше 1го эл-та массива
  else           //то присваиваем этому элементу значение maxi
  maxi=B[0];     //если же таких элементов нет,то макс эл-м будет 1 эл-т массива
}
return maxi;
}


int main()
{
CConvOem szBuff(100);
if (szBuff.isInvalid()) return -1;
int A[nmax*nmax];
double b,c;
int S=0;
int temp=0;
int n,i,j,m;
double B[nmax];
// ...
cout << szBuff.toOemA("Введите отрезок [b;c]") << endl;
   cout << szBuff.toOemA("Введите b=") << endl;
cin >> b;
cout << szBuff.toOemA("Введите c=") << endl;
cin >> c;
// ввод матрицы
cout << szBuff.toOemA("Введите количество строк матрицы A: ") << endl;
cin >> n;
cout << szBuff.toOemA("Введите количество столбцов матрицы A: ") << endl;
cin >> m;
if ((n<0 || n>nmax) || (m<0 || m>nmax))
cout << szBuff.toOemA("Недопустимая размерность!!!");
   cout << szBuff.toOemA("\nВведите элементы матрицы A, разделяя элементы пробелами.");
   cout << szBuff.toOemA("\nДля перехода на следующую строку, нажмите Enter.");
   cout << szBuff.toOemA("\nВсего ") << m;
   cout << szBuff.toOemA(" столбцов и ") << n;
 cout << szBuff.toOemA(" строк.\n\n");
cout << szBuff.toOemA("т.е. размерность матрицы = ");
   cout << n << "x" << m << endl;
cout << szBuff.toOemA("ну давай, вводи!: ") << endl;
   for (i=0; i<n; ++i)
   for (j=0; j<m; ++j)
   cin >> A[i*m+j];
// ...
cout << endl;
   // ...
cout << szBuff.toOemA("Введённая матрица") << endl;
for (i=0; i<n; ++i)
{
 for (j=0; j<m; ++j)
 {
  cout << A[i*m+j] << " ";
 }
 cout << endl;
}
cout << endl;
   // ...
// Прога
// выводим сумму элементов каждой строки матрицы
for (i=0;i<n;++i)
{
 for(j=S=0;j<m;++j)
 {
    S+=A[i*m+j];  
 }
 B[i]=S;
 cout << "summa elmentov "<<i+1<<" stroki matricy = "<<B[i]<< endl;
}
// ...
for(i=0;i<n;i++)
{
 if(B[i]<=b && B[i]<=c)
 {  
  if (maxda(B,n)==B[i])
     cout << "max summa naxoditsya v " << i+1 << " stroke" << endl;
  else
     cout << "max summa naxoditsya v 1 stroke" << endl;
 }
 else
 {
  while(B[i]<=!b && B[i]<=!c)
  cout << "otrezku [b;c] ne prinadlezhit stroka: " << i+1 <<endl;
 }
 }

cout << szBuff.toOemA("\nДля завершения нажмите любую клавишу.");

_getch();
return 0;

}
coll3ctor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
Матрица! fds_sdf Помощь студентам 2 13.04.2009 20:16
Матрица Almost456 Паскаль, Turbo Pascal, PascalABC.NET 11 07.12.2008 02:04
Матрица LKf Паскаль, Turbo Pascal, PascalABC.NET 2 04.12.2008 17:33