Как найти сумму нечетных чисел массива

Я пытался сделать это вручную указывая все 10 переменных в массиве. Теперь я не знаю как вывести сумму нечетных элементов. Помогите пожалуйста.

Код :

int[] A = new int[10];
int a = A[0];
int b = A[1];
int c = A[2];
int d = A[3];
int e = A[4];
int f = A[5];
int g = A[6];
int h = A[7];
int i = A[8];
int j= A [9];
float s = 0;
Console.WriteLine("Введите а");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите b");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите c");
c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите d");
d = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите e");
e = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите f");
f = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите g");
g = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите h");
h = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите i");
i = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите j");
j = Convert.ToInt32(Console.ReadLine());

aepot's user avatar

aepot

44.9k5 золотых знаков22 серебряных знака50 бронзовых знаков

задан 24 апр 2021 в 15:57

Kekkx's user avatar

4

Массивы и циклы, циклы и массивы. Если на начальных этапах обучения у вас массив есть, а цикла нет, значит что-то пошло не так.

int[] a = new int[10];
for (int i = 0; i < a.Length; i++)
{
    Console.Write($"Введите a[{i}] = ");
    a[i] = int.Parse(Console.ReadLine());
}
int sum = 0;
for (int i = 0; i < a.Length; i++)
{
    if (a[i] % 2 == 1)
        sum += a[i];
}
Console.WriteLine($"Сумма нечетных чисел = {sum}");

А еще есть Linq вариант

int[] a = Enumerable.Range(0, 10)
    .Select(i =>
    {
        Console.Write($"Введите a[{i}] = ");
        return int.Parse(Console.ReadLine());
    }).ToArray();
int sum = a.Where(x => x % 2 == 1).Sum();
Console.WriteLine($"Сумма нечетных чисел = {sum}");

ответ дан 24 апр 2021 в 16:22

aepot's user avatar

aepotaepot

44.9k5 золотых знаков22 серебряных знака50 бронзовых знаков

10

Для начала, ты неправильно считываешь массив. Надо Console.Read(A[i]), i-индекс элемента. Для того, чтобы определить, является ли элемент нечётным, надо разделить его на 2 и посмотреть, равен ли его остаток 1. a%2==1

ответ дан 24 апр 2021 в 16:01

Роман Мамаев's user avatar

3

0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

1

Найти сумму нечетных элементов массива

12.01.2015, 21:10. Показов 11629. Ответов 10


Студворк — интернет-сервис помощи студентам

Найти сумму нечетных элементов двумерного массива.

Решить двумя способами: 1. с использованием доп одномерного массива 2. без его использования. Помогите пожалуйста, завтра курсяк сдавать!

Добавлено через 8 минут
вторым способом сделано, нужен только 1 способ



0



zss

Модератор

Эксперт С++

13081 / 10359 / 6200

Регистрация: 18.12.2011

Сообщений: 27,697

12.01.2015, 21:16

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int a[N][M],b[N];
....
for(int i=0;i<N;i++)
{
   b[i]=0;
   for(int j=0;j<M;j++)
       if(a[i][j]%2)
          b[i]+=a[i][j];
}
int sum=0;
for(int i=0;i<N;i++)
    sum+=b[i];
cout<<sum;



1



0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

12.01.2015, 21:47

 [ТС]

3

спасибо, а можно целиком код?



0



Модератор

Эксперт С++

13081 / 10359 / 6200

Регистрация: 18.12.2011

Сообщений: 27,697

12.01.2015, 22:00

4

Вставьте его в Ваш второй способ.
Вот Вам и будет код целиком!



0



0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

12.01.2015, 22:54

 [ТС]

5

Цитата
Сообщение от zss
Посмотреть сообщение

Вставьте его в Ваш второй способ.
Вот Вам и будет код целиком!

все равно не так работает, сейчас скрин сделаю



0



MariaA

0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

12.01.2015, 22:57

 [ТС]

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
#include "iostream"
#include "iomanip"
#include "cstdlib"
#include "ctime"
using namespace std;
int main(){
int n,sum=0,a[20][20],b[20];
srand(time(0));
cout<< "n: ";
cin>>n;
cout<< endl;
for(int i=0;i<n;i++)
{
   b[i]=0;
   for(int j=0;j<n;j++)
       if(a[i][j]%2)
          b[i]+=a[i][j];
}
for(int i=0;i<n;i++)
    sum=b[i];
cout<<"sum= "<<sum;
cin.get();
cin.get();}



