1 Востаннє редагувалося ksotnichenko (15.11.2017 21:54:23)

Тема: Допоможіть зробити матрицю.

Допоможіть будь-ласка з кодом

#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <iomanip>

using namespace std;

int main() {
        
    int k,p,i,n,m,min,max;
    
    srand(time(NULL));
    
    cout << "N = ";
    cin >> n;
    
    cout << "M = ";
    cin >> m;
    
    int array[n][m];
    
    for(int j = 0; j < n; j++){
        
        for(int i = 0; i < m; i++){
            
            array[j][i] = rand()%10;
            
        }
        
    }

    for(int j = 0; j < n; j++){
        
        for(int i = 0; i < m; i++){
            
            cout << setw(3) << array[j][i] << " ";
             
        }
    
        cout << endl;
            
    }

    cout << "-" << endl;

    for(int j = 0; j < m; j++){
        
        int min = array[0][i];
        
        int max = array[0][i];
        
        int tmpmin = 0;
        
        int tmpmax = 0;
        
        for(int i = 1; i < m; i++){
            
            if(min > array[i][j]){
                
                min = array[i][j];
                
            }
            
            tmpmin = i;
            
            if(max < array[i][j]){
                
                max = array[i][j];
                
            }
            
            tmpmax = i;
            
        }
        
        array[tmpmin][j] = max;
        
        array[tmpmax][j] = min;
        
    }
    
    
    for(int j = 0; j < n; j++){
        
        for(int i = 0; i < m; i++){
            
            cout << setw(3) << array[i][j] << " ";
             
        }
    
        cout << endl;
        
    }
            
    return 0;
}

Реалізувати алгоритм перетворення матриці розміру nxm, змінюючи місцями мінімальний і максимальний елемент у кожному стовпці. Значення n і m визначаються користувачем

2

Re: Допоможіть зробити матрицю.

так у вас же є код, з чим тоді допомога потрібна?

Подякували: koala, leofun012

3

Re: Допоможіть зробити матрицю.

Є завдання, є код. Якщо код вас влаштовує - ідіть здавати. Якщо ні - поясніть, чому саме. Я бачу у цьому коді купу проблем, а яка з них вас хвилює - гадки не маю і припускаю, що 90% з них не хвилюватимуть ані вас, ані вашого викладача.

Подякували: ping, FakiNyan, leofun013

4

Re: Допоможіть зробити матрицю.

Мені потрібно змінити максимальний і мінімальний елемент масиву в кожному стовпці,а в цьому коді рядок стає стопчиком

5

Re: Допоможіть зробити матрицю.

о, це ж стандартна задача, а що саме ви не можете зробити? побудувати алгоритм?

6 Востаннє редагувалося Fox (15.11.2017 23:36:01)

Re: Допоможіть зробити матрицю.

Прихований текст
koala написав:

Є завдання, є код. Якщо код вас влаштовує - ідіть здавати. Якщо ні - поясніть, чому саме. Я бачу у цьому коді купу проблем, а яка з них вас хвилює - гадки не маю і припускаю, що 90% з них не хвилюватимуть ані вас, ані вашого викладача.

I якi такi проблеми ?

7

Re: Допоможіть зробити матрицю.

Я не можу просто цього реалізувати

8

Re: Допоможіть зробити матрицю.

а що вам заважає?

9

Re: Допоможіть зробити матрицю.

1. З-за помилки в цьому рядку програма падає

46.| for(int j = 0; j < m; j++){

2. Бардак з індексами та непроініційованими змінними.
3. Розмір масиву задається не константними значеннями. (Виявляється деякі компілятори допускають таке неподобство...)

10

Re: Допоможіть зробити матрицю.

Скажу так, як сказала одна людина сьогодні в одному голосовому чаті.
Людина гартується, коли долає перешкоди. Тому, якщо ви, пане ksotnichenko, дійсно хочете стати кращою, розумнішою людиною, то вам таки доведеться напружити мізки, та розібратись, спочатку з самим завданням, а потім ще й написати код.
Якщо ви згідні з цим, то я, святий ФакіНян, готовий допомогти вам з цим, провести вас через цей темний ліс до цивілізації. Але я лише буду показувати дорогу, тупцяти ніжками вам доведеться самому, на спині не понесу.
А якщо не згідні, то вам залишається лише сподіватись, що хтось прийде і зробить все за вас.

Подякували: leofun011

11

Re: Допоможіть зробити матрицю.

Прихований текст
vtorgashov написав:
koala написав:

Є завдання, є код. Якщо код вас влаштовує - ідіть здавати. Якщо ні - поясніть, чому саме. Я бачу у цьому коді купу проблем, а яка з них вас хвилює - гадки не маю і припускаю, що 90% з них не хвилюватимуть ані вас, ані вашого викладача.

I якi такi проблеми ?

Незрозумілі назви змінних, назви затінюють стандартні функції, назви затінюють одна одну, зайві відступи між рядками, суміш бібліотек і функцій C і C++, невикористання стандартних функцій для типових дій. Досить?

Подякували: leofun011

12

Re: Допоможіть зробити матрицю.

ksotnichenko:

20.     int array[n][m];//перший індекс - до n, другий - до m
46.    for(int j = 0; j < m; j++){ //j - до m, тобто другий індекс
48.        int min = array[0][i]; //чому тут дорівнює i?
50.        int max = array[0][i]; //чому тут дорівнює i?
56.        for(int i = 1; i < m; i++){ // i теж до m?
58.            if(min > array[i][j]){ //але ж перший індекс може приймати значення до n?
Подякували: leofun011