Форум программистов, компьютерный форум CyberForum.ru

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

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

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

14.01.2010, 18:02. Просмотров 527. Ответов 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;
    }}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2010, 18:02     Матрица(Найти ошибку)
Посмотрите здесь:

Матрица, найти ошибку - 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; ...

Найдите ошибку в задаче: "дана матрица, если выполняется условие, то следует исполнить преобразование.." - C++
// labar4.cpp : main project file. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;string.h&gt; #include...

Найти ошибку - C++
/*7) Может ли число вида АВАВ, где А и В – цифры, быть точным квадратом? Если да, то вывести на экран все варианты*/ #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 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 минуту
Надеюсь: хоть чем-нибудь помог
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 20:16  [ТС]     Матрица(Найти ошибку) #3
Что самое главное ошибка возникает после введения значений

Матрица(Найти ошибку)
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:21  [ТС]     Матрица(Найти ошибку) #4
Тема ещё актуальна
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;
}
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:46  [ТС]     Матрица(Найти ошибку) #6
Darky,среда программирования MS Visual C++ 6.0, выдаёт 7 ошибок
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:47     Матрица(Найти ошибку) #7
Danil-za, К сожалению, я очень слабо владею телепатией. Но я учусь, правда.
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
14.01.2010, 21:49  [ТС]     Матрица(Найти ошибку) #8
Darky, я просто только после твоего ответа увидел твою подпись.
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
14.01.2010, 21:50     Матрица(Найти ошибку) #9
Danil-za, Будьте благоразумны и выложите код ошибок, чтобы мы вместе их подредактировали.
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.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2010, 21:55     Матрица(Найти ошибку)
Еще ссылки по теме:

Найти ошибку - C++
Не могу найти ошибку в программе, не ищет букву &quot;а&quot;, в некоторых случаях подсчет не правильный. Программа должна найти и подсчитать в...

найти ошибку? - C++
#include &lt;iostream&gt; using namespace std; int main() { int x, y; x = 10; y = 3; cout &lt;&lt; õ/ó; // Áóäåò...

найти ошибку! - C++
вот код программы #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;algorithm&gt; ...

найти ошибку - C++
#include&lt;iostream&gt; using namespace std; int min(int a,int min = 1000){ for (int i = 0; i &lt;= 4; i++) if (a &lt; min) min = a; ...


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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
14.01.2010, 21:55     Матрица(Найти ошибку)
Ответ Создать тему
Опции темы

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