0



zss

Модератор

Эксперт С++

13081 / 10359 / 6200

Регистрация: 18.12.2011

Сообщений: 27,697

12.01.2015, 23:07

7

строка 20

C++
1
sum+=b[i];

И где ввод массива a?



0



0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

12.01.2015, 23:10

 [ТС]

8

Цитата
Сообщение от zss
Посмотреть сообщение

1
sum+=b[i];

результат не изменился(



0



zss

Модератор

Эксперт С++

13081 / 10359 / 6200

Регистрация: 18.12.2011

Сообщений: 27,697

12.01.2015, 23:17

9

Цитата
Сообщение от MariaA
Посмотреть сообщение

результат не изменился(

А это зря написано:

Цитата
Сообщение от zss
Посмотреть сообщение

И где ввод массива a?

Ну, хотя бы так напишите

C++
1
2
3
4
5
for(int i=0;i<n;i++)
{
   for(int j=0;j<n;j++)
      a[i][j]=rand();
}



0



MariaA

0 / 0 / 0

Регистрация: 03.12.2014

Сообщений: 34

12.01.2015, 23:45

 [ТС]

10

Цитата
Сообщение от zss
Посмотреть сообщение

Сообщение от MariaA
результат не изменился(
А это зря написано:
Сообщение от zss
И где ввод массива a?
Ну, хотя бы так напишите
Код C++
1
2
3
4
5
for(int i=0;i<n;i++)
{
* *for(int j=0;j<n;j++)
* * * a[i][j]=rand();
}

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

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
#include "iostream"
#include "iomanip"
#include "cstdlib"
#include "ctime"
using namespace std;
int main(){
int n,sum=0,a[20][20],b[20];
srand(time(0));
cout<< "n: ";
cin>>n;
cout<< endl;
for(int i=0;i<n;i++)
{
   for(int j=0;j<n;j++)
      a[i][j]=rand();
}
 
}
for(int i=0;i< n;i++)
    for(int j=0;j< n; j++)
 
    sum+=b[i];
cout<<"sum= "<<sum;
cin.get();
cin.get();}

помогите пожалуйста сижу с этой задачей уже часа 2 как минимум



0



zss

Модератор

Эксперт С++

13081 / 10359 / 6200

Регистрация: 18.12.2011

Сообщений: 27,697

13.01.2015, 09:55

11

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 <iostream>
//#include "iomanip"
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
   int n,a[20][20],b[20];
   srand((unsigned int)time(NULL));
   cout<< "n: ";
   cin>>n;
   if(n>20)
       n=20;
   cout<< endl;
   for(int i=0;i<n;i++)
   {
     for(int j=0;j<n;j++)
       a[i][j]=rand()%100;
   }
   for(int i=0;i<n;i++)
   {
      b[i]=0;
      for(int j=0;j<n;j++)
        if(a[i][j]%2)
          b[i]+=a[i][j];
   }
   int sum=0;
   for(int i=0;i< n;i++)
    for(int j=0;j< n; j++)
      sum+=b[i];
   cout<<"sum= "<<sum<<endl;
   system("pause");
   return 0;
}



0



Prerequisite – Array Basics 
Given an array, write a program to find the sum of values of even and odd index positions separately.

Examples: 

Input : arr[] = {1, 2, 3, 4, 5, 6}
Output :Even index positions sum 9
        Odd index positions sum 12
Explanation: Here, n = 6 so there will be 3 even 
index positions and 3 odd index positions in an array
Even = 1 + 3 + 5 = 9
Odd =  2 + 4 + 6 = 12

Input : arr[] = {10, 20, 30, 40, 50, 60, 70}
Output : Even index positions sum 160
        Odd index positions sum 120
Explanation: Here, n = 7 so there will be 3 odd
index positions and 4 even index positions in an array
Even = 10 + 30 + 50 + 70 = 160
Odd = 20 + 40 + 60 = 120 

Implementation:

C++

#include <iostream>

using namespace std;

void EvenOddSum(int arr[], int n)

{

    int even = 0;

    int odd = 0;

    for (int i = 0; i < n; i++) {

        if (i % 2 == 0)

            even += arr[i];

        else

            odd += arr[i];

    }

    cout << "Even index positions sum " << even;

    cout << "nOdd index positions sum " << odd;

}

int main()

{

    int arr[] = { 1, 2, 3, 4, 5, 6 };

    int n = sizeof(arr) / sizeof(arr[0]);

    EvenOddSum(arr, n);

    return 0;

}

Java

import java.io.*;

class EvenOddSum {

    public static void main(String args[])

    {

        int arr[] = { 1, 2, 3, 4, 5, 6 };

        int even = 0, odd = 0;

        for (int i = 0; i < arr.length; i++) {

            if (i % 2 == 0)

                even += arr[i];

            else

                odd += arr[i];

        }

        System.out.println("Even index positions sum: " + even);

        System.out.println("Odd index positions sum: " + odd);

    }

}

Python3

def EvenOddSum(a, n):

    even = 0

    odd = 0

    for i in range(n):

        if i % 2 == 0:

            even += a[i]

        else:

            odd += a[i]

    print ("Even index positions sum ", even)

    print ("nOdd index positions sum ", odd)

arr = [1, 2, 3, 4, 5, 6]

n = len(arr)

EvenOddSum(arr, n)

C#

using System;

public class GFG {

    public static void Main()

    {

        int[] arr = { 1, 2, 3, 4, 5, 6 };

        int even = 0, odd = 0;

        for (int i = 0; i < arr.Length; i++)

        {

            if (i % 2 == 0)

                even += arr[i];

            else

                odd += arr[i];

        }

        Console.WriteLine("Even index positions"

                             + " sum: " + even);

        Console.WriteLine("Odd index positions "

                               + "sum: " + odd);

    }

}

PHP

<?php

function EvenOddSum($arr, $n)

{

    $even = 0;

    $odd = 0;

    for ($i = 0; $i < $n; $i++)

    {

        if ($i % 2 == 0)

            $even += $arr[$i];

        else

            $odd += $arr[$i];

    }

    echo("Even index positions sum " . $even);

    echo("nOdd index positions sum " . $odd);

}

$arr = array( 1, 2, 3, 4, 5, 6 );

$n = sizeof($arr);

EvenOddSum($arr, $n);

?>

Javascript

<script>

function EvenOddSum(arr, n)

{

    let even = 0;

    let odd = 0;

    for (let i = 0; i < n; i++)

    {

        if (i % 2 == 0)

            even += arr[i];

        else

            odd += arr[i];

    }

    document.write("Even index positions sum " + even);

    document.write("<br>" + "Odd index positions sum " + odd);

}

    let arr = [ 1, 2, 3, 4, 5, 6 ];

    let n = arr.length;

    EvenOddSum(arr, n);

</script>

Output

Even index positions sum 9
Odd index positions sum 12

Time Complexity: O(length(arr))
Auxiliary Space: 0(1)

Method 2: Using bitwise & operator

C++

#include <iostream>

using namespace std;

void EvenOddSum(int arr[], int n)

{

    int even = 0;

    int odd = 0;

    for (int i = 0; i < n; i++) {

        if (i & 1 != 0)

            odd += arr[i];

        else

            even += arr[i];

    }

    cout << "Even index positions sum " << even;

    cout << "nOdd index positions sum " << odd;

}

int main()

{

    int arr[] = { 1, 2, 3, 4, 5, 6 };

    int n = sizeof(arr) / sizeof(arr[0]);

    EvenOddSum(arr, n);

    return 0;

}

Java

public class Main {

  public static void main(String[] args)

  {

    int[] arr = { 1, 2, 3, 4, 5, 6 };

    int n = arr.length;

    int even = 0;

    int odd = 0;

    for (int i = 0; i < n; i++)

    {

      if ((i & 1) != 0) {

        odd += arr[i];

      }

      else {

        even += arr[i];

      }

    }

    System.out.println("Even index positions sum: "

                       + even);

    System.out.println("Odd index positions sum: "

                       + odd);

  }

}

Python3

def EvenOddSum(a, n):

    even = 0

    odd = 0

    for i in range(n):

        if i &1:

            odd += a[i]

        else:

            even += a[i]

    print ("Even index positions sum ", even)

    print ("Odd index positions sum ", odd)

arr = [1, 2, 3, 4, 5, 6]

n = len(arr)

EvenOddSum(arr, n)

C#

using System;

namespace TestApplication

{

  class Program

  {

    static void Main(string[] args)

    {

      int[] arr = { 1, 2, 3, 4, 5, 6 };

      int n = arr.Length;

      int even = 0;

      int odd = 0;

      for (int i = 0; i < n; i++)

      {

        if ((i & 1) != 0)

        {

          odd += arr[i];

        }

        else

        {

          even += arr[i];

        }

      }

      Console.WriteLine("Even index positions sum: " + even);

      Console.WriteLine("Odd index positions sum: " + odd);

    }

  }

}

Javascript

function EvenOddSum(arr, n)

{

    let even = 0;

    let odd = 0;

    for (let i = 0; i < n; i++)

    {

        if (i & 1 != 0)

            odd += arr[i];

        else

            even += arr[i];

    }

    console.log("Even index positions sum " + even);

    console.log("nOdd index positions sum " + odd);

}

let arr = [ 1, 2, 3, 4, 5, 6 ];

let n = arr.length;

EvenOddSum(arr, n);

Output

Even index positions sum 9
Odd index positions sum 12

Time Complexity: O(length(arr))
Auxiliary Space: 0(1)

Method 3: Using slicing in python:

Calculate sum of all even indices using slicing and repeat the same with odd indices and print sum.

Below is the implementation:

C++

#include <iostream>

using namespace std;

int EvenOddSum(int arr[] , int n)

{

  int even = 0;

  int odd = 0;

  for (int i = 0; i < n; i++) {

    if (i % 2 == 0)

      even += arr[i];

    else

      odd += arr[i];

  }

  cout<<"Even index positions sum "<<even<<"n" ;

  cout<<"Odd index positions sum " <<odd;

}

int main()

{

  int arr[] = { 1, 2, 3, 4, 5, 6 };

  int n =sizeof(arr)/sizeof(arr[0]);

  EvenOddSum(arr, n);

}

Java

import java.io.*;

class GFG {

    static void EvenOddSum(int[] arr, int n)

    {

        int even = 0;

        int odd = 0;

        for (int i = 0; i < n; i++) {

            if (i % 2 == 0)

                even += arr[i];

            else

                odd += arr[i];

        }

        System.out.println("Even index positions sum "

                           + even);

        System.out.print("Odd index positions sum " + odd);

    }

    public static void main(String[] args)

    {

        int[] arr = { 1, 2, 3, 4, 5, 6 };

        int n = arr.length;

        EvenOddSum(arr, n);

    }

}

Python3

def EvenOddSum(a, n):

    even_sum = sum(a[::2])

    odd_sum = sum(a[1::2])

    print("Even index positions sum", even_sum)

    print("Odd index positions sum", odd_sum)

arr = [1, 2, 3, 4, 5, 6]

n = len(arr)

EvenOddSum(arr, n)

C#

using System;

public class GFG {

    static void EvenOddSum(int[] arr, int n)

    {

        int even = 0;

        int odd = 0;

        for (int i = 0; i < n; i++) {

            if (i % 2 == 0)

                even += arr[i];

            else

                odd += arr[i];

        }

        Console.WriteLine("Even index positions sum "

                          + even);

        Console.WriteLine("Odd index positions sum " + odd);

    }

    static public void Main()

    {

        int[] arr = { 1, 2, 3, 4, 5, 6 };

        int n = arr.Length;

        EvenOddSum(arr, n);

    }

}

Javascript

<script>

function EvenOddSum(arr, n)

{

    let even = 0;

    let odd = 0;

    for (let i = 0; i < n; i++)

    {

        if (i % 2 == 0)

            even += arr[i];

        else

            odd += arr[i];

    }

    document.write("Even index positions sum " + even);

    document.write("<br>" + "Odd index positions sum " + odd);

}

    let arr = [ 1, 2, 3, 4, 5, 6 ];

    let n = arr.length;

    EvenOddSum(arr, n);

</script>

Output

Even index positions sum 9
Odd index positions sum 12

Time Complexity: O(n) where n is no of elements in given array
Auxiliary Space: 0(1)

Method 2: Using bitwise | operator

C++14

#include<bits/stdc++.h>

using namespace std;

void EvenOddSum(vector<int>a, int n)

{

    int even = 0;

    int odd = 0;

    for(int i=0; i<n; i++)

    {

        if ((i|1)==i)

          odd+=a[i];

        else

          even+=a[i];

    }

    cout<< "Even index positions sum "<< even<<endl;

    cout<< "Odd index positions sum "<< odd<<endl;

}

int main()

{

    vector<int>arr = {1, 2, 3, 4, 5, 6};

    int n = arr.size();

    EvenOddSum(arr, n);

}

Python3

def EvenOddSum(a, n):

    even = 0

    odd = 0

    for i in range(n):

        if i|1==i:

          odd+=a[i]

        else:

          even+=a[i]

    print ("Even index positions sum ", even)

    print ("Odd index positions sum ", odd)

arr = [1, 2, 3, 4, 5, 6]

n = len(arr)

EvenOddSum(arr, n)

Javascript

function EvenOddSum(a, n) {

  let even = 0;

  let odd = 0;

  for(let i = 0; i < n; i++) {

    if ((i|1) === i)

      odd += a[i];

    else

      even += a[i];

  }

  console.log("Even index positions sum ", even);

  console.log("Odd index positions sum ", odd);

}

  const arr = [1, 2, 3, 4, 5, 6];

  const n = arr.length;

  EvenOddSum(arr, n);

Java

import java.util.*;

class Main {

    static void EvenOddSum(List<Integer> a, int n)

    {

        int even = 0;

        int odd = 0;

        for (int i = 0; i < n; i++) {

            if ((i | 1) == i) {

                odd += a.get(i);

            }

            else {

                even += a.get(i);

            }

        }

        System.out.println("Even index positions sum "

                           + even);

        System.out.println("Odd index positions sum "

                           + odd);

    }

    public static void main(String[] args)

    {

        List<Integer> arr = new ArrayList<>(

            Arrays.asList(1, 2, 3, 4, 5, 6));

        int n = arr.size();

        EvenOddSum(arr, n);

    }

}

C#

using System;

using System.Collections.Generic;

class MainClass {

    static void EvenOddSum(List<int> a, int n)

    {

        int even = 0;

        int odd = 0;

        for (int i = 0; i < n; i++) {

            if ((i | 1) == i)

                odd += a[i];

            else

                even += a[i];

        }

        Console.WriteLine("Even index positions sum "

                          + even);

        Console.WriteLine("Odd index positions sum " + odd);

    }

    public static void Main(string[] args)

    {

        List<int> arr = new List<int>{ 1, 2, 3, 4, 5, 6 };

        int n = arr.Count;

        EvenOddSum(arr, n);

    }

}

Output

Even index positions sum  9
Odd index positions sum  12

Time Complexity: O(length(arr))
Auxiliary Space: 0(1)

This article is contributed by Rishabh Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Last Updated :
31 Mar, 2023

Like Article

Save Article

” ”



Ученик

(133),
закрыт



4 года назад

Ирина Анатольевна

Просветленный

(20120)


5 лет назад

var i, n, sum: integer;
a: array [1..100] of integer;
begin
n:=20;
sum:=0;
for i:=1 to n do
begin
a[i]:=random (10);
write (a[i]:4);
if odd(a[i]) then sum:=sum+a[i];
end;
writeln;
writeln (‘Сумма нечетных элементов массива = ‘, sum);
end.

Юра

Мыслитель

(6075)


5 лет назад

var a: array [1..20] of integer;
i, sum:integer;
begin
For i:=1 to 20 do
If i mod 2>1 then
sum+=a[i];
Writeln(sum);
end.

” ”Ученик (133)

5 лет назад

блин, я все также сделал, у меня “0” и больше ничего ((

Ну так как может быть остаток больше 1, если идет целочисленное деление!? if i mod 2 = 1 then sum := sum+a[i];

Формулировка задачи:

Дан одномерный целочисленный массив A, состоящий из N элементов. Найти сумму нечетных элементов массива.

Нужна блок-схема и программа.

Код к задаче: «Найти сумму нечетных элементов массива»

textual

uses crt;
const n=8;
var a:array[1..n] of integer;
i,s:integer;
 
BEGIN
clrscr;
 
for i:=1 to n do
 a[i]:=random(10);
 
 for i:=1 to n do
  write(a[i]:4);
  writeln;
 
   s:=0;
   for i:=1 to n do
    if a[i] mod 2<>0 then
      s:=s+a[i];
 
      write('Symma = ',s);
 
 readkey;
END.

Полезно ли:

12   голосов , оценка 4.417 из 5

Добавить комментарий