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

Матрицы, срочна нужна помощь, пожалуйста - C++

Восстановить пароль Регистрация
 
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
23.09.2011, 13:22     Матрицы, срочна нужна помощь, пожалуйста #1
Ребята помогите решить задачу на C до сдачи осталось 50 мин. Пожалуйста
В данной квадратной целочисленной матрице 6*6 указать индексы всех элементов с наибольшим значением
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 13:43     Матрицы, срочна нужна помощь, пожалуйста #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void showIndexes(int* matrix, int n)
{
  if(matrix && (n>0))
  {
    int max = matrix[0];
    //find max
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max<matrix[i*n+j])
          max = matrix[i*n+j];
      }
 
    //print indexes
    for (int i=0;i<n;i++)
      for(int j=0;j<n;j++)
      {
        if(max == matrix[i*n+j])
          printf("%d %d \n",i,j);
      }
 
  }
}
как то так

 Комментарий модератора 
Используйте теги форматирования кода!
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
23.09.2011, 13:45  [ТС]     Матрицы, срочна нужна помощь, пожалуйста #3
а вы могли бы полный рабочий код выложить? Заранее благодарен
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 13:50     Матрицы, срочна нужна помощь, пожалуйста #4
C
1
2
3
4
5
6
7
8
9
int main()
{
  const int n = 6;
  int matrix[n*n];
  for(int i=0;i<n*n;i++)
    matrix[i]=rand();
 
  showIndexes(matrix,n);
}
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
23.09.2011, 13:54  [ТС]     Матрицы, срочна нужна помощь, пожалуйста #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
int main()
{
const int n = 6;
int matrix[n*n];
for(int i=0;i<n*n;i++)
matrix[i]=rand();
 
showIndexes(matrix,n);
}
void showIndexes(int* matrix, int n)
{
if(matrix && (n>0))
{
int max = matrix[0];
//find max
for (int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(max<matrix[i*n+j])
max = matrix[i*n+j];
}
 
//print indexes
for (int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(max == matrix[i*n+j])
printf("%d %d \n",i,j);
}
 
}
}
получился такой код но мне выдает ошибку
[C++ Error] Unit1.cpp(6): E2268 Call to undefined function 'rand'
[C++ Error] Unit1.cpp(8): E2268 Call to undefined function 'showIndexes'
[C++ Error] Unit1.cpp(28): E2268 Call to undefined function 'printf'
east
5 / 5 / 0
Регистрация: 23.09.2011
Сообщений: 10
23.09.2011, 13:57     Матрицы, срочна нужна помощь, пожалуйста #6
библиотеки надо подключить

#include <stdio.h>
#include <stdlib.h>

и объявить перед функцией main функцию
void showIndexes(int* matrix, int n);
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
23.09.2011, 14:03  [ТС]     Матрицы, срочна нужна помощь, пожалуйста #7
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void showIndexes(int* matrix, int n);
int main()
{
srand(time(NULL));
const int n = 6;
int matrix[n*n],i;
for(int i=0;i<n*n;i++)
matrix[i]=rand();
 
showIndexes(matrix,n);
}
void showIndexes(int* matrix, int n)
{
if(matrix && (n>0))
{
int max = matrix[0];
//find max
for (int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(max<matrix[i*n+j])
max = matrix[i*n+j];
}
 
//print indexes
for (int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(max == matrix[i*n+j])
printf("%d %d \n",i,j);
}
 
}
getch();
}
Почти всё работает остался последний момент. Что добавить в код, что бы саму матрицу на экран выводило?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 14:13     Матрицы, срочна нужна помощь, пожалуйста
Еще ссылки по теме:

C++ Нужна помощь
C++ Нужна срочная помощь в исправлении программы, пожалуйста!)
C++ Нужна помощь

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2011, 14:13     Матрицы, срочна нужна помощь, пожалуйста #8
123456789igor,
Вот простой код на Си
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 <stdio.h>
#include <conio.h>
 
int main()
{
    const int n=6;
    int i,j,arr[n][n];
    
    printf("Enter array\r\n");
    for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
    {
        printf("arr[%d][%d] = ",i, j);
        scanf("%d",&arr[i][j]);
    }
    int max = arr[0][0];
    //Find max element
    for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
    {
        if(max < arr[i][j])
            max = arr[i][j];
    }
    for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
    {
        //if max == arr[i][j]
        if(max == arr[i][j])
            printf("i = %d, j = %d\r\n",i,j);
    }
    printf("Press any key to continue\r\n");
    getch();
    return 0;
}
Добавлено через 4 минуты
123456789igor, вот рандомное заполнение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>//srand
#include <stdio.h> //printf
#include <conio.h> //getch
#include <time.h>  //time
 
int main()
{
    const int n=6;
    int i,j,arr[n][n];
    srand(time(0));//for rand
    printf("Enter array\r\n");
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            arr[i][j] = rand()%100;//from 0 to 100
            printf("%d ",arr[i][j]);
        }
        printf("\r\n");
    }
    int max = arr[0][0];
    //Find max element
далее как в моём посте выше
Вот результат работы
Enter array
9 29 88 94 62 18
12 6 90 23 20 20
78 12 42 4 35 51
89 5 57 5 4 38
78 37 7 81 49 40
98 9 93 33 15 42
i = 5, j = 0
Press any key to continue
Yandex
Объявления
23.09.2011, 14:13     Матрицы, срочна нужна помощь, пожалуйста
Ответ Создать тему
Опции темы

Текущее время: 04:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru