Как найти сумму элементов в строке массива

Есть массив:

int[][] array = new int[2][3];
array[0][0] = 1;
array[0][1] = 2;
array[1][0] = 3;
array[1][1] = 4;
array[0][2] = 5;
array[1][2] = 6;  

Используя цикл for, вычислите сумму каждой строки первого массива и запишите результат в новый массив.

Можете помочь кодом для новичка, т.е простое решение предложить?

Kromster's user avatar

Kromster

13.5k12 золотых знаков43 серебряных знака72 бронзовых знака

задан 15 июл 2018 в 13:43

Anastasia's user avatar

2

Если легкий вариант и не использую Stream API, то вам подойдет такой вариант:

public class Application {

    public static void main(String[] args) {
        int[][] array = new int[2][3];
        array[0][0] = 1;
        array[0][1] = 2;
        array[1][0] = 3;
        array[1][1] = 4;
        array[0][2] = 5;
        array[1][2] = 6;
        int[] newArray = new int[array.length];
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                newArray[i] += array[i][j];
            }
        }
        Arrays.stream(newArray).forEach(System.out::println);
    }

}

ответ дан 15 июл 2018 в 14:17

Andrii Torzhkov's user avatar

3

Вот например мы заполняем массив, так же и складывайте элементы массива.
Вот пример заполнения и вывода.

    package array;

/**
 *
 * @author vvm
 */
public class ArrayCount {

    public static void main(String[] args) {
        int[][] array = new int[2][3];
        for (int i = 0; i < 2; i++) {

            for (int j = 0; j < 3; j++) {
                array[i][j] = i+1;

            }
        }
        for (int i = 0; i < 2; i++) {
            System.out.println("");
            for (int j = 0; j < 3; j++) {
                System.out.print(" array[" + i + "]" + "[" + j + "]" + " = " + array[i][j]);
            }
        }
    }
}

array[i][j] – это ваш элемент массива, то что хранится в ячейке массива с номером ячейки [i][j]. Как в табличке. Только это условно. В памяти компьютера массив хранится по другому. Строки и столбцы – это условность.

ответ дан 15 июл 2018 в 15:20

Vyacheslav Mishchenko's user avatar

попробуйте так

    int rowsCount = array[0].length;
    for(int row = 0; row < rowsCount; row++)
    {
        int sum = 0;
        for(int i = 0; i < array.length; i++)
        {
            int cell = array[i][row];
            sum += cell;
            // debug (remove next line if not needed!)
            System.out.print(cell + (i < array.length - 1 ? " + " : " = "));
        }

        System.out.println(sum);
    }

ответ дан 16 июл 2018 в 6:49

Ramiz's user avatar

RamizRamiz

1,6049 серебряных знаков16 бронзовых знаков

Можно проще сделать с помощью stream:

int[][] array = new int[2][3];
array[0] = new int[]{1, 2, 5};
array[1] = new int[]{3, 4, 6};

int[] sums = Arrays.stream(array)
        // получаем сумму каждой строки
        .mapToInt(row -> Arrays.stream(row).sum())
        // возвращаем массив
        .toArray();

System.out.println(Arrays.toString(sums)); // [8, 13]

ответ дан 10 дек 2020 в 21:35

0 / 0 / 0

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

Сообщений: 23

1

Найти сумму элементов в каждой строке двумерного массива

06.03.2009, 11:33. Показов 52358. Ответов 12


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

Здравствуйте) Помогите пожалуйста решить несколько задач) Заранее огромнейшее спасибо)
1. В заданном массиве K(F;F) найдите сумму элементов в каждой строке. Сформулируйте одномерный массив , содержащий полученные суммы, расположенные по возрастанию (убыванию)
2. В массиве Q(x;e) найти количество всех чисел по модулю, меньших заданного Т



0



ZigmundFr

7 / 7 / 4

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

Сообщений: 32

08.03.2009, 02:41

2

Ответ на первый вопрос:

Pascal
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
Находим суммы и записываем в новый массив
var
   i,j:integer;
   A:array[1..n,1..m] of integer; //исходный массив
   B:array[1..n]of integer;//массив для предварительного результата
   С:array[1..n] of integer; массив для конечного результата
   Suma:integer;
   Min,n:integer;
for i:=1 to n do
begin
   Suma:=0;
   for j:=1 to m do
   begin
      Suma:=Suma+A[i,j];
   end;
end;
 Для создания необходимого результата (сортировка по возростанию)
for j:=1 to n do
begin
   for i:=1 to n do
   begin
      if B[i]<>0 then
      begin
         if B[i]<Min then 
         begin 
            Min:=B[i];
            n:=i; 
         end;
      end; 
   end;
   B[n]:=0;
   C[j]:=Min;
end;

Только я не проверил работу!



1



Puporev

Почетный модератор

64285 / 47584 / 32739

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

Сообщений: 115,182

08.03.2009, 10:10

3

Вот поправил первую чтоб работала.

Pascal
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
{Находим суммы и записываем в новый массив}
uses crt;
var
   n,m,i,j,sum,x:integer;
   a:array[1..50,1..50] of integer; {исходный массив}
   b:array[1..50]of integer;{массив для предварительного результата}
begin
clrscr;
randomize;
write('Kolichestvo strok n=');
readln(n);
write('Kolichestvo stolbcov m=');
readln(m);
writeln('Matrica:');{создание матрицы}
for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
  end;
for i:=1 to n do
  begin
    Sum:=0;
    for j:=1 to m do
    Sum:=Sum+a[i,j]; {считаем суммы в строках}
    b[i]:=sum;   {создаем из них массив}
  end;
{Для создания необходимого результата (сортировка по возрастанию)}
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]>b[j] then
   begin
     x:=b[i];
     b[i]:=b[j];
     b[j]:=x;
   end;
writeln('Otsortirovannyj massiv summ');
for i:=1 to n do
write(b[i],' ');
readln
end.



1



schdub

Эксперт С++

3069 / 1407 / 425

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

Сообщений: 3,851

08.03.2009, 10:30

4

Вторая

Pascal
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
uses crt;
 
const MAX = 10;
 
var  q          : array[1..max, 1..max] of Integer;
     c, x, e, T : integer;
     row, col   : integer;
 
begin
  ClrScr;
  
  Write('Введите количество строк    = '); ReadLn(x); if x>max then x := max;
  Write('Введите количество столбцов = '); ReadLn(e); if e>max then e := max;
  Write('Введите число Т = '); ReadLn(T);
 
  T:=abs(T);
 
  {ввод данных}
  for row:= 1 to x do
    for col:= 1 to e do
    begin
      Write('Введите Q[',row:2,';',col:2,'] = ');
      ReadLn(q[row, col]);
    end;
    
  {проверка условия}
  c:=0;
  for row:= 1 to x do
    for col:= 1 to e do
      if abs(q[row, col])<T then
        Inc(c);
 
  WriteLn('В массиве Q(',x,';',e,') количество всех чисел по модулю, меньших ',T,' = ',c);
  ReadKey;   
end.



0



0 / 0 / 0

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

Сообщений: 23

10.03.2009, 23:30

 [ТС]

5

Огромнейшее спасибо! Вы мне Очень помогли!



0



192 / 0 / 1

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

Сообщений: 20

23.04.2009, 20:19

6

помогите пл3 решить подобную первой задаче.
Найти сумму элементов строки, содержащей минимальный элемент.



0



Puporev

Почетный модератор

64285 / 47584 / 32739

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

Сообщений: 115,182

23.04.2009, 20:23

7

Находишь минимальный и строку где он находится.

Pascal
1
2
3
4
5
6
7
8
min:=a[1,1];imin:=1;
for i:=1 to n do
for j:=1 to m do
if a[i,j]<min then
   begin
     min:=a[i,j];
     imin:=i;
   end;

Сейчас в этой строке считаешь сумму.

Pascal
1
2
3
s:=0;
for j:=1 to m do
s:=s+a[imin,j];



0



192 / 0 / 1

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

Сообщений: 20

23.04.2009, 20:26

8

это же надо вставить перед тем как считаю сумму ???



0



Почетный модератор

64285 / 47584 / 32739

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

Сообщений: 115,182

23.04.2009, 20:38

9

Что вставить? Ты здесь как раз и считаешь сумму в строке.



0



192 / 0 / 1

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

Сообщений: 20

23.04.2009, 20:59

10

мне даже так собрать сложно (
пишет summ0

Код

uses crt;
var
 s,min,imin,n,m,i,j,sum,x:integer;
   a:array[1..50,1..50] of integer;
   begin
   clrscr;
   randomize;
   write('koli4estvo strok n=');
   readln(n);
   write('koli4estvo stolbov m=');
   readln(m);
   min:=a[1,1]; imin:=1;
   for i:=1 to n do
   for j:=1 to n do
   if a[i,j]<min then
   begin
   min:=a[i,j];
   imin:=i;
   end;
   begin
   s:=0;
   for j:=1 to m do
   s:=s+a[imin,j];
   writeln('summa',s);
   readln(s);
   end;
end.



0



Puporev

Почетный модератор

64285 / 47584 / 32739

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

Сообщений: 115,182

23.04.2009, 21:11

11

Я Вам просто поражаюсь, чем Вы думаете. Не создав матрицу, не введя никих значений в программу, Вы ищете какой-то минимум, какую-то сумму. Вообще полное безмыслие.

Pascal
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
uses crt;
var
s,min,imin,n,m,i,j,sum,x:integer;
a:array[1..50,1..50] of integer;
begin
clrscr;
randomize;
write('koli4estvo strok n=');
readln(n);
write('koli4estvo stolbov m=');
readln(m);
writeln('Matrica:');
for i:=1 to n do
 begin
  for j:=1 to m do
    begin
     a[i,j]:=random(10);
     write(a[i,j]:3);
    end;
  writeln;
 end;
min:=a[1,1]; imin:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<min then
   begin
     min:=a[i,j];
     imin:=i;
   end;
writeln('Min=',min,'  stroka=',imin);
s:=0;
for j:=1 to m do
s:=s+a[imin,j];
writeln('summa',s);
readln
end.



1



192 / 0 / 1

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

Сообщений: 20

24.04.2009, 11:26

12

спасибо )) я просто только на днях начал изучать все это ))

Добавлено через 14 часов 10 минут 29 секунд
скажите еще пл3, если эту прогу делать в процедурном, то сколько процедур будет ???



0



Puporev

Почетный модератор

64285 / 47584 / 32739

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

Сообщений: 115,182

24.04.2009, 11:48

13

сколько процедур будет

Думаю 3х хватит.
1. Процедура ввод матрицы.
2. Процедура поиск строки с минимумом.
3. Процедура сумма в строке с минимумом.

Добавлено через 3 минуты 41 секунду

Pascal
1
2
3
4
type matr=array[1..50,1..50] of integer;
procedure Vvod(n,m:byte;var mt:matr);
procedure MinStr(n,m:byte;mt:matr; var imin:byte);
procedure Summ(imin,m:byte;mt:matr; var sum:integer);



1



program massiv;
uses crt;
type matr= array[1..100,1..100] of integer;
var
j,i,n,m:integer;
a:matr;
s:array[1..100] of integer;
fl:boolean;
procedure eqv3(d:matr;k:integer;var f:boolean);
var
c:array[1..100] of integer;
i,j,w,ch:integer;

begin
for i:=1 to n do
c[i]:=d[i,k];
for i:=1 to n-1 do
for j:=i+1 to n do
if c[i]>c[j] then begin
w:=c[i]; c[i]:=c[j]; c[j]:=w end;
//for i:=1 to n do write(c[i]:3); // writeln;
ch:=0;
for i:=1 to n-2 do begin
if (c[i]=c[i+1]) and (c[i]=c[i+2]) then
begin inc(ch);end;
end;
f:=ch=1;
end;

BEGIN
randomize;
clrscr;
writeln(‘решение задачи на массив ‘);
writeln(‘—————————‘);
writeln;
write(‘Ввксти число строк–> ‘); readln(n);
write(‘Ввксти число столбцов–> ‘); readln(m);
writeln(‘Имсходный массив ‘);
writeln(‘——————‘);
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(8);
write(a[i,j]:4);
end;
writeln;
end;
writeln(‘Сумма строк’);
for i:=1 to n do begin
s[i]:=0;
for j:=1 to m do
s[i]:= s[i]+a[i,j];
write( s[i]:4); end;
writeln;
for j:=1 to m do begin
if not odd(j) then
begin eqv3(a,j,fl);
if fl then begin
writeln(‘Вектор Х: ‘,’ столбец ‘,j);
writeln;
for i:=1 to n do write(a[i,j]:3);
writeln; break; end;
end;
end;
writeln;
writeln(‘конец задачи ‘);
readln;
END.

program
sumstr;

Var
a: array[1..50,1..50] of integer;

i,
j, n, m,sum: integer;

Begin

Write(‘сколько
строк?’); Readln(m);

Write(‘сколько
столбцов?’); Readln(n);

For
i:=1 to m do

begin

For
j:=1 to n do

begin

a[i,j]:=int(rnd*50)-19;
write(a[i,j],’ ‘);

end;

writeln;

end;

for
i:=1 to m do

begin

sum:=0;

for
j:=1 to n do sum:=sum+a[i,j];

writeln(‘сумма
элементов в ‘,i,’ строке: ‘,sum);

end;

end.

6. Подсчитать количество положительных элементов в каждой строке матрицы размером МхN, элементы которой вводятся с клавиатуры.

program
kolpolvstr;

Var
a: array[1..50,1..50] of integer;

i,
j, m, n, kol: integer;

Begin

Write(‘сколько
строк?’); Readln(m);

Write(‘сколько
столбцов?’); Readln(n);

For
i:=1 to m do

begin

For
j:=1 to n do

begin
write(‘a[‘,i,’,’,j,’]=’); readln (a[i,j]); end;

for
i:=1 to m do

begin

kol:=0;

for
j:=1 to n do if a[i,j]>0 then kol:=kol+1;

writeln(‘количество
положительных элементов в ‘,i,’ строке:
‘,kol);

end;

writeln;

end;

end.

7. Сформировать матрицу типа 1 0 0 0

0
1 0 0

0
0 1 0

0
0 0 1

program
formir;

Var
a: array[1..50,1..50] of integer;

i,
j, m, n: integer;

Begin

Write(‘сколько
строк?’); Readln(m);

Write(‘сколько
столбцов?’); Readln(n);

For
i:=1 to m do

begin

For
j:=1 to n do

begin

if
i=j then a[i,j]:=1 else a[i,j]:=0;

write(a[i,j]);

end;

writeln;

End.

8.
Найти номер столбца массива размером
МхN, в котором находится наибольшее
количество отрицательных элементов.
Элементы вводятся с клавиатуры.

program
nomerstolb;

Var
a: array[1..50,1..50] of integer;

b:
array[1..50] of integer;

i,
j, m, n, max, jmax: integer;

Begin

Write(‘сколько
строк?’); Readln(m);

Write(‘сколько
столбцов?’); Readln(n);

For
i:=1 to m do

begin

For
j:=1 to n do

begin

write(‘a[‘,i,’,’,j,’]=’);
readln (a[i,j]);

end;

for
j:=1 to m do

begin

b[j]:=0;

for
i:=1 to n do

if
a[i,j]<0 then b[j]:=b[j]+1;

end;

max:=b[1];
jmax:=1;

For
j:=2 to n do

begin

if
b[j]>max then

begin

max:=b[j];
jmax:=j;

end;

end;

writeln(‘Наибольшее
количество отрицательных элементов в
‘;jmax ; ‘столбце’);

end;

end.

9. Упорядочить каждый столбец матрицы по возрастанию. Массив размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-17;26].

program
porydok;

Var
a: array[1..50,1..50] of integer;

i,
j, n, m,t,r: integer;

Begin

Write(‘сколько
строк?’); Readln(m);

Write(‘сколько
столбцов?’); Readln(n);

For
i:=1 to m do

begin

For
j:=1 to n do

begin

a[i,j]:=int(rnd*44)-17;

write(a[i,j],’
‘);

end;

Writeln;

end;

For
j:=1 to n do

For
r:=1 to m do

For
i:=1 to m-1 do

if
a[i,j]> a[i+1,j] then

begin

