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

Зачем здесь "y"? - C++

Восстановить пароль Регистрация
 
Istorm4
 Аватар для Istorm4
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 7
18.11.2013, 15:48     Зачем здесь "y"? #1
Разбираю код, решения задач, учусь... Но тут не могу понять. В общем суть задачи:
Даны натуральное число m, целые числа а1, ...,аm и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченной, если аі>0, и неотмеченной в противном случае.
Нужно все элементы , расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1. Положительные на 1, а нулевые оставить без изменений.
C++ (Qt)
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <iomanip> //Реализует инструменты для работы с форматированием вывода;
using namespace std;
int main()
{
    int n,i,j;
    int y=0; // ???
    cout<<"Vvedite kolichestvo strok i stolbzov=";
    cin>>n;
    int **a=new int *[n];
    for (i=0;i<n;i++)
    a[i]=new int [n];
    for (i=0;i<n;i++)
    {for(j=0;j<n;j++)
    {a[i][j]=rand ()%20;
 
    cout<<a[i][j]<<" ";
    }
    cout<<'\n';}
for (int i = 0; i<n ; i++)
        for (int j=0; j<n; j++){
            if (a[i][j] > 0)
                a[i][j] = 1;
            if (a[i][j] < 0){
                a[i][j] = -1;
                y = y+1;// Зачем y?
            }
        }
    for (int i = 0; i<n ; i++){
        for (int j=0; j<n; j++)
        cout<<setw(4)<<a[i][j]; 
        cout<<endl;
        }
    
    cout<<y<<endl; 
 
return 0;                                   
}
Какую функцию здесь выполняет у? Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
18.11.2013, 15:51     Зачем здесь "y"? #2
Цитата Сообщение от Istorm4 Посмотреть сообщение
y = y+1;// Зачем y?
чтоб вывести в конце его в консоль
Цитата Сообщение от Istorm4 Посмотреть сообщение
cout<<y<<endl;
rome098
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 46
18.11.2013, 15:54     Зачем здесь "y"? #3
если a[i][j] < 0, то к "y" прибавляет 1, а в конце он просто это число выводит. Как я понял, что он важной роли не играет.
Yuri_935
5 / 5 / 1
Регистрация: 17.04.2013
Сообщений: 15
18.11.2013, 15:55     Зачем здесь "y"? #4
Istorm4, у служит счетчиком отрицательных элементов матрице.
В конце ты выводишь количество отрицательных элементов на экран.
C++
1
cout<<y<<endl;
Но в твоем коде рандом от 0 до 20.
C++
1
a[i][j]= rand ()%20:
Если сделать вот
C++
1
a[i][j]= rand ()%20 - rand ()%20:
, то будет рандом от -20 до 20.
Yandex
Объявления
18.11.2013, 15:55     Зачем здесь "y"?
Ответ Создать тему
Опции темы

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