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

В однородном массиве вещественных чисел три наименьших элемента заменить нулями. - C++

Восстановить пароль Регистрация
 
Dispa
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 16
15.06.2011, 10:32     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #1
В однородном массиве вещественных чисел три наименьших элемента заменить нулями.
Использовать printf и scanf.
Понимаю, что программа легкая, но помогите, пожалуйста, голова вобще не варит(

Добавлено через 41 минуту
это срочно, помогитеее пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 10:32     В однородном массиве вещественных чисел три наименьших элемента заменить нулями.
Посмотрите здесь:

В однородном массиве из 15 целых чисел найти сумму четных элементов массива. C++
C++ В двухмерном массиве вещественных чисел заменить все элементы
C++ Массив: Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению.
C++ в двумерном числовом массиве * все отрицательное элементы заменить нулями
C++ Найти три наименьших элемента произвольного одномерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.06.2011, 10:38     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #2
Встречный вопрос: какие элементы считать наименьшими?

Добавлено через 1 минуту
Правильнее будет, меньше чего?
Dispa
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 16
15.06.2011, 10:41  [ТС]     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #3
A[N]={4, 8, 5, 13, 26,31, 18, 2, 66, 15, 44, 3, 34, 12, 14, 19, 1, 10, 55};
ну вот допустим задан массив, три наименьших из него. я сама зависла на этом вопросе.
я тут что-то написала (естественно не правильно) не работает
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
#include "stdafx.h"
#include "math.h" 
# define N 20 
int main () { 
 float  A[N]={4, 8, 5, 13, 26,31, 18, 2, 66, 15, 44, 3, 34, 12, 14, 19, 1, 10, 55}; 
 int i, j, min1, min2, min3; 
for (i=0; i<N; i++) 
 { 
  if ((A[i]>=a) && (A[i]<=b)) 
   A[i]=0; } 
 
 for (i=0; i<=N; i++) { 
      min=a[0]
 for (i=1; i<N; i++) 
      if(min>a[i]) { 
          min1=A[i]; 
          min2=A[i+1];
          min3=A[i+2] }
      A[i]==0;
      A[i+1]==0
      A[i+2]==0
 for (i=0; i<N; i++) 
 printf ("%5d", A[i] ); 
 return 0; 
 system("pause");
}
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:43     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #4
пройтись по массиву, заменить наименьший элемент(ы) нулём
пройтись по массиву, заменить наименьший элемент(ы) нулём
пройтись по массиву, заменить наименьший элемент(ы) нулём

всё, программа решена
Dispa
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 16
15.06.2011, 10:44  [ТС]     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #5
Цитата Сообщение от pito211 Посмотреть сообщение
пройтись по массиву, заменить наименьший элемент(ы) нулём
пройтись по массиву, заменить наименьший элемент(ы) нулём
пройтись по массиву, заменить наименьший элемент(ы) нулём

всё, программа решена
эээээ. ну вот совсем не легче)
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:46     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #6
Цитата Сообщение от Dispa Посмотреть сообщение
эээээ. ну вот совсем не легче)
ну а чьи это проблемы? алгоритм пустяковый, в чём проблема? не знаешь языка - это в другую ветку, во фриланс
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 10:58     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "stdio.h" 
# define N 20 
int main () 
{ 
    float  A[N]={4, 8, 5, 13, 26,31, 18, 2, 66, 15, 44, 3, 34, 12, 14, 19, 1, 10, 55,20}; 
    int min_index; 
    for (int i = 0; i < 3; ++i)
    { 
        min_index = 0;
        for(int j = 0; j < N; ++j)
        {
            if(A[j] < A[min_index] && A[j] != 0)
                min_index = j;
        }
        A[min_index] = 0;
    }
    for(int j = 0; j < N; ++j)
        printf("%f\n",A[j]);
    getchar();
    return 0;   
}
и учимся считать до 20.
Dispa
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 16
15.06.2011, 11:10  [ТС]     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #8
Aneron,
спасибо большое! а почему он все в столбик выводит?
if(A[j] < A[min_index] && A[j] != 0)
и что означает эта строчка?
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 11:14     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #9
Цитата Сообщение от Dispa Посмотреть сообщение
а почему он все в столбик выводит?
потому что так организован вывод.


