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

фрагмент по массиву - C++

Восстановить пароль Регистрация
 
wei
1 / 1 / 0
Регистрация: 13.09.2011
Сообщений: 40
17.12.2011, 22:52     фрагмент по массиву #1
помогите с фрагментом где нужно найти строку содержащую минимальный элемент матрицы(5.3),не пойму как это вывести..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2011, 22:52     фрагмент по массиву
Посмотрите здесь:

Составить фрагмент программы C++
C++ Составить фрагмент программы
фрагмент кода C++
почему не работает фрагмент? C++
Общий фрагмент в строках C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lawlietb32
 Аватар для Lawlietb32
14 / 14 / 2
Регистрация: 31.03.2011
Сообщений: 118
18.12.2011, 02:06     фрагмент по массиву #2
Компилировал BC 3.1 ищет минимум, выводит его, номер строки и строку
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
 
void main()
{
    int a[5][3];
    int i, j, min, row;
    for (i=0; i<5; i++)
        for (j=0; j<3; j++)
        {
            cout << "Input A[" << i << "][" << j << "] = ";
            cin >> a[i][j];
        }
    min=a[0][0];
    row=0;  
    for (i=0; i<5; i++)
        for (j=0; j<3; j++)
        {
            if (a[i][j]<min)
            {
                min=a[i][j];
                row = i;
            }
        }
    cout << "\nMin = " << min << " in row = " << row;
    for (j=0; j<3; j++)
        cout << "\nA[" << row << "][" << j << "] = " << a[row][j];
    getch();
}
wei
1 / 1 / 0
Регистрация: 13.09.2011
Сообщений: 40
20.12.2011, 11:23  [ТС]     фрагмент по массиву #3
она вообще не так работает как нужно!что то левое находит..
вот написал свою вроде верно все,но не могу поменять эту найденную строку с 4ой строкой,меняет только сам минимальный элемент,так как это сделать подскажет кто?
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
void main()
 
{ int i,j,mi,p; double k;
  int a[5][3]={{6,7,5},{9,8,4},{5,9,4},{6,5,4},{5,5,1}};
  for(i=0;i<5;i++)
  {for(j=0;j<3;j++)
  printf("%5.1d",a[i][j]);
  printf( "\n");}
 
 
int min = a[0][0];
  int n=0;
  for ( i=0; i < 5; ++i)
    for ( j=0; j < 3; ++j)
      if (a[i][j] < min) {
     min = a[i][j];
     n = i;
      }
   mi=i;
 
 printf("minim=%d v stroke %d \n",min,n+1);
 
for (i=0;i<5;i++)
  {for(j=0;j<3;j++)
printf("%5.1d",a[i][j]);
printf("\n");
}  }
Добавлено через 13 часов 39 минут
пожалуйста.... )
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
20.12.2011, 11:31     фрагмент по массиву #4
как вариант - запомнить номер строки, в которой нашелся минимальный элемент ( index = i );

и далее
C++
1
2
3
4
5
6
7
if ( i != 3 ) // если минимум не  в четвертой строке
for ( int i = 0; i < 3; i ++ )
{
    int tmp = matrix[index][i];
    matrix[index][i] = matrix[3][i];
    matrix[3][i] = tmp;
}
wei
1 / 1 / 0
Регистрация: 13.09.2011
Сообщений: 40
20.12.2011, 12:09  [ТС]     фрагмент по массиву #5
наконец то все работает)
Yandex
Объявления
20.12.2011, 12:09     фрагмент по массиву
Ответ Создать тему
Опции темы

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