Подпрограммы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти количество 0 в матрице. Вычитание из элементов нечетных столбцов значений элементов четных столбцов. Вывести получившуюся матрицу. Посмотрите код, что не так делаю?
 #include <math.h>
#include <stdio.h>
#include <locale.h>
#include <iostream>
using namespace std;
 
void vvod(int x[5][5])
{
    int i, j;
    for (i = 0; i <5; i++)
    {
        for (j= 0; j<5; j++)
        {
            x[i][j] = rand() % 100 - 50;
        }
 
    }
 
}
void vivod(int x[5][5])
{
    int i, j;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            cout << x[i][j] << " \t";
            cout << " \n";
        }
 
    }
}
int kolic_0(int z[5][5])
{
    int i, j,kol=0;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            if (z[i][j]==0)
            {
                kol = kol + 1;
            }
        }
 
    }
    return kol;
}
void chetn_minus_nechetn(int x[5][5])
{
    int i, j;
    for (int i = 0; i< 4; i++)
    { 
        for (int j = 0; j < 5; j++) 
        { 
            if (i % 2 == 0) 
            {
                x[j][i] = x[j][i] - x[j][i + 1];
            }
        }
    }
}
int main()
{
    setlocale(LC_ALL, "Rus");
    int
        z[5][5] = { {5,11,6,1,9},
                {14,5,95,0,8},
                {5,23,56,9,81},
                {4,8,9,0,7},
                {5,18,19,3,2} };
    int x[5][5];
 
    vivod(z);
    kolic_0(z);
    cout << "\n";
    cout << "Кол-во 0: " << kolic_0(z);
    cout << "\n";
    cout << "Случайная матрица: \n";
    vvod(x);
    vivod(x);
    cout << "\n";
    cout << "Получившаяся матрица: \n";
    chetn_minus_nechetn(x);
    system("pause");
    return 0;
}

Решение задачи: «Подпрограммы»

textual
Листинг программы
#include <math.h>
#include <stdio.h>
#include <locale.h>
#include <iostream>
using namespace std;
 
void vvod(int x[5][5])
{
    int i, j;
    for (i=0; i<5; i++)
    {
        for (j=0; j<5; j++)
        {
            x[i][j] = rand() % 100 - 50;
        }
 
    }
 
}
void vivod(int x[5][5])
{
    int i, j;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            cout << x[i][j] << " \t";
        }
        cout << " \n";
    }
}
int kolic_0(int z[5][5])
{
    int i, j,kol=0;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            if (z[i][j]==0)
            {
                kol = kol + 1;
            }
        }
 
    }
    return kol;
}
void chetn_minus_nechetn(int x[5][5])
{
    int i, j;
    for (i=0; i<4; i++)
    { 
        if (i % 2 == 0) 
        {
            for (j=0; j<5; j++) 
            { 
                x[j][i] = x[j][i] - x[j][i + 1];
            }
        }
    }
}
int main()
{
    setlocale(LC_ALL, "Rus");
    int
        z[5][5] = { {5,11,6,1,9},
                {14,5,95,0,8},
                {5,23,56,9,81},
                {4,8,9,0,7},
                {5,18,19,3,2} };
    int x[5][5];
 
    vivod(z);
    cout << "\n";
    cout << "Кол-во 0: " << kolic_0(z);
    cout << "\n";
    cout << "Случайная матрица: \n";
    vvod(x);
    vivod(x);
    cout << "\n";
    cout << "Получившаяся матрица: \n";
    chetn_minus_nechetn(x);
    vivod(x);
    system("pause");
    return 0;
}

Объяснение кода листинга программы

  1. В функции vvod() генерируются случайные значения для элементов матрицы x[][] в диапазоне от -50 до 50.
  2. В функции vivod() выводятся на экран значения элементов матрицы z[][].
  3. В функции kolic_0() подсчитывается количество нулевых элементов в матрице z[][].
  4. В функции chetn_minus_nechetn() выполняется операция вычитания элементов строк матрицы x[][] с чётными индексами из элементов строк с нечётными индексами.
  5. В функции main() создаётся матрица z[][], инициализированная значениями 5х5.
  6. Выводится на экран количество нулевых элементов в матрице z[][].
  7. Создаётся матрица x[][], инициализированная значениями 5х5.
  8. Выводится на экран случайная матрица x[][].
  9. Выводится на экран полученная матрица после операции вычитания в функции chetn_minus_nechetn().
  10. Программа ожидает нажатия любой клавиши, чтобы завершить работу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы