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

В матрице найти элементы min и max и найти в каких индексах они находятся (столбец и строка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двунаправленный сортированный список http://www.cyberforum.ru/cpp-beginners/thread1171435.html
По заданию необходимо написать программу двунаправленный сортированный список с использованием шаблона. • добавление элемента в коллекцию; • удаление элемента из коллекции; • проверка, пуста ли...
C++ Как правильно передать динамический массив в функцию, увеличивающую его размер, чтобы изменения сохранились Извиняюсь за совсем нубский вопрос, похожее не нашел. Простая учебная задача - написать функцию, которая добавляет элемент в динамический массив и что-то там с этим массивом делает. Требования -... http://www.cyberforum.ru/cpp-beginners/thread1171433.html
C++ Очередь (fifo)
Здравствуйте, у меня проблема с программой, ошибка в адресах, если ввести больше 17 символов, то программа начинает работать некорректно и после выхода выдает ошибки. Компилятор g++ компилировалась...
C++ Вывод дерева на экран!
Всё сделал как нужно) Один вопрос как можно сделать вывод красивый, типа с рысочками, что вказуют на следующий элемент?! void show(tree *&tree, long rek) { if(tree!=NULL) { ...
C++ Сформировать одномерный массив. Удалить из него строку и столбец, на пересечении которых находится минималь http://www.cyberforum.ru/cpp-beginners/thread1171406.html
Сформировать одномерный массив. Удалить из него строку и столбец, на пересечении которых находится минимальный элемент. Спасибо
C++ Объявление массива внутри цикла Доброго всем денечка, так сказать с прошедшим Днем Победы:) Пишу на Visual studio 2010 C++. Есть набросок кода. У меня вопрос: можно ли вот так в наглую внутри цикла переопределить... подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,372
Завершенные тесты: 1
11.05.2014, 13:12
Ваше исправленое:
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int main()
{
    FILE *fp;
    const int n=5,m=20;
    int a[n][m];
    int b[n][m];
    srand((unsigned int)time(NULL));
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            b[i][j]=rand()%20-10;
    fp=fopen("1.txt","wt");
    for (int i=0;i<n;i++)
    {
        for (int j=0; j<m;j++)
            fprintf(fp,"%i ",b[i][j]);
        fprintf(fp,"\n");
    }
    fclose(fp);
    fp=fopen("1.txt", "r");
    if (fp==NULL) // обратите внимание 2 знака равно!
    {
        puts("error");
        getch();
        return 1;
    }
 
    int min,max,yy=0,y=0,q=0,qq=0;
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<m;j++)
        {
            fscanf(fp,"%i", &a[i][j]);
            printf ("%3i",a[i][j]);
            if(i==0 && j==0)
            {
                min=max=a[0][0];
            }else
            {
                if (a[i][j]<min)
                {
                    min=a[i][j];
                    y=i;
                    yy=j;
                }
                if (a[i][j]>max)
                {
                    max=a[i][j];
                    q=i;
                    qq=j;
                }
            }
        }
        printf("\n");
    }
    printf ("%i[%i;%i]\n",min,y,yy);
    printf ("%i[%i;%i]\n",max,q,qq);
 
    fclose(fp);
 
    fp=fopen("1.txt","a");
    if (fp==NULL){
        puts("error");
        getch();
        return 1;
    }
 
    fprintf(fp,"\n");
    fprintf(fp,"SAM DOPISHU");
 
    fclose(fp);
 
    getch();
    return 0;
}
Добавлено через 4 минуты
для вывода всех экстремумов замените строки 60-61 на
C++
1
2
3
4
5
6
7
8
9
10
    puts("minimumy:\n");
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            if(a[i][j]==min)
                printf ("%i[%i;%i] ",a[i][j],i,j);
    puts("\nmaximumy:\n");
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            if(a[i][j]==max)
                printf ("%i[%i;%i] ",a[i][j],i,j);
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru