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

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

Войти
Регистрация
Восстановить пароль
 
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
#1

Матрица - C++

16.06.2010, 11:10. Просмотров 597. Ответов 15
Метки нет (Все метки)

Помогите исправить ошибки.
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
#include <iostream.h>
int matrica[5][5];
int str,j,min,sum;
int main()
{
        for (str=0;str<5;str++)
        {
                for (j=0;j<5;j++)
                {
                        matrica[str][j]=rand()%50;
                }
        }
        sum=0;
        for (str=0;str<5;str++)
        {
                
                min=matrica[str][0];
                for (j=1;j<5;j++)
                {                       
                        if (matrica[str][j]<min)
                        {
                                min=matrica[str][j];
                        }                       
                }
        sum=sum+min;    
        }
        printf("%i",sum);
        system("PAUSE");
        return 0;
}
Ошибки выдает в 10, 26 и 27 строках.
Задание В квадратной матрице A[5][5] найти минимальные элементы каждого рядка и найти их суммы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2010, 11:10     Матрица
Посмотрите здесь:

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

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной - Delphi
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью функций и процедур. Ввод-вывод в текстовый...

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной. - Turbo Pascal
Ребят,помогите решить задачу &quot;Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной&quot;

Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа? - Алгебра
Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа с одинаковой кратностью? Добавлено...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого - QBasic
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

Непонятки с DirectX (матрица поворота, камера, матрица проекции) - DirectX
Возник вопрос по DirectX, точнее по матрицам Вопрос 1: D3DXMATRIXA16 matWorld; UINT iTime = timeGetTime() % 10000; ...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов - Free Pascal
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
16.06.2010, 11:18     Матрица #2
ну первое что заметил у вас заполняется массив рандом, а подключить time.h вижу забыли, второе srand((unsigned)time(NULL)) тоже в коде не заметил
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 11:22  [ТС]     Матрица #3
оО а можно на примере показать? я такое впервые слышу

Добавлено через 1 минуту
Извиняюсь, ошибки в 10, 27 и 28
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 11:27     Матрица #4
Компилятор черным по белому пишет "Ambiguity between 'min' and '_STL::min...' - неопределенность между min и _STL::min
Вот эти строки перенеси в функцию main
int matrica[5][5];
int str,j,min,sum;
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
16.06.2010, 11:28     Матрица #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
#include <iostream.h>
#include<time.h>
 
 
int main()
{
    int str,j,min,sum;
    int matrica[5][5];
srand((unsigned)time(NULL));
        for (str=0;str<5;str++)
        {
                for (j=0;j<5;j++)
                {
                        matrica[str][j]=rand()%50;
                }
        }
        sum=0;
        for (str=0;str<5;str++)
        {
                
                min=matrica[str][0];
                for (j=1;j<5;j++)
                {                       
                        if (matrica[str][j]<min)
                        {
                                min=matrica[str][j];
                        }                       
                }
        sum+=min;    
        }
        printf("%d\n",sum);
        system("pause");
        return 0;
}
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 13:10  [ТС]     Матрица #6
Теперь ошибку выдает в 9, 14, 31 и 32.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 13:13     Матрица #7
Если по прошлому посту, то для srand, rand нужно подключить stdlib.h. Для printf - stdio.h
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 13:20  [ТС]     Матрица #8
ВОт что получилось

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
#include <iostream.h>
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
int main()
{
          int str,j,min,sum;
          int matrica[5][5];
srand((unsigned)time(NULL));
          for (str=0;str<5;str++)
          {
                for (j=0;j<5;j++)
                     {
                                matrica[str][j]=rand()%50;
                     }
          }
          sum=0;
          for (str=0;str<5;str++)
          {
                     min=matrica[str][0];
                     for (j=1;j<5;j++)
                {                       
                                if (matrica[str][j]<min)
                                {
                                min=matrica[str][j];
                                }
                     }
          sum+=min;
          }
          printf("%d\n",sum);
          system("pause");
          return 0;
}
При кампиляции ошибок 0, а при запуске 1 ошибка.

Linking a1111111.exe:
Linker Warning: No module definition file specified: using defaults
Linker Error: Undefined symbol _system in module A1111111.CPP
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 13:25     Матрица #9
Удали system("pause"); поставь сместо него допустим getchar();
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 13:29  [ТС]     Матрица #10
Поставил, но теперь запускается и в окне вылазиет число 76. Никакой рандомной матрицей тут и не пахнет.

Добавлено через 31 секунду
У меня есть код на Паскале, и так все раюотает, могу скинуть если поможет.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 15:35     Матрица #11
Цитата Сообщение от DanielDefo Посмотреть сообщение
Поставил, но теперь запускается и в окне вылазиет число 76. Никакой рандомной матрицей тут и не пахнет.
А ты чего ожидал? То что запрограммировал, то и получил. Программа вычисляет сумму минимальных элементов в строках матрицы. Если хочешь увидеть саму матрицу, то надо добавить вывод ее на экран.
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 15:42  [ТС]     Матрица #12
А как это сделать? У меня есть на ПАскале эта программа. Поможете перевести?
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 15:49     Матрица #13
Цитата Сообщение от Crudelis Посмотреть сообщение
for (str=0;str<5;str++)
{
for (j=0;j<5;j++)
{
matrica[str][j]=rand()%50;
}
}
Вот этот кусок меняешь на
C
1
2
3
4
5
6
7
8
9
for (str=0;str<5;str++)
{
   for (j=0;j<5;j++)
   {
       matrica[str][j]=rand()%50;
       printf("%i ", matrica[str][j]);
   }
   printf("\n");
}
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 15:54  [ТС]     Матрица #14
Во спасибо заработала. А как сделать чтоб именно выводило наименьшие элементы а потом их складывало.
НАпример:

Наименьший элемент первой строки 3
Наименьший элемент второй строки 4
Наименьший элемент третьей строки 2
Наименьший элемент четвертой строки 1
Сумма равно 10
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.06.2010, 16:08     Матрица #15
Цитата Сообщение от Crudelis Посмотреть сообщение
for (str=0;str<5;str++)
{
min=matrica[str][0];
for (j=1;j<5;j++)
{
if (matrica[str][j]<min)
{
min=matrica[str][j];
}
}
sum+=min;
}
printf("%d\n",sum);
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        for (str=0;str<5;str++)
        {
                
                min=matrica[str][0];
                for (j=1;j<5;j++)
                {                       
                        if (matrica[str][j]<min)
                        {
                                min=matrica[str][j];
                        }                       
                }
        printf("Наименьший элемент строки %i равен %i\n", str, min);
        sum+=min;    
        }
        printf("Сумма равна %d\n",sum);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2010, 16:10     Матрица
Еще ссылки по теме:

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...

Матрица В-транспонированная матрица А. Вывести матрицу В - Visual Basic
Дана матрица целых чисел А, состоящая из М строк и N столбцов Матрица В-транспонированная матрица А. Вывести матрицу В

Доказать, что матрица P идемпотентна. Показать, что матрица I = 2P - E инволютивна - Matlab
Очень нужна помощь первый раз использую matlab

Доказать, что матрица P идемпотентна. Показать, что матрица I = 2P - E инволютивна - MathCAD
Матрица P называется идемпотентной, если P2 = P. Матрица I называется инволютивной, если I2 = E.


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

Или воспользуйтесь поиском по форуму:
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
16.06.2010, 16:10  [ТС]     Матрица #16
спасибо огромное
Yandex
Объявления
16.06.2010, 16:10     Матрица
Ответ Создать тему
Опции темы

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