t:=
a[i,j];

a[i,j]:=
a[i+1,j];

a[i+1,j]:=
t;

end;

For
i:=1 to m do

begin

For
j:=1 to n do write(a[i,j],’ ‘);

Writln;

end;

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Данная тема основывается на теме: Массивы. Одномерные массивы. Инициализация массива


Содержание

  • 1. Нахождение сумм и произведений элементов массива. Примеры
  • 2. Нахождение максимального (минимального) элемента массива. Примеры
  • 3. Сортировка массива методом вставки
  • 4. Поиск элемента в массиве. Примеры
  • Связанные темы

Поиск на других ресурсах:

1. Нахождение сумм и произведений элементов массива. Примеры

Пример 1. Задан массив A, содержащий 100 целых чисел. Найти сумму элементов этого массива. Фрагмент кода, решающего эту задачу

// сумма элементов массива A из 100 целых чисел
int A[100];
int suma; // переменная, содержащая сумму
int i;    // дополнительная переменная

// ввод массива A
// ...

// Вычисление суммы
suma = 0; // обнулить сумму
for (i=0; i<100; i++)
    suma += A[i];

Перебор всех элементов массива выполняется в цикле for.

Переменная sum сохраняет результирующее значение суммы элементов массива. Переменная i есть счетчиком, определяющим индекс элемента массива A[i].



Пример 2. Задан массив B, содержащий 20 вещественных чисел. Найти сумму элементов массива, которые лежат на парных позициях. Считать, что позиции 0, 2, 4 и т.д. есть парными.

// сумма элементов массива B
// лежащих на парных позициях
float B[20];
float sum; // переменная, содержащая сумму
int i; // дополнительная переменная

// ввод массива
// ...

// Вычисление суммы
sum = 0; // обнулить сумму
for (i=0; i<20; i++)
    if ((i%2)==0)
        sum += B[i];

В этом примере выражение

(i%2)==0

определяет парную позицию (парный индекс) массива B. Если нужно взять нечетные позиции, то нужно написать

(i%2)==1

Пример 3. Задан массив, который содержит 50 целых чисел. Найти сумму положительных элементов массива.

// сумма положительных элементов массива
int A[50];
int sum; // переменная, содержащая сумму
int i; // дополнительная переменная

// ввод массива
// ...

// Вычисление суммы
sum = 0; // обнулить сумму
for (i=0; i<50; i++)
    if (A[i]>0)
        sum = sum + A[i];

Пример 4. Задан массив из 50 целых чисел. Найти произведение элементов массива, которые есть нечетными числами.

// произведение нечетных элементов массива
int A[50];
int d; // переменная, содержащая произведение
int i; // вспомогательная переменная

// ввод массива
// ...

// Вычисление произведения
d = 1; // начальная установка переменной d
for (i=0; i<50; i++)
    if ((A[i]%2)==1)
        d = d * A[i];

Чтобы определить, есть ли элемент массива A[i] нечетным, нужно проверить условие

(A[i]%2)==1

Если условие выполняется, то элемент массива есть нечетное число.

2. Нахождение максимального (минимального) элемента массива. Примеры

Пример 1. Задан массив из 30 вещественных чисел. Найти элемент (индекс), имеющий максимальное значение в массиве.

// поиск позиции (индекса), содержащего максимальное значение
float B[30];
float max; // переменная, содержащая максимум
int index; // позиция элемента, содержащего максимальное значение
int i; // дополнительная переменная

// ввод массива
// ...

// поиск максимума
// установить максимум как 1-й элемент массива
index = 0;
max = B[0]; 
for (i=1; i<30; i++)
    if (max<B[i]) 
    { 
        max = B[i]; // запомнить максимум
        index = i;  // запомнить позицию максимального элемента
    }

В вышеприведенном примере переменная max содержит максимальное значение. Переменная index содержит позицию элемента, который имеет максимальное значение. В начале переменной max присваивается значение первого элемента массива. Затем, начиная со второго элемента, происходит прохождение всего массива в цикле for. Одновременно проверяется условие

if (max<B[i])

Если условие выполняется (найден другой максимум), тогда новое значение максимума фиксируется в переменных max и index.

