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

Все отрицательные члены массива заменить их квадратами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
nell0real
0 / 0 / 0
Регистрация: 31.10.2011
Сообщений: 17
31.10.2011, 13:56     Все отрицательные члены массива заменить их квадратами #1
В массивах не силен, поэтому обращаюсь к знающим людям, форумные троли лесом.

1.Если в данном массиве целых чисел а1...аn, есть хотя бы один член, меньший чем -2, то все отрицательные члены заменить их квадратами.
2.Дан массив N целых чисел (1<N<=55). Определить количество и адреса элементов массива, значения которых не превышают заданного значения Х.
3.Дан массив из N вещественных чисел. Получить количество отрицательных членов массива и произведение элементов, принадлежащих отрезку [B,C]
4.Составить программу определения суммы и количества положительных элементов массива вещественных чисел размерностью N (1<N<=50)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 13:56     Все отрицательные члены массива заменить их квадратами
Посмотрите здесь:

В последовательности заменить все отрицательные члены на -1, положительные на 1, а нулевые оставить без изменений C++
C++ За один просмотр одномерного массива заменить все его элементы с нечетными номерами их квадратами
C++ Сортировка (все отрицательные компоненты заменить их квадратами, оставив другие без изменения...)
C++ Даны действительные числа. Заменить все отрицательные элементы их квадратами
все отрицательные элементы заменить их квадратами и сортировать по убиванию сделать как функция C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lorienara
2 / 2 / 1
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 14:17     Все отрицательные члены массива заменить их квадратами #2
Ну что Вам уже помогли? Если нет то я Вам решу эти несложные примерчики.
nell0real
0 / 0 / 0
Регистрация: 31.10.2011
Сообщений: 17
31.10.2011, 14:20  [ТС]     Все отрицательные члены массива заменить их квадратами #3
Lorienara, нет не помогли. Буду премного благодарен за помощь.
Lorienara
2 / 2 / 1
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 14:50     Все отрицательные члены массива заменить их квадратами #4
Скиньте свой е-mail пожалуйста - я вам по мере решения смогу скидывать задачи...не уверен что могу выносить на суд профи свои решения.
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 14:50     Все отрицательные члены массива заменить их квадратами #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от nell0real Посмотреть сообщение
1.Если в данном массиве целых чисел а1...аn, есть хотя бы один член, меньший чем -2, то все отрицательные члены заменить их квадратами.
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
#include <stdio.h> //printf scanf
#include <stdlib.h>//malloc realloc
 
int main()
{   
    
    printf("Enter n : ");int n;scanf("%d",&n);
    int i, flag = 0, * arr = (int *)malloc(n*sizeof(int));
    //Ââîäèì ïîñëåäîâГ*òåëüГ*îñòü
    for(i = 0; i < n; i++)
    {
        printf("arr[%d] = ",i + 1);
        scanf("%d",&arr[i]);
        //ГЏГ*Г°Г*ëëåëüГ*Г® Г± ââîäîì ñìîòðèì
        //ГҐГ±ГІГј ëè ýëåìåГ*ГІГ» < -2
        if(arr[i] < -2)
            flag = 1;
    }
    if(flag == 0)
        printf("Array not contain numbers less than - 2\n");
    else
    {
        printf("\tSquare negative values\n");
        for(i = 0; i < n; i++)
        {
            if(arr[i] < 0)
                arr[i] *= arr[i];
            printf("arr[%d] = %d\n",i + 1,arr[i]);
        }
    }
    system("pause");
    return 0;
}
Миниатюры
Все отрицательные члены массива заменить их квадратами  
Lorienara
2 / 2 / 1
Регистрация: 07.10.2011
Сообщений: 87
31.10.2011, 14:58     Все отрицательные члены массива заменить их квадратами #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include "stdio.h"
#include "time.h"
void kvadrat(int mass[],int n);
 
int main()
{   int n=10;
    int min =0;
    int a[10] = {1,2,-1,-1,14,24,45,9,16,23};
    int i=0;
 
    while (i!=9) // проверка на -2; 
    {   
        if (a[i]<-2)
        {min = a[i];
        }
        printf("%3d",a[i]);
        i++;
    }
    if (min != 0) // если  значения меньшие -2 есть запускаем функцию квадрат
    {
        printf("\n");
        kvadrat(a,n);
    }
    scanf("%d",&n);
    return 0;
}
 
void kvadrat(int mass[],int n) // преобразует элементы <0 в их квадраты
{
    int  i=0;
    for (i;i<10;i++)
    {
        if (mass[i]<0)
        {
            mass[i]=(mass[i]*mass[i]);
        }
        printf("%4d",mass[i]);
    }
 
}
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 15:00     Все отрицательные члены массива заменить их квадратами #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от nell0real Посмотреть сообщение
2.Дан массив N целых чисел (1<N<=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
27
28
#include <stdio.h> //printf scanf
#include <conio.h> //getch
 
int main()
{   
    int i, x, n, arr[55], nCount = 0;
    printf("Enter n (1 < N < 55) : ");scanf("%d",&n);
    printf("Enter x : ");scanf("%d",&x);
    //Вводим последовательность
    for(i = 0; i < n; i++)
    {
        printf("arr[%d] = ",i + 1);
        scanf("%d",&arr[i]);
    }
    for(i = 0; i < n; i++)
    {
        if(arr[i] < x)
        {
            nCount++;//Считаем кол-во чисел < x
            //Печатаем эти числа и их адреса
            printf("%d ADR : 0x%p\n",arr[i], &arr[i]);
        }
    }
    printf("Array contain %d elements less than x\n",nCount);
    printf("Press any key to continue\n");
    getch();
    return 0;
}
Миниатюры
Все отрицательные члены массива заменить их квадратами  
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 15:33     Все отрицательные члены массива заменить их квадратами #8

Не по теме:

nell0real, остальные задания доделаю как увижу что Вы посмотрели этот топик, если нужно будет перебить на С++ для меня это проблем не составит...



Добавлено через 31 минуту

Не по теме:

Lorienara, чуточку обращу ваше внимание

Цитата Сообщение от Lorienara Посмотреть сообщение
int a[10] = {1,2,-1,-1,14,24,45,9,16,23};
- если вбиваете одномерный статический массив, то не обязательно писать его размерность, компилятор и сам может это за Вас сделатьint a[] = {1,2,-1,-1,14,24,45,9,16,23};

Цитата Сообщение от nell0real Посмотреть сообщение
есть хотя бы один член, меньший чем -2, то все отрицательные члены заменить их квадратами.
А у вас
Цитата Сообщение от Lorienara Посмотреть сообщение
// есть хотя бы один член,если *значения меньшие -2 есть запускаем функцию ква
- вы немного не вчитались в задание, нужно было все отрицательные в квадрат возвести если есть хотябы одно число меньшее -2

Цитата Сообщение от Lorienara Посмотреть сообщение
mass[i]=(mass[i]*mass[i]);
- это можно так записать mass[i] *= mass[i];
PS:Разобрал т.к. Вы сами попросили, обижать ни в коем случае цели не ставил!

nell0real
0 / 0 / 0
Регистрация: 31.10.2011
Сообщений: 17
31.10.2011, 18:25  [ТС]     Все отрицательные члены массива заменить их квадратами #9
-=ЮрА=-,
Lorienara,
огромное спасибо! если не трудно напишите 3 и 4 задания
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 18:47     Все отрицательные члены массива заменить их квадратами #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от nell0real Посмотреть сообщение
3.Дан массив из N вещественных чисел. Получить количество отрицательных членов массива и произведение элементов, принадлежащих отрезку [B,C]
- мало времени, поэтому скомпилировал, но не тестировал(всё же думаю что норм всё будет)
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
#include <stdio.h> //printf scanf
#include <stdlib.h>//malloc system
 
int main()
{   
    
    printf("Enter n : ");int n;scanf("%d",&n);
    int i, m = 0, * arr = (int *)malloc(n*sizeof(int));
    printf("Enter B :");int b;scanf("%d",&b);
    printf("Enter C :");int c;scanf("%d",&c);
    long mult = 1;//ГЌГ*Г·Г*ëüГ*îå ïðîèçâåäåГ*ГЁГҐ
    int nCount = 0;//×èñëî Г·ГЁГ±ГҐГ« Гў ГЁГ*òåðâГ*ëå [Г‚;Г‘]
    //Ââîäèì ïîñëåäîâГ*òåëüГ*îñòü
    for(i = 0; i < n; i++)
    {
        printf("arr[%d] = ",i + 1);
        scanf("%d",&arr[i]);
        //ГЏГ*Г°Г*ëëåëüГ*Г® Г± ââîäîì 
        //Г±Г·ГЁГІГ*ГҐГ¬ îòðèöГ*òåëüГ*ûå
        if(arr[i] < 0)
            m++;
        if(b <= arr[i] && arr[i] <= c)
        {
            nCount++;
            mult *= arr[i];
        }
    }
    if(m == 0)
        printf("Array not contain negative elements\n");
    else
        printf("Array contain %d negative elements\n",m);
    if(nCount == 0)
        printf("Array not contain number in interval[B;C]\n");
    else
        printf("Mult elements in interval [B;C] is : %u\n",mult);
    system("pause");
    return 0;
}
Добавлено через 1 минуту

Не по теме:

nell0real, 4-е если до завтра никто не сделает выложу сюда, сейчас просто времени уже нет делать

nell0real
0 / 0 / 0
Регистрация: 31.10.2011
Сообщений: 17
31.10.2011, 18:49  [ТС]     Все отрицательные члены массива заменить их квадратами #11
Добавлено через 1 минуту


все равно спасибо! что бы я без вас делал ребят
-=ЮрА=-
Заблокирован
Автор FAQ
01.11.2011, 10:30     Все отрицательные члены массива заменить их квадратами #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от nell0real Посмотреть сообщение
4.Составить программу определения суммы и количества положительных элементов массива вещественных чисел размерностью N (1<N<=50)
- как и обещал
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
#include <stdio.h> //printf scanf
#include <stdlib.h>//system
 
int main()
{   
    
    printf("Enter n (1 < N < 50): ");
    int n;scanf("%d",&n);
    int i, arr[50];
    long sum = 1;//ГЌГ*Г·Г*ëüГ*Г*Гї ñóììГ*
    int  m   = 0;//×èñëî ïîëîæèòåëüГ*ûõ Г·ГЁГ±ГҐГ«
    //Ââîäèì ïîñëåäîâГ*òåëüГ*îñòü
    for(i = 0; i < n; i++)
    {
        printf("arr[%d] = ",i + 1);
        scanf("%d",&arr[i]);
        //ГЏГ*Г°Г*ëëåëüГ*Г® Г± ââîäîì 
        //Г±Г·ГЁГІГ*ГҐГ¬ ïîëîæèòåëüГ*ûå
        if(0 < arr[i])
        {
            sum += arr[i];
            m++;
        }
    }
    if(m == 0)
        printf("Array not contain positive elements\n");
    else
    {
        printf("Array contain %d positive elements\n",m);
        printf("Sum of positive elements is : %d\n",sum);
    }
    system("pause");
    return 0;
}
Миниатюры
Все отрицательные члены массива заменить их квадратами  
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
01.11.2011, 10:35     Все отрицательные члены массива заменить их квадратами #13
Цитата Сообщение от Lorienara Посмотреть сообщение
не уверен что могу выносить на суд профи свои решения.

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2011, 10:47     Все отрицательные члены массива заменить их квадратами
Еще ссылки по теме:

C++ Заменить все элементы массива квадратами этих элементов
Заменить все чётные члены одномерного массива заданным числом C++
C++ В массиве все отрицательные члены увеличить на 0,5, а все неотрицательные заменить на 0,1

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
01.11.2011, 10:47     Все отрицательные члены массива заменить их квадратами #14
nell0real, я переделывая код с 3-го топика забыл инит у суммы поменять
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
long sum = 1;//Начальная сумма
правильно long sum = 0;!!!!Простите за невнимательность
Yandex
Объявления
01.11.2011, 10:47     Все отрицательные члены массива заменить их квадратами
Ответ Создать тему
Опции темы

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