Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
#1

Матрица(Найти ошибку) - C++

14.01.2010, 18:02. Просмотров 537. Ответов 10
Метки нет (Все метки)

Помогите найти ошибку.
Задание: Дана прямоугольная матрица размера m×n. Составить программу, которая находит столбцы с наибольшей и наименьшей суммой элементов. Вывести найденные столбцы и суммы их элементов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream.h>
#include<math.h>
    void main()
    {
const int M=10,N=10;
int X[M][N];
int i,j,S,maxS,minS,jmax,jmin;
cout<<"BBeguTe eJIeMeHtbI MaTpuLLbI:\n";
for(i=0;i<M;i++)
for(j=0;j<N;i++)
cin>>X[i][j];
for(i=0;i<M;i++)
for(j=0;j<N;i++)
{
    maxS=0;minS=0;jmax=1;jmin=1;
    S=0;
    S=S+X[i][j];
    if(S>maxS)
    {maxS=S;jmax=j;}
    if (S<minS) {minS=S;jmin=j;}
    cout<<"CToJI6eLL c max CyMMou* :"<<jmax;
    cout<<"CToJI6eLL c min CyMMou* :"<<jmin;
    }}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2010, 18:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица(Найти ошибку) (C++):

Матрица, найти ошибку - C++
// Дана прямоугольная таблица a. Найти минимальный из максимумов строк. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Найти ошибку, матрица в классе. - C++
Приветствую всех, кто заглянул в топик. Помогите, пожалуйста, найти ошибку. Matrix.h: #pragma once class Matrix{ private: ...

Помогите найти ошибку с деструктором при создание класса Матрица - C++
Возникла проблема с деструктором, во время выполнения. #include&lt;iomanip&gt; #include&lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;ctime&gt; ...

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

10
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.01.2010, 20:14 #2
Может ты по строкам, а не по столбцам проходишь матрицу:

for(i=0;i<M;i++)
for(j=0;j<N;i++)
Добавлено через 16 минут
Почему в каждой итерации цикла обнуляешь и присваиваешь значения важным переменным:
[QUOTE]maxS=0;minS=0;jmax=1;jmin=1;/QUOTE]

Совет почитай или узнай, что такое вложенные циклы:
В данном случае приведу пример: красивого и понятного оформления вложенных циклов,
покажу на твоем примере

//Переходим к очередному столбцу
for(i=0;i<N;i++){
//Рассматриваем столбец
for(j=0;j<M;i++){
//зона: рассмотрения столбца поэлементно

}

//Cюда управление передаётся, как только просмотрим очердной столбец

}

Добавлено через 1 минуту
Надеюсь: хоть чем-нибудь помог
0
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 20:16  [ТС] #3
Что самое главное ошибка возникает после введения значений

Матрица(Найти ошибку)
0
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:21  [ТС] #4
Тема ещё актуальна
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:35 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 5
/*Дана прямоугольная матрица размера m?n.
Составить программу, которая находит столбцы
с наибольшей и наименьшей суммой элементов.
Вывести найденные столбцы и суммы их элементов.*/
int main()
{
  srand((unsigned)time(0));
  static int A[N][N];
  for (int i=0;i<N;i++)
  {
      for (int j=0;j<N;j++)
      {
        A[i][j]=10+rand()%21;
        cout<<A[i][j]<<" ";
      }
    cout<<endl;
  }
  static int B[N],sum=0;
  for (int i=0;i<N;i++)
  {
      for (int j=0;j<N;j++)
         sum+=A[j][i];
      B[i]=sum;
      sum=0;
  }
  cout<<endl;
    int max=B[0],min=B[0];
    int ind_max=0,ind_min=0;
  for (int i=0;i<N;i++)
  {
    if (B[i]>max)
    {
      max=B[i];
      ind_max=i;
    }
    if (B[i]<min)
    {
      min=B[i];
      ind_min=i;
    }
  }
  cout<<"Максимальная сумма "<<max<<" - в столбце "<<ind_max+1<<endl;
  cout<<"Минимальная сумма "<<min<<" - в столбце "<<ind_min+1<<endl;
}
0
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:46  [ТС] #6
Darky,среда программирования MS Visual C++ 6.0, выдаёт 7 ошибок
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:47 #7
Danil-za, К сожалению, я очень слабо владею телепатией. Но я учусь, правда.
0
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:49  [ТС] #8
Darky, я просто только после твоего ответа увидел твою подпись.
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:50 #9
Danil-za, Будьте благоразумны и выложите код ошибок, чтобы мы вместе их подредактировали.
0
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:53  [ТС] #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(18) : error C2065: 'cout' : undeclared identifier
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(18) : error C2297: '<<' : illegal, right operand has type 'char [2]'
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(20) : error C2065: 'endl' : undeclared identifier
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(20) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(23) : error C2374: 'i' : redefinition; multiple initialization
        c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(13) : see declaration of 'i'
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(30) : warning C4552: '<<' : operator has no effect; expected operator with side-effect
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(33) : error C2374: 'i' : redefinition; multiple initialization
        c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(13) : see declaration of 'i'
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(46) : error C2297: '<<' : illegal, right operand has type 'char [20]'
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(47) : error C2297: '<<' : illegal, right operand has type 'char [19]'
c:\documents and settings\Г¤Г*Г*ГЁГ«\Г°Г*áî÷èé ñòîë\lab4zad2\lab4zad2.cpp(48) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:55 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define N 5
/*Дана прямоугольная матрица размера m?n.
Составить программу, которая находит столбцы
с наибольшей и наименьшей суммой элементов.
Вывести найденные столбцы и суммы их элементов.*/
using namespace std;
int main()
{
  srand((unsigned)time(0));
  static int A[N][N],i=0,j=0;
  for (i=0;i<N;i++)
  {
      for (j=0;j<N;j++)
      {
        A[i][j]=10+rand()%21;
        cout<<A[i][j]<<" ";
      }
    cout<<endl;
  }
  static int B[N],sum=0;
  for (i=0;i<N;i++)
  {
      for (j=0;j<N;j++)
        sum+=A[j][i];
      B[i]=sum;
      sum=0;
  }
  cout<<endl;
    int max=B[0],min=B[0];
    int ind_max=0,ind_min=0;
  for (i=0;i<N;i++)
  {
    if (B[i]>max)
    {
      max=B[i];
      ind_max=i;
    }
    if (B[i]<min)
    {
      min=B[i];
      ind_min=i;
    }
  }
  cout<<"Максимальная сумма "<<max<<" - в столбце "<<ind_max+1<<endl;
  cout<<"Минимальная сумма "<<min<<" - в столбце "<<ind_min+1<<endl;
  return 0;
}
1
14.01.2010, 21:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2010, 21:55
Привет! Вот еще темы с ответами:

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Найти сумму первых n-четных натуральных чисел (найти ошибку) - C++
Нужно найти сумму первых n-четных натуральных чисел. Ошибка вылетает на 13 строке, должно быть я не правильно код составил, алгоритм не тот...

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.