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

Вычислить максимальное по модулю число из последовательности действительных чисел, без использования массива

12.10.2011, 17:05. Показов 4133. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны натуральные n, действительные числа a1..an. Получить max(|a1|,..,|an|)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2011, 17:05
Ответы с готовыми решениями:

В последовательности случайных чисел найти минимальное и максимальное число в каждой последовательности(без массивов)
Очень нужна помощь! В последовательности случайных чисел найти минимальное и максимальное число в каждой последовательности(без...

Вычислить количество нечетных чисел и максимальное отрицательное число в последовательности чисел
Дана последовательность чисел, заканчивающаяся нулем. Вычислить количество нечетных чисел и максимальное отрицательное число.

Найти количество разных чисел во введенной последовательности (без использования массива)
Пользователь вводит произвольное количество чисел на клавиатуре (они не убывают),найти количество разных чисел. Массивом пользоваться...

14
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
12.10.2011, 17:07
Grif1992,
границы отрезка n в студию
0
0 / 0 / 1
Регистрация: 06.10.2011
Сообщений: 50
12.10.2011, 17:11  [ТС]
Просто сказано что любые натуральные n, ну т.е число элементов..
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
12.10.2011, 17:20
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int max_min(int min, int max){
    return (min < max) ? max : min;
}
 
int main(){
    int n = 100, x, max = 0;
    srand(time(0));
 
    while (n--)
    {
        x = rand() % 1000 + 1;
        printf("%d ", x);
        max = max_min(max, x);
    }
    printf("\nмаксимальное число: %d\n", max);
    return 0;
}
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.10.2011, 17:24
alkagolik, а если массив будет содержать отрицательные элементы, не смутило это
Цитата Сообщение от alkagolik Посмотреть сообщение
max = 0;
???
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
12.10.2011, 17:27
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
а если массив будет содержать отрицательные элементы, не смутило это
не будет
C
1
x = rand() % 1000 + 1;
Добавлено через 1 минуту
кстати я не учел это
действительные числа a1..an.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.10.2011, 17:31
alkagolik, да я не говорю о rand() % 1000, ввод может быть и с клавиатуры, и тогда алгоритм даст неверный результат если элементы будут отрицательными...
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.10.2011, 17:36
Как вариант при n>0:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
    double x, max;
    scanf("%lf", &x);
    max = fabs(x);
    while (scanf("%lf", &x) == 1)
       if (fabs(x) > max)
          max = fabs(x);
    printf("%f\n", max);
    getch();
    return 0;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.10.2011, 17:37
Grif1992, вам полуфабрикат предложили. Ниже код хоть и не очень элегантный зато отрабатывать будет для любых значений!
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int max_min(int min, int max){
    return (min < max) ? max : min;
}
 
int main(){
    printf("enter num elements : ");
    int i = 1, n;scanf("%d",&n);
    int x, max;
    printf("Enter %d element : ",i);
    scanf("%d",&x);
    max = x;//ТАК ПРАВЕЛЬНО БУДЕТ!
    
 
    while ((i++) < n)
    {
        printf("Enter %d element : ",i);
        scanf("%d",&x);
        max = max_min(max, x);
    }
    printf("max num: %d\n", max);
    return 0;
}
Как видите разница была всего в одну строку
max = x;//ТАК ПРАВЕЛЬНО БУДЕТ!
НО ЭТО ОЧЕНЬ СУЩЕСТВЕННО!
Миниатюры
Вычислить максимальное по модулю число из последовательности действительных чисел, без использования массива  
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
12.10.2011, 17:37
я не давал ТС решения задачи. я показал принцип ее решения. пляшем из того что числа float, это уже совсем иная картина
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
12.10.2011, 17:38
Thinker, только там сравниваются абсолютные значения
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.10.2011, 17:39
Цитата Сообщение от Nameless One Посмотреть сообщение
Thinker, только там сравниваются абсолютные значения

Не по теме:

Да, я сразу же исправил:)

0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
12.10.2011, 17:41
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
вам полуфабрикат предложили
у тебя тоже не готовый продукт:
Цитата Сообщение от Grif1992 Посмотреть сообщение
действительные числа a1..an. Получить max(|a1|,..,|an|)
действительные числа, а не целые. Сравниваются модули чисел, а не сами числа
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.10.2011, 17:44
Цитата Сообщение от Nameless One Посмотреть сообщение
действительные числа, а не целые. Сравниваются модули чисел, а не сами числа
с учётом этого
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <math.h>
 
int main(){
    printf("enter num elements : ");
    int i = 1, n;scanf("%d",&n);
    float x, max;
    printf("Enter %d element : ",i);
    scanf("%f",&x);
    max = fabs(x);
    
 
    while ((i++) < n)
    {
        printf("Enter %d element : ",i);
        scanf("%f",&x);
        if(max <  fabs(x))
            max = fabs(x);
    }
    printf("max absolute val : %f\n", max);
    return 0;
}
1
0 / 0 / 1
Регистрация: 06.10.2011
Сообщений: 50
12.10.2011, 17:47  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2011, 17:47
Помогаю со студенческими работами здесь

Найти максимальный по модулю член последовательности без использования массивов
Дано натуральное число n, действительные числа a1, ..., an. Определить максимальный по модулю член последовательности. Составить...

Вычислить минимальное и максимальное число в последовательности целых чисел, вводимых с клавиатуры
Написать программу, которая вычисляет минимальное и максимальное число последовательности целых чисел вводимых с клавиатуры.

Вычислить сумму и произведение положительных чисел (без использования массива)
Ввести h значений в переменную t. Вычислить их сумму и произведение положительных чисел. Вывести результат на печать.

Поиска среди элементов последовательности трех таких чисел, произведение которых максимально (без использования массива)
Дана последовательность из N натуральных чисел, оканчивающаяся 0. Составить программу поиска среди них трех таких чисел, произведение...

Найти максимальное число по модулю. Сравнить производительность без потоков, с потоками, и задачей
Собственно говоря дали задание написать тремя способами поиск максимального числа. А именно без использования потоков, с использованием...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
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
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru