Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите решить задачу или подтолкните в нужную сторону (МАССИВЫ) (http://forum.oszone.net/showthread.php?t=246955)

gramatchikof@vk 14-11-2012 19:55 2025676

Помогите решить задачу или подтолкните в нужную сторону (МАССИВЫ)
 
Задана последовательность значений элементов некоторого массива до и после преобразования по некоторому правилу. Определите алгоритм преобразования и напишите программу, которая:
1) формирует массив из заданного количества случайных целых чисел в заданном диапазоне и выводит элементы массива на экран;
2) по определенному вами алгоритму преобразовывает этот массив и выводит на экран элементы преобразованного массива.
3) производит заданные вычисления (рекомендуется оформить в виде отдельной функции) и выводит результат на экран.

Массив M = (5, –5, 9, –2, 14, –7, 0) преобразован к виду M = (5, 0, 9, 0, 14, 0, 0). Размер массива M - 22 элемента из диапазона [–47,47]. Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–16, 6].


Заранее благодарен!

lxa85 14-11-2012 20:59 2025692

  1. Посмотреть способы задания массивов в C++
  2. На основе поэлементного сравнения массивов сделать предположение о функции преобразования
  3. Рассмотреть способы вывода массива на экран
  4. Посмотреть способы передачи аргументов (массива) функции вывода массива на экран
  5. Найти понятие "переменная-аккумулятор".
  6. Написать условие суммирования для чисел в диапазоне [-16:6]. Заодно уточнить, чем [-16:6] отличается от (-16:6).
Даже не знаю, чем еще помочь.

gramatchikof@vk 21-11-2012 19:50 2029849

Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–16, 6]. остался вот этот момент

lxa85 21-11-2012 21:59 2029921

Цикл, счетный цикл, цикл с параметром, условиях выхода из цикла, цикл ДО, цикл ПОКА.
Логические операции И, ИЛИ, НЕ. Истинность, ложность выражения в операторе выбора.
Найти понятие "переменная-аккумулятор". Уточнить, чем [-16:6] отличается от (-16:6).

gramatchikof@vk 22-11-2012 18:22 2030554

не могу разобраться, уже все перепробовал

Код:

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <time.h>
const int N = 22;
int random (int N) { return rand()%N; }
main()
{ system("CLS");
  int i, A[N], a = -47, b = 47, sum;
  for ( i = 0; i < N; i ++ )
    A[i] = random(b-a+1) + a;
    printf("\nmassiv1\n");     
  for ( i = 0; i < N; i ++ )
    printf("%4d",A[i]);
  printf("\nmassiv2\n");
  for ( i = 0; i < N; i ++ )
    {
if ( A[i]<0) A[i]=0;
        }
    A[i] = random(b-a+1) + a;
      for ( i = 0; i < N; i ++ )
        printf("%4d",A[i]);
    printf("\nsum\n");
   
        printf("%4d",A[i]);
  for ( i = 0; i < N; i ++ )
  sum=0;
for(i=0;i<N;i++)
{
sum+=A[i];
}
printf("%4d",sum);
  system("PAUSE");
  return 0;
}

считает сумму всех элементов преобразованного массива, а как сделать чтобы из диапазона {-16,6}

ferget 23-11-2012 02:41 2030923

Код:

for(i=0;i<N;i++)
{
  if(A[i]>-16 && A[i]<6)
        sum+=A[i];
}


lxa85 23-11-2012 08:22 2030971

Чуть чуть поправлю ferget.
Код:

for(i=0;i<N;i++)
{
 if(A[i]=>-16 && A[i]=<6)
 sum+=A[i];
}



Время: 19:18.

Время: 19:18.
© OSzone.net 2001-