Цитата Сообщение от Dispa Посмотреть сообщение
if(A[j] < A[min_index] && A[j] != 0)
и что означает эта строчка?
если элемент с индексом j меньше наименьшего элемента и если он не равен нулю
Dispa
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 16
15.06.2011, 11:19  [ТС]     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #10
for (int i = 0; i < 3; ++i)

а почему только до 3х?

Добавлено через 1 минуту
а поняла
Я-Лис
 Аватар для Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
15.06.2011, 11:50     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #11
Хмм, а если в исходном массиве сразу есть 0?
Если в начале считать его наименьшим,то один 0 будет лишним?
Т.е. например, дано: 4,5,6,0,3,2,1.
Если делать 3 цикла,то будет:
1) 4,5,6,0,2,3,0 //т.к. в начале мы считали 0 - наименьшим,
//а в условии if(A[j] < A[min_index] && A[j] != 0)
2) 4,5,6,0,0,3,0
3) 4,5,6,0,0,0,0 - в итоге
------
Так что, это надо бы учесть. Хотя это зависит от задания.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.06.2011, 11:53     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #12
Я-Лис, вы бы на код внимательно взглянули.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
15.06.2011, 11:53     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #13
надо при задании массива на экран выводить "НЕ ПЕЧАТАЙ НУЛИ !!! ИНАЧЕ ПРОГРАММА НЕ ЗАРАБОТАЕТ!!!".

а вобще хорошо подмечено, по поводу нулевых эл-ов


тут конечно частный случай и массив не изменяется, но сам факт
Я-Лис
 Аватар для Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
15.06.2011, 12:02     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #14
Nursik77, Вы конкретно о чем?
Я взглянул на код у Aneron, сам бы так сделал в начале.
Если вы о том, что дан массив без 0,то я это увидел.
Я же просто говорю, что надо бы учесть такой случай,
о котором я сказал, хотя это зависит от задания.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.06.2011, 12:11     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #15
Я-Лис, ну и что, что будет 4 нуля. Мы ведь его заранее задали. Так что енто не будет считаться ошибкой, да и в задании не сказано же что должно быть ровно 3 нуля.

Добавлено через 1 минуту
Извиняюсь, конечно же зависит от задания.
Я-Лис
 Аватар для Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
15.06.2011, 12:23     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #16
Nursik77, я понимаю что Вы имеете ввиду,претензий нет.
А представьте, что мы не сами задаем исходный массив,
а он формируется случайно,с помощью random например,
и в исходном массиве получится 0,который фактически считается наименьшим.
------
Опять повторюсь, зависит от специфики задания.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
15.06.2011, 12:23     В однородном массиве вещественных чисел три наименьших элемента заменить нулями. #17
но кто сказал, что введенный ноль не может быть минимальным элементом?
такими темпами можно тему развить просто до нереальных высот.
по факту - задача поставлена, задача сделана
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2011, 12:27     В однородном массиве вещественных чисел три наименьших элемента заменить нулями.
Еще ссылки по теме:

C++ Найти три наименьших элемента произвольного одномерного массива
Найти в двумерном массиве минимальные элементы и заменить их нулями C++
Найти в массиве простые числа и заменить нулями C++

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

Или воспользуйтесь поиском по форуму:
Nursik77
15.06.2011, 12:27     В однородном массиве вещественных чисел три наименьших элемента заменить нулями.
  #18

Не по теме:

Ну ладно не будем продолжать словопрения, как вы уже сказали, зависит от постановки задачи

Yandex
Объявления
15.06.2011, 12:27     В однородном массиве вещественных чисел три наименьших элемента заменить нулями.
Ответ Создать тему
Опции темы

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