Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2019, 19:40   #1
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию Действие с матрицой в С++

Добрый вечер, помогите доделать задачку, она вроде-бы легкая, но чего-то не доходит до меня((
Предоставленная матрица размером m*n. Для каждой строки все элементы увеличить в два раза, если количество отрицательных элементов в строке более трех.
Благодарю заранее
Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
int main()
 
{
    setlocale (LC_ALL, "rus");
    srand ((unsigned)time(NULL));
    int n,m,i,j;
    cout <<: "Ввод кол-во элементов в столбце: \n";
    cin >> n;
    cout <<"Ввод кол-во элементов в строке: \n";
    cin >> m;
    int a[n][m];
    for(i=0; i<n; i++)
    for(j=0; j<m; j++)
    {
        if (i%2==0)
        a[i][j] =(rand ()%100);
        }
        cout << a[i][j] << " ";
      {
    a[i][j] =((rand ()%200)-100);
    }
    cout << a[i][j] <<" ";
cout<<"\n";
return 0;
}
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 19:56   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Поздравляю вы скопипастили заготовку из методички - почти... Исправляйте пока никто не видел и делайте следущий шаг: заводите счетчик и считайте кол-во отрицательных элементов.
p51x вне форума Ответить с цитированием
Старый 20.03.2019, 19:59   #3
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Спасибо, можно пример?
Цитата:
Сообщение от p51x Посмотреть сообщение
Поздравляю вы скопипастили заготовку из методички.
А ну и я это сам написал. и он не выводит всю матрицу целиком.
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 20:00   #4
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

У меня то и методички нету)
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 20:11   #5
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Так, правильно?
Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
int main()
 
{
    setlocale (LC_ALL, "rus");
    srand ((unsigned)time(NULL));
    int n,m,i,j,k=0;
    cout << "Ввод кол-во элементов в столбце: \n";
    cin >> n;
    cout <<"Ввод кол-во элементов в строке: \n";
    cin >> m;
    int a[n][m];
    for(i=0; i<n; i++)
    for(j=0; j<m; j++)
    {
        if (i%2==0)
        a[i][j] =(rand ()%100);
        }
        cin >> a[i][j];
		if (a[i][j]<0)
			k++;
			cout << "Отрицателые числа: " << k; 
        cout << a[i][j] << " ";
      {
    a[i][j] =((rand ()%200)-100);
    }
    cout << a[i][j] <<" ";
cout<<"\n";
return 0;
}
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 20:17   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Естественно, нет. Вы копипасту не исправили.

Уберите i,j из сверху и объявите их в форе:
Код:
    for(int i=0; i<n; i++)
    for(int j=0; j<m; j++)
p51x вне форума Ответить с цитированием
Старый 20.03.2019, 20:26   #7
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Если так, то получаются ошибки "i and j was not declared in the scope"
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 20:44   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Вот... об этом я и говорю. У вас i,j теперь видны только в циклах и все действия с a[i][j] должны быть в циклах. И если возникают ошибки, то:
Цитата:
Сообщение от p51x Посмотреть сообщение
почти... Исправляйте пока никто не видел
p51x вне форума Ответить с цитированием
Старый 20.03.2019, 20:46   #9
Cyber321
Новичок
Джуниор
 
Регистрация: 17.09.2018
Сообщений: 49
По умолчанию

Как их исправлять об этом в интернете ничего толком нет, даже намека?(
Я все перелопатил ни черта нету

Последний раз редактировалось Cyber321; 20.03.2019 в 20:50.
Cyber321 вне форума Ответить с цитированием
Старый 20.03.2019, 20:56   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Плохо лопатили, это основы языка.
Какие операторы в цикле, а какие нет в следущих примерах:
Код:
for()
  a = 1;
Код:
for()
  a = 1;
b = 2;
Код:
for()
{
  a = 1;
  c = 1;
}
Код:
for()
{
  a = 1;
}
b = 1;
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с матрицОй ) Ponch_Begginer Помощь студентам 8 08.11.2015 16:42
Работа с матрицой vampir3001 Помощь студентам 1 19.12.2011 20:01
Работа с матрицой (Си) Roll1n Общие вопросы C/C++ 1 20.04.2010 21:28
Задача с матрицой maziLa Помощь студентам 1 09.02.2009 01:54