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

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

Войти
Регистрация
Восстановить пароль
 
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
#1

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

23.09.2011, 13:22. Просмотров 669. Ответов 7
Метки нет (Все метки)

Ребята помогите решить задачу на C до сдачи осталось 50 мин. Пожалуйста
В данной квадратной целочисленной матрице 6*6 указать индексы всех элементов с наибольшим значением
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 13:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Матрицы, срочна нужна помощь, пожалуйста (C++):

Нужна срочная помощь в исправлении программы, пожалуйста!) - C++
С клавиатуры вводится значения х и y. В зависимости от значений х и y рассчитать значение функции f (x, y): f (x, y) = x, если y = 2; ...

Нужна помощь в построении симметричной матрицы 9x9... - C++
Необходимо создать квадратную матрицу целых чисел размером 9х9. По условию необходимо заполнить матрицу случайными числами. Отобразить...

find_if, нужна помощь - C++
Здравствуйте! Помогите решить проблему пожалуйста. Тут все просто, но у меня куча ошибок ( Вот структура struct HardWare { ...

Нужна помощь в исправлении - C++
эта программа расчитывает значения отрезка интегрирования (x1, x2) один для всех трех интегралов, помогите сделать так, чтобы нужно было...

Нужна помощь с ассемблером. - C++
Пыталась сама написать, да что-то не очень у меня получается. Задание состоит в том, чтобы найти минимальное положительное число в...

Нужна помощь начинающему (while). - C++
Собствено вот код: //While DEMO //прога выводит количество выполненых цыклов while #include <stdio.h> #include <lostream.h> int...

7
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);
      }
 
  }
}
как то так

 Комментарий модератора 
Используйте теги форматирования кода!
0
123456789igor
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
23.09.2011, 13:45  [ТС] #3
а вы могли бы полный рабочий код выложить? Заранее благодарен
0
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);
}
0
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'
0
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);
0
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();
}
Почти всё работает остался последний момент. Что добавить в код, что бы саму матрицу на экран выводило?
0
-=ЮрА=-
Заблокирован
Автор 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
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 14:13
Привет! Вот еще темы с ответами:

Нужна помощь с комментариями. - C++
Нужны комментарии и сделать так, чтобы вводилось только пятизначное число. #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include...

CALLBACK. Нужна помощь - C++
Всем привет! Есть такой код: class ExpressionCalculator { private: ...

Нужна помощь по алгоритму - C++
Подскажите литературу, где можно найти алгоритм поиска всех простых циклов в графе граф задан матрицей смежности. Сам использую поиск в...

Нужна помощь с программой - C++
Добрый день!! Помогите пожалуйста с программой, задача состоит в следующем: Все задания выполняются с использованием классов. ...


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

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

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