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

пройтись по строке с закрепленным минимальным - C++

Восстановить пароль Регистрация
 
beats
 Аватар для beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 565
21.12.2012, 23:44     пройтись по строке с закрепленным минимальным #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
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int const n=5, m=5;
    double A[n][m];
    double Anew[n][m];
    int i, j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
        {
         A[i][j] = rand() % 99;
        }
    }   
    for (i=0; i<n; i++)
 {  
        for (j=0; j<m; j++)
        { 
          cout << setw(3) << A[i][j];
        }
        cout << endl;
    }
    cout << "Min v kagdoy stroke" <<endl;
    for (i=0; i<n; i++)
 {
        double min=A[i][0];
        for (j=1; j<m; j++)
        {
                if (min>A[i][j]) 
                {
                 min=A[i][j];        
                        } 
        }
        cout << min << endl;
    }
 
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2012, 23:44     пройтись по строке с закрепленным минимальным
Посмотрите здесь:

Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце C++
Строка: удалить лишние пробелы и определить слово с минимальным кол-вом согласных в строке C++
Пройтись циклом for по всем символам в текстовом файле C++
Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. C++
Как пройтись по чужому исходному коду ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4922 / 2665 / 243
Регистрация: 29.11.2010
Сообщений: 7,420
22.12.2012, 02:18     пройтись по строке с закрепленным минимальным #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
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <iterator>
#include <random>
#include <cstddef>
#include <vector>
 
 
int main()
{
    std::size_t M, N;
    std::cin >> M >> N;
    std::vector <std::vector<double> > A (M, std::vector<double> (N));
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<int> uid (10, 99);
    auto print_v = [](const std::vector<double>& v)
    {
        std::copy(v.begin(), v.end(), std::ostream_iterator<double>
            (std::cout << std::fixed << std::setprecision(2), " "));
        std::cout << std::endl;
    };
    std::cout << "Before:\n";
    for (auto &v : A)
    {
        std::generate(v.begin(), v.begin() + N, [&uid, &gen]
            { return static_cast<double> (uid(gen)); } );
        print_v(v);
        double min = *std::min_element(v.begin(), v.begin() + N);
        std::for_each(v.begin(), v.begin() + N, [&min](double &x) { x /= min; } );
    }
    std::cout << "\nAfter:\n";
    for (auto &v : A)
        print_v(v);
}
beats
 Аватар для beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 565
24.12.2012, 14:48  [ТС]     пройтись по строке с закрепленным минимальным #3
Спасибо конечно, но даже не знаю как это использовать((. ошибка на ошибке, да и синтаксис какой то замутный.
Ктонибудь может мой код подредактировать для окончательно решения?
Миниатюры
пройтись по строке с закрепленным минимальным  
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
24.12.2012, 15:21     пройтись по строке с закрепленным минимальным #4
создай массив размерностью n.
C++
1
int minArray[n]
запиши в него все минимумы строк. Потом уже циклы
A[i][j] /= minArray[i];
beats
 Аватар для beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 565
24.12.2012, 21:28  [ТС]     пройтись по строке с закрепленным минимальным #5
Спасибо! Сделал немного не так, как как A[i][j] /= minArray[i]; не работало.
Вот результат
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int const n=5;
    double A[n][n];
    double Anew[n][n];
    int minArray[n];
    int i, j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
         A[i][j] = rand() % 99;
        }
    }   
    for (i=0; i<n; i++)
 {  
        for (j=0; j<n; j++)
        { 
          cout << setw(3) << A[i][j];
        }
        cout << endl;
    }
    cout << "Min v kagdoy stroke" <<endl;
    for (i=0; i<n; i++)
 {
        double min=A[i][0];
        for (j=1; j<n; j++)
        {
                if (min>A[i][j]) 
                {
                 min=A[i][j]; 
                 minArray[i]=A[i][j];
                        } 
        }
        cout << min << endl;
    }
    // Новая
 
     for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
         Anew[i][j] = A[i][j]-minArray[i];
        }
    }   
 
    // Вывод 
   for (i=0; i<n; i++)
 {  
        for (j=0; j<n; j++)
        { 
          cout << setw(3) <<  Anew[i][j];
        }
        cout << endl;
    }
    system ("pause");
    return 0;
}
Скрин прикрепляю. Все работает (я только вместо деления сделал вычитание пока пусть будет оно), но не суть. Суть что первая и последняя строка матрицы выводит какую то фигню. А остальные правильно! В чем дело?
Миниатюры
пройтись по строке с закрепленным минимальным  
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
24.12.2012, 22:34     пройтись по строке с закрепленным минимальным #6
37 строчку
C++
1
minArray[i]=A[i][j]
нужно вынести за цикл for и поставить перед 40 строчкой
только уже заменить на
C++
1
minArray[i]= min;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 01:45     пройтись по строке с закрепленным минимальным
Еще ссылки по теме:

C++ Как пройтись по всем типам std::tuple
Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным C++
C++ В каждой строке матрицы найти элемент с минимальным значением и его номер столбца

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

Или воспользуйтесь поиском по форуму:
beats
 Аватар для beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 565
25.12.2012, 01:45  [ТС]     пройтись по строке с закрепленным минимальным #7
Отлично получилось!! Спасибо!
Yandex
Объявления
25.12.2012, 01:45     пройтись по строке с закрепленным минимальным
Ответ Создать тему
Опции темы

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