1 Востаннє редагувалося grynyuk1337 (28.05.2016 16:02:09)

Тема: Правильно чи ні ?

Дано одновимірний масив з 25 чисел. Знайти суму перших непарних 11 чисел
http://cpp.sh/9coq

#include <math.h>
#include <stdio.h>
main ()
{ float suma;
   int a[25],c[25],i,k;
 for(i=0;i<=24;i++)
 {printf("a[%i]=",i);
  scanf("%d",&a[i]);}
k=0;
     for(i=0;i<=24;i++)
      if(a[i]%2==0)
       {k=k+1;
        c[k]=a[i];}
        suma=0;
  for(i=0;i<=k;i++)
      if (k<=11)
        suma=suma+c[k];
    printf("suma=%9.6f",suma);
}
Друзі, дякую за допомогу :)

2

Re: Правильно чи ні ?

По-перше, використовуйте тег code. Я вам зробив, але це востаннє.
По-друге, вирівнюйте код, це читати - очі болять.
По-третє, якщо ви вважаєте, що код неправильно працює, то пояснюйте, чому ви так вважаєте. Не змушуйте людей робити ту роботу з виявлення помилки, яку ви вже зробили.
Ну а ви:
- неправильно нумеруєте елементи в другому циклі. c[k] почне заповнюватися з k==1 - треба збільшувати k після присвоєння чи навіть під час нього:

c[k++]=a[i];

- робите зайву роботу по перенесенню елементів в масив c, можна додавати одразу, масив c непотрібний;
- ніяк не повідомляєте, якщо в масиві немає 11 непарних чисел. В умові нічого не сказано, як чинити в такому разі, тому варіант "додавати менше 11 і виводити" довільно вами обраний. Ні, це нормальний варіант, але краще якось ще повідомляти про неправильність вхідних даних.

Подякували: grynyuk1337, leofun013

3

Re: Правильно чи ні ?

Во код:

#include <iostream>
#include <time.h>
using namespace std;
void main(){
srand(time(0));
const int size = 25;
int arr[size];
for(int i = 0;i<size;i++){
arr[i] = rand()%100;
}
int sum = 0;
for(int i = 0,j = 0;j < 11 && i < size;i++){
if(arr[i]%2 == 1){
sum += arr[i];
j++;
}
}
cout << sum;
system("pause");
}
Програміст - це не професія.
Це образ мислення.
Подякували: grynyuk13372