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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2024, 12:53   #1
Karnedj
Новичок
Джуниор
 
Регистрация: 09.02.2024
Сообщений: 1
По умолчанию Не могу найти ошибку С++

Здравствуйте, имеется вот такое задание. Диапазон: [0; 100]. Ввести вещественное число k. Создать массив А из 20 вещественных чисел с помощью генератора псевдослучайных чисел.Реализовать функцию, заменяющую элементы массива, меньшие k, на 0. Написал код, но где-то в циклах ошибка, заменяет на 0 только одно число, остальные просто выводит в начальном виде
Вот мой код. C++

#include <iostream>

void double_massiv()
{
double k, b[20];
int i;

setlocale(LC_ALL, "Russian");
std::cout«"Введите вещественное число: ";
std::cin»k;

srand(time(0));

for (i = 0; i < 20; i++)
b[i] = 1.0 + 99.0 * rand() / (float)RAND_MAX;
for (i = 0; i < 20; i++)
std::cout«b[i]«" ";
std::cout « std::endl;
for(i=0; i < 20; i++)
{
if (b[i]<k)
{
b[i]=0;
for (i = 0; i < 20; i++)
std::cout«b[i]«" ";
}
}
}

int main()
{


double_massiv();

std::cin.get();
}
Karnedj вне форума Ответить с цитированием
Старый 09.02.2024, 12:59   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

0. Если используете одинаковые названия для индексов вложенных циклов, то объявляйте их в заголовке цикла.
1. Вывод массива результата
Код:
for (i = 0; i < 20; i++)
std::cout«b[i]«" ";
вынесете из цикла
p51x вне форума Ответить с цитированием
Старый 06.03.2024, 14:41   #3
максхи
Пользователь
 
Регистрация: 20.12.2021
Сообщений: 59
По умолчанию

Ну или просто убрать строку с for перед выводом результата.
максхи вне форума Ответить с цитированием
Старый 06.03.2024, 20:37   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

максхи, тогда нужно еще вынести печать из if, иначе только нули и напечатает.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти у себя ошибку в коде. Буду благодарен, если вы сможете её найти Agent00x Windows Forms 4 25.11.2018 01:17
Не могу найти ошибку zhenka619 Помощь студентам 2 06.01.2012 15:32
Не могу найти ошибку T-dayne Помощь студентам 4 11.10.2010 11:51
Не могу найти ошибку IgorGO Microsoft Office Excel 11 17.09.2010 16:28