Вышеприведенный пример находит только один максимум. Однако, в массивах может быть несколько максимальных значений. В этом случае для сохранения позиций (индексов) максимальных значений нужно использовать дополнительный массив как показано в следующем примере.

Пример 2. Задан массив содержащий 50 целых чисел. Найти позицию (позиции) элемента, который имеет минимальное значение. Если таких элементов несколько, сформировать дополнительный массив индексов.

// поиск позиций (индексов), содержащих минимальное значение
int A[50];
int min; // переменная, содержащая минимальное значение
int INDEXES[50]; // позиции элементов, содержащих минимальное значение
int n; // число одинаковых минимальных значений
int i; // дополнительная переменная


// ввод массива
// ...

// 1. Поиск минимального значения
// установить минимальное значение в первом элементе массива
min = A[0];
for (i=1; i<50; i++)
    if (min>A[i])
        min = A[i]; // запомнить минимальное значение

// 2. Формирование массива
n = 0; // обнулить счетчик в массиве INDEXES
for (i=0; i<50; i++)
    if (min == A[i])
        {
            n++; // увеличить число элементов в INDEXES
            INDEXES[n-1] = i; // запомнить позицию
        }

listBox1->Items->Clear();

// 3. Вывод массива INDEXES в listBox1
for (i=0; i<n; i++)     
    listBox1->Items->Add(INDEXES[i].ToString());

В вышеприведенном листинге сначала ищется минимальное значение min.

На втором шаге формируется массив INDEXES, в котором число элементов записывается в переменную n. Происходит поиск минимального значения в массиве A с одновременным формированием массива INDEXES.

На третьем шаге приведен пример, как вывести массив INDEXES в элементе управления listBox1(ListBox).

3. Сортировка массива методом вставки

Пример. Пусть дан массив A, содержащий 10 целых чисел. Отсортировать элементы массива в нисходящем порядке с помощью метода вставки.

// сортировка массива методом вставки
int A[10];
int i, j; // дополнительные переменные - счетчики
int t; // дополнительная переменная

// ввод массива A
// ...

// сортировка
for (i=0; i<9; i++)
    for (j=i; j>=0; j--)
        if (A[j]<A[j+1])
        {
            // поменять местами A[j] и A[j+1]
            t = A[j];
            A[j] = A[j+1];
            A[j+1] = t;
        }

4.  Поиск элемента в массиве. Примеры

Пример 1. Определить, находится ли число k в массиве M состоящем из 50 целых чисел.

// определение наличия заданного числа в массиве чисел
int M[50];
int i;
int k; // искомое значение
bool f_is; // результат поиска, true - число k есть в массиве, иначе false

// ввод массива M
// ...
// ввод числа k
// ...

// поиск числа в массиве
f_is = false;
for (i=0; i<50; i++)
    if (k==M[i])
    {
        f_is = true; // число найдено
        break; // выход из цикла, дальнейший поиск не имеет смысла
    }

// вывод результата
if (f_is)
    label1->Text = "Число " + k.ToString() + " есть в массиве M.";
else
    label1->Text = "Числа " + k.ToString() + " нет в массиве M.";

Пример 2. Найти все позиции вхождения числа k в массиве M состоящим из 50 целых чисел.

// определение всех позиций заданного числа в массиве чисел
int M[50]; // массив чисел
int i; // вспомогательная переменная
int k; // искомое значение
int INDEXES[50]; // искомый массив позиций вхождения числа k
int n; // количество найденных позиций или количество элементов в массиве INDEXES

// ввод массива M
// ...
// ввод числа k
// ...

// поиск числа k в массиве M и одновременное формирование массива INDEXES
n = 0;
for (i=0; i<50; i++)
    if (k==M[i])
    {
        // число найдено
        n++;
        INDEXES[n-1] = i;
    }

// вывод результата в listBox1
listBox1->Items->Clear();

for (i=0; i<n; i++)
    listBox1->Items->Add(INDEXES[i].ToString());


Связанные темы

  • Массивы. Часть 1. Определение массива в C++. Одномерные массивы. Инициализация массива
  • Массивы. Часть 2. Двумерные массивы. Массивы строк. Многомерные массивы


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