Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Как переделать код под задачу? cb 
:(
    Опции темы
username12
Дата 17.12.2015, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.11.2015

Репутация: нет
Всего: нет



В вещественном массиве отнармировать все числа по максимальному элементу.Как это реализовать? заранее спасибо 
Найти максимальный по модулю элемент, потом поделить все элементы массива на него

Код


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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include"logotip.c"
#include"time.h"
main(int argc,char* argv[])
{
logo();
puts("Краткое изложение задачи:");
puts("После каждых 3-хотрицательных чисел вставить их сумму с плюсом");
puts("Работу выполнил Маркин Кирилл Анатольевич,ИВТ-12");
puts("Благодарность обявляется Полухину Владу, ИВТ-12");
puts("Нажмите Enter");getchar();
char buffer[20];
int mass[100];srand(time(NULL));
int mas[100];srand(time(NULL));
srand(time(NULL));
int i,n,c,k,K,a,b,y;
int razmer=0;
if(argc<3)
{ printf("Программа создает одномерным массив,размер которого не должен превышать 100.\n",argv[0]);
printf("Вы можете вводить массив 2 способами,используйте:\n",argv[0]);
printf("%s Ручной <размер массива> или %s Рандом <размер массива>(Без <>)\n",argv[0],argv[0]);
printf("Нажмите Enter!");getchar();exit(0);}
razmer=atof(argv[2]);
if(razmer>100){printf("Слишком большой размер массива(не должен превышать 100)\n");exit(0);}
if(razmer<2){printf("Размер не может быть меньше 2)\n");exit(0);}
printf("Вы задали массив с размером = %d \n",razmer);
printf("\n");puts("Работу выполнил Маркин Кирилл Анатольевич,ИВТ-12");
if(strcmp(argv[1],"Ручной")==0)
{
for(i=0;i<razmer;i++)
{
printf("Введите значение mass[%d]\n",i);
fgets(buffer,20,stdin);
mass[i]=atoi(buffer);
}
}
if(strcmp(argv[1],"Рандом")==0)
{srand(time(NULL));
mass_rand(mass,razmer);
}
printf("\n");
printf("Обработанный массив \n");
printf("\n");
K=0; y=0;
for(i=0;i<razmer;i++)
{
mas[i+y]=mass[i];
printf("%4d", mas[i+y]);
if(mass[i]>=0 )
{
K=0;
a=0;
b=0;
c=0;
}
if(mass[i]<0)
{ K=K+1;}
if (K==1)
{a=mass[i];}
if (K==2)
{b=mass[i];}
if (K==3)
{
y++;
mas[i+y]=(a+b+mass[i])*(-1);
printf("%4d", mas[i+y]);
K=0;
}
}
printf("\n");
printf("\n");
printf("Массив \n");
printf("\n");
for(i=0;i<razmer;i++)
{
printf("%4d",mass[i]);
}
printf("\n");
printf("\n");
}

PM MAIL   Вверх
Alexeis
Дата 17.12.2015, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
rudolfninja
Дата 18.12.2015, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 341
Регистрация: 19.2.2013
Где: г. Минск

Репутация: 3
Всего: 6



Сам спросил:

Цитата(username12 @  17.12.2015,  19:37 Найти цитируемый пост)
Как это реализовать?


Сам ответил:

Цитата(username12 @  17.12.2015,  19:37 Найти цитируемый пост)
Найти максимальный по модулю элемент, потом поделить все элементы массива на него


Только непонятно почему надо найти максимальный по модулю, а не просто максимальный.
Вот пример решения вашей задачи для заранее заданного массива:

Код

int _tmain(int argc, _TCHAR* argv[])
{
    double arr[10] = { 15.1, 109.3, -0.43, 0.21341, 93.594, 594.93, 1.0, 9.23, -12.4, 54.3 };
    double max = arr[0];
    
    // ищем максимальный элемент
    for (int i = 1; i < 10; i++)
    if (arr[i] > max)
        max = arr[i];

    // делим все элементы массива на максимальный элемент
    for (int i = 0; i < 10; i++)
        arr[i] /= max;
    return 0;
}


Вывод массива на экран добавите сами
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0706 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.