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

Одномерные массивы - C++

Восстановить пароль Регистрация
 
furrio
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 24
17.06.2012, 19:49     Одномерные массивы #1
Задание во вложении, сделал как понял задание, но с ошибками, которые ни как не могу найти.
Даны 3 одномерных массива, в каждом посчитать сумму элементов, но в первом считать с 8-го символа, а в 2-ом и 3-ем с 1-ого символа.
Если не правильно понял задание, подскажите как нужно было его понимать и помогите поправить код.


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
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
int i,j,k,l;
int N;
int M;
int P;
class mas
{
float *A;
float *B;
float *C;
float SA,SB,SC;
public:
    mas(){}
    mas(float *A, float *B, float *C)
    {A[N];
    for (int i=0;i<N;i++);
    B[M];
    for (int j=0;j<M;j++);
    C[P];
    for(int k=0;k<P;k++);
    }
    void Enter()
    {
          printf("N = ");
  scanf("%d", &N);// вводим к-во элементов массива А
  A = new float[N]; // 
    for (int i=0;i<N;i++);
        {
        printf("enter element N");
        scanf("%f",A+i);
        }
      printf("M = ");
  scanf("%d", &M);// вводим к-во элементов массива B
  B = new float[M]; //
    for (int j=0;j<M;j++);
        {
        printf("enter element M");
        scanf("%f",B+j);
        }
 
      printf("P = ");
  scanf("%d", &P);// вводим к-во элементов массива C
  C = new float[P]; //
    for(int k=0;k<P;k++);
 
        {
        printf("enter element P");
        scanf("%f",C+k);
        }
    }
 
    float Sum(float *X, float F) //заголовок функции Sum
{
 float s;
 int k;
 s =0;
  for (l =0; l <=F; l++);
  s += X[l];
  return s;
} // конец тела функции Sum
 
 
    float SumMas()
    {
 
      SA = Sum (A, N);
 for(i=8;i<N;i++);
      {
  printf("SA= %7.2f\n",SA);
      } 
 
      SB = Sum (B, M);
 for(j=1;j<N;j++);
      {
  printf("SB= %7.2f\n",SB);
   
      }
 
  SC = Sum (C, P);
 for(k=1;k<N;k++);
  {
  printf("SC= %7.2f\n",SC);
  }
    return SumMas();
    }
 
};
 
int main()
{
    char delay;
    mas a;
    mas b;
    mas c;
          a.Enter();
          b.Enter();
          c.Enter();
                a.SumMas();
                b.SumMas();
                c.SumMas();
printf("",delay);
getch();
}
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 19:49     Одномерные массивы
Посмотрите здесь:

Одномерные массивы. C++
C++ Одномерные массивы
C++ Одномерные массивы.
C++. Одномерные массивы. C++
Одномерные массивы C++
Одномерные массивы C++
C++ одномерные массивы
C++ Одномерные массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
18.06.2012, 00:51     Одномерные массивы #2
1.имена переменных начинаются с маленькой буквы(не обязательно, но так принято)
2.в 61 строке, что за <= ? - риск выйти за размер массива
3. нумерация массивов с 0,а не с 1, поэтому обратить внимание на строки :
71 i=7, а не 8(сейчас получается сложение с 9-го элемента,а не с 8-го)
77 j=0 , аналогично
84 k=0 , аналогично
по всем вышеописанным пунктам, эти все замечания -условно, в отладчике не смотрел
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
18.06.2012, 01:04     Одномерные массивы #3
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
41
42
43
44
45
46
47
#include <iostream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
void Input(int* mas,int n)
{
    for(int i=0;i<n;i++)
        mas[i]=rand()%10;
}
void Output(int* mas,int n)
{
    for(int i=0;i<n;i++)
        cout<<mas[i]<<" ";
    cout<<endl;
}
int Sum(int* mas,int n,int k)
{
    int sum=0;
    for(int i=k;i<n;i++)
        sum+=mas[i];
    return sum;
}
int main()
{
    setlocale(0,"Rus");
    int n1,n2,n3;
    cout<<"Введите размер 1,2,3 массивов: ";cin>>n1>>n2>>n3;
    int* X=new int[n1];
    int* Y=new int[n2];
    int* Z=new int[n3];
    Input(X,n1);
    Input(Y,n2);
    Input(Z,n3);
    Output(X,n1);
    Output(Y,n2);
    Output(Z,n3);
    cout<<"Сумма первого: "<<Sum(X,n1,7)<<endl;
    cout<<"Сумма второго: "<<Sum(Y,n2,0)<<endl;
    cout<<"Сумма третьего: "<<Sum(Z,n3,0)<<endl;
    delete[] X;
    delete[] Y;
    delete[] Z;
    getch();
    return 0;
}
Имена массивов измени, а то картинки не видел :0
Yandex
Объявления
18.06.2012, 01:04     Одномерные массивы
Ответ Создать тему
Опции темы

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