Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.01.2022
Сообщений: 36

все положительные элементы увеличить в 5 раз

01.02.2022, 22:53. Показов 993. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    
    const int m=3,n=3;
    int avg,i,j,a[n][m],s, k;
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    a[i][j]=rand()%20-2;
   for (i=0;i<n;i++){
   for (j=0;j<m;j++)
   cout<<a[i][j]<<"\t";
   cout<<"\n";
   }
    for(i=0;i<3;i++)
    for(j=0;j<3;++j)
    if (a[i][j]>0) k=a[i][j]*5;
    cout<<"k="<<k<<"\n";
return 0;
}
Просьба найти ошибку. Нужно что бы они все вывелись потом.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2022, 22:53
Ответы с готовыми решениями:

Положительные элементы вектора увеличить в 10 раз
Дан вещественный вектор. Все его элементы, больше 0 - умножить на 10, остальные оставить без изменения и упорядочить полученный вектор по...

В однородном массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1
помогите пожалуйста написать программу. В массиве все отрицательные элементы увеличить на 2, а все положительные заменить на 1

Все положительные элементы массива увеличить на 2, а все отрицательные - уменьшить на 2
Составить программы для решении задач, используя среду программирования Visio studio. Дан массив А . Составить программу, которая в...

1
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
01.02.2022, 23:20
Лучший ответ Сообщение было отмечено Sers как решение

Решение

Цитата Сообщение от Sers Посмотреть сообщение
Просьба найти ошибку
Ошибку по клинкоду вам дам - даже отступов нет человеческих, с первого раза не прочитать совершенно

Добавлено через 2 минуты
Цитата Сообщение от Laborant666 Посмотреть сообщение
даже отступов нет человеческих
Хотя возможно скопировали так

Добавлено через 46 секунд
Цитата Сообщение от Sers Посмотреть сообщение
int avg,i,j,a[n][m],s, k;
Две неиспользуемые переменные, avg и s. Копипастили?

Добавлено через 14 минут
Мой код и ваш код. В вашем коде:
- Неиспользуемые переменные avg и s
- Переменные для циклов создаются внутри цикла, их не требуется создавать отдельно, создание отдельно используется очень редко и чаще в таких переменных случаются ошибки, где-то не обнулили или обнулили когда не нужно
- Соблюдайте стиль - в одном месте у вас циклы без фигурных скобок - в другом с фигурными
- Давайте переменным имена по их смыслу (lines в массиве понятно за что отвечает). Единственное исключение в циклах - принято начинать с i и далее по алфавиту во всех вложенным циклах
- Ваш код заполнял массив верно, выводил так же, умножение на 5 положительного элемента в строке 18 тоже сделано верно, но не было записи этого результат обратно в массив (если я правильно понял)
-- Тут сразу добавлю - лучше всего делать копию массива и с ним работать, оставляя исходным массив нетронутым ( что бы не переписать всю базу данных на чепуху, например


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
#include <iostream>
using namespace std;
int main()
{
 
    const int lines = 3, columns = 3; // имена переменных по смыслу
    int data[lines][columns]; //Сменил имя по смыслу, но доработать бы. Данные чего??
 
    for (int i = 0; i < lines; i++)  // инициализация счетчика в цикле, заранее не стоит
    {
        for (int j = 0; j < columns; j++)  // заполнение ваше - верно
        {
            data[i][j] = rand() % 20 - 2;
        }
    }
 
    for (int i = 0; i < lines; i++) 
    {
        for (int j = 0; j < columns; j++)  // вывод верен
        {
            cout << data[i][j] << "\t";
        }
        cout << "\n";
    }
 
    for (int i = 0; i < lines; i++)
    {
        for (int j = 0; j < columns; ++j) // вот тут была ошибка
        {
            if (data[i][j] > 0)
            {
                data[i][j] *= 5;
            }
        }
    }
    
    for (int i = 0; i < lines; i++)
    {
        for (int j = 0; j < columns; j++)
        {
            cout << data[i][j] << "\t";
        }
        cout << "\n";
    }
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    
    const int m=3,n=3;
    int avg,i,j,a[n][m],s, k;
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    a[i][j]=rand()%20-2;
   for (i=0;i<n;i++){
   for (j=0;j<m;j++)
   cout<<a[i][j]<<"\t";
   cout<<"\n";
   }
    for(i=0;i<3;i++)
    for(j=0;j<3;++j)
    if (a[i][j]>0) k=a[i][j]*5;
    cout<<"k="<<k<<"\n";
return 0;
}
Добавлено через 7 минут
Цитата Сообщение от Laborant666 Посмотреть сообщение
if (a[i][j]>0) k=a[i][j]*5;
    cout<<"k="<<k<<"\n";
Если что здесь можно было обойтись правильным расположением фигурных скобок

Это выведет значение 1 раз
C++
1
2
if (a[i][j]>0) k=a[i][j]*5;
    cout<<"k="<<k<<"\n";
Потому что это равно
C++
1
2
3
4
5
if (a[i][j]>0) 
{
   k=a[i][j]*5;
}
cout<<"k="<<k<<"\n";
А это на каждой итерации, и будет вам верный вывод, аналогичный моему, в моём варианте сам массив редактируется, что исходя из задания (увеличить положительные элементы в 5 раз) и требуется
C++
1
2
3
4
5
if (a[i][j]>0)
{ 
   k=a[i][j]*5;
   cout<<"k="<<k<<"\n";
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2022, 23:20
Помогаю со студенческими работами здесь

Увеличить все элементы массива в n раз
увеличить все элементы массива в n раз

Увеличить все положительные элементы массива в 2 раза при наличии двух нулей в начеле
Задан одномерный массив А(10) . Если перед максимальным элементом расположено два нуля, то увеличить все положительные элементы в 2 раза.

Все положительные элементы массива, расположенные правее первого нулевого элемента, увеличить в два раза
Все положительные элементы массива а1, а2 , ..., а20, расположенные правее первого нулевого элемента, увеличить в два раза

Необходимо, пройдя по массиву один раз, все его положительные элементы поставить в начало а отрицательные в конец
Помогите решить такую задачу пжл: дан одномерный массив &quot;а&quot; (состоящий из вещественных чисел). Необходимо пройдя по массиву один раз все...

Увеличить все четные элементы матрицы на 16, а нечетные элементы увеличить втрое
Данная матрица целых чисел размером 4x4. Увеличить все четные элементы на 16, а нечетные элементы увеличить втрое. Вывести на экран...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru