0 / 0 / 3 Регистрация: 02.12.2015 Сообщений: 19 |
|
1 |
|
Найти сумму чётных элементов матрицы03.12.2015, 16:24. Показов 2199. Ответов 3
Здравствуйте, помогите, пожалуйста, написать программу на с++, которая будет находить сумму чётных элементов двумерного массива.
0 |
Тамика Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
||||
03.12.2015, 16:30 |
2 |
|||
АнастасияКарауш, ХОРОШО, НАПИШЕМ, ТОЛЬКО НЕ НУЖНО КРИЧАТЬ. Добавлено через 59 секунд
2 |
GbaLog- Любитель чаепитий 3737 / 1796 / 563 Регистрация: 24.08.2014 Сообщений: 6,014 Записей в блоге: 1 |
||||
03.12.2015, 16:56 |
3 |
|||
Тамика, Мне кажется, что тут проверка
является ли само число по этому адресу чётным, а ему надо, чтобы номер элементов чётный был? Или я не прав?
1 |
0 / 0 / 3 Регистрация: 02.12.2015 Сообщений: 19 |
|
03.12.2015, 19:00 [ТС] |
4 |
Тамика, Спасибо Вам, огромное.
0 |
Дана матрица размера N*M. Нужно посчитать сумму элементов в чётных и нечетных строках и столбцах.
Первую часть программы я составил, а вот вторую, убей бог, не получается.
int main()
{
setlocale(LC_ALL, "Russian");
int N, M, i, j;
int result4etn;
int resultne4etn;
cout << "Введите колл строк матрицы:";
cin >> N;
cout << "Введите колл стоб матрицы: ";
cin >> M;
int** mass = new int* [N]; //создаем массив указателей на элементы
cout << endl;
cout << "Заполните матрицу " << N << 'х' << M << endl;
for (i = 0; i < N; i++)
{
mass[i] = new int[M]; //создаем массив элементов
}
for (i = 0; i < N; i++)
{
for (j = 0; j < M; j++)
{
cout << "Введите число: ";
cin >> mass[i][j];
}
}
cout << "Полученная матрица: " << endl;
for (i = 0; i < N; i++)
{
for (j = 0; j < M; j++)
{
cout << mass[i][j];
}
cout << endl;
}
}
задан 24 мая 2016 в 7:13
6
Замените свой вывод матрицы на
int
sum_even_rows = 0,
sum_odd_rows = 0,
sum_even_cols = 0,
sum_odd_cols = 0;
cout << "Полученная матрица: " << endl;
for (i = 0; i < N; i++)
{
for (j = 0; j < M; j++)
{
if (i%2 == 0) // четные строки
sum_even_rows += mass[i][j];
else
sum_odd_rows += mass[i][j];
if (j%2 == 0) // четные столбцы
sum_even_cols += mass[i][j];
else
sum_odd_cols += mass[i][j];
cout << setw(6) << mass[i][j] << " ";
}
cout << endl;
}
cout << "Сумма элементов в четных строках : " << sum_even_rows << endl;
cout << "Сумма элементов в нечетных строках : " << sum_odd_rows << endl;
cout << "Сумма элементов в четных столбцах : " << sum_even_cols << endl;
cout << "Сумма элементов в нечетных столбцах: " << sum_odd_cols << endl;
Здесь считаем столбцы/строки с нулевого (т.е. самый первый — четный).
ответ дан 24 мая 2016 в 7:52
HarryHarry
214k15 золотых знаков117 серебряных знаков229 бронзовых знаков
0
Решение короче и без if
int T[2][2] = {};
for (int i=0;i<N;i++)
for (int j=0;j<M;j++)
T[i&1][j&1]+=E[i][j];
cout << "Сумма элементов в четных строках : " <<T[0][0] + T[0][1]<<endl;
cout << "Сумма элементов в нечетных строках : " <<T[1][0] + T[1][1]<<endl;
cout << "Сумма элементов в четных столбцах : " <<T[0][0] + T[1][0]<<endl;
cout << "Сумма элементов в нечетных столбцах: " <<T[0][1] + T[1][1]<<endl;
ответ дан 24 мая 2016 в 11:31
pavelpavel
9,7793 золотых знака28 серебряных знаков42 бронзовых знака
uses crt; const nmax=20; var a: array[1..nmax,1..nmax] of integer; n,m,i,j,sum: byte; begin clrscr; sum:=0; write('Ââåäèòå Г°Г*çìåðû Г¬Г*Г±Г±ГЁГўГ* n, m: '); readln(n,m); writeln('ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў: '); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(99)+1; if a[i,j] mod 2=0 then begin textcolor(green); sum:=sum+a[i,j]; end else textcolor(0); write(a[i,j]:6); end; writeln; end; writeln; writeln('ÑóììГ* Г·ГҐГІГ*ûõ ýëåìåГ*òîâ = ',sum); end.
Найти сумму четных элементов массива
Задача Найти сумму четных элементов массива.
Поскольку в программе должна осуществляться проверка на четность элементов, элементы массива должны быть целыми числами. Количество элементов в условии задачи не указано, поэтому в программе будет введено пользователем. Сами элементы массива также заполняет пользователь.
Проверка на четность каждого элемента в цикле осуществляется путем сравнения остатка от деления на 2 (%2) с нулем. Четное число делится нацело без остатка.
Результатом выполнения программы является вывод на экран суммы четных элементов массива.
Реализация на С++
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>
using namespace std;
int main()
{
int *mas, n, sum;
sum = 0;
system(«chcp 1251»);
system(«cls»);
cout << «Введите размер массива: «;
cin >> n;
mas = new int[n];
for (int i = 0; i<n; i++)
{
cout << «mas[« << i << «]= «;
cin >> mas[i];
}
for (int i = 0; i<n; i++)
{
if (mas[i] % 2 == 0) // проверка на четность
sum += mas[i];
}
cout << «Сумма четных элементов массива равна « << sum;
cin.get(); cin.get();
return 0;
}
Результат выполнения
Назад: Задачи и их решения
Все категории
- Фотография и видеосъемка
- Знания
- Другое
- Гороскопы, магия, гадания
- Общество и политика
- Образование
- Путешествия и туризм
- Искусство и культура
- Города и страны
- Строительство и ремонт
- Работа и карьера
- Спорт
- Стиль и красота
- Юридическая консультация
- Компьютеры и интернет
- Товары и услуги
- Темы для взрослых
- Семья и дом
- Животные и растения
- Еда и кулинария
- Здоровье и медицина
- Авто и мото
- Бизнес и финансы
- Философия, непознанное
- Досуг и развлечения
- Знакомства, любовь, отношения
- Наука и техника
12
Ввести матрицу. Найти сумму четных элементов матрицы. Если она отрицательна, то
заменить элементы четных столбцов матрицы на 1, в ином случае нечетных столбцов
на -1. Матрицу распечатать
1 ответ:
0
0
Не самое лучшее решение, но вот:
const
n = 2;
k = 2;
var
i,j,s:integer;
a:array[1..n,1..k] of integer;
begin
s:=0;
for i:=1 to n do
for j:=1 to k do
begin
Writeln(‘Введите a[‘,i,’,’,j,’]:’);
readln(a[i,j]);
if a[i,j] mod 2=0 then s:=s+a[i,j];
end;
if s<0 then
for i:=1 to n do
for j:=1 to k do
if j mod 2=0 then
a[i,j]:=1;
if s>=0 then
for i:=1 to n do
for j:=1 to k do
if j mod 2=0 then
a[i,j]:=-1;
for i:=1 to n do
begin
for j:=1 to k do
write(‘a[‘:4,i,’,’,j,’]=’,a[i,j]);
writeln;
end;
<span>end.</span>
Читайте также
Чтобы закодировать 8 разных символов, для каждого символа выделяются три бита (2 в третьей степени = 8). Отсюда, 120/3=40 символов.
Ответ:
<em>import math
</em>
<em>
</em>
<em>CONST_PI = 3.14 </em>
<em>
</em>
<em>def calc_circle_area(radius):
</em>
<em> return CONST_PI * (radius ** 2)
</em>
<em>
</em>
<em>def main():
</em>
<em> r = float(input())
</em>
<em> assert r > 0
</em>
<em> assert r < 10**5 </em>
<em> assert r % math.floor(r) < 100
</em>
<em>
</em>
<em> print(round(calc_circle_area(r), 6))
</em>
<em> </em>
<em>
</em>
<em>if __name__ == ‘__main__’:
</em>
<em> main()
</em>
<em></em>
Объяснение:
Сайт ломает код, по этому прилагаю скриншот исходника. Протестировано.
// PascalABC.NET 3.3.5, сборка 1669 от 21.05.2018
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadAllText(‘A.txt’).ToIntegers;
WriteAllText(‘B.txt’,(a[0]*a[1]).ToString)
end.
Квадрат зеленый
Круг синий
Ромб белый
Треугольник красный
Var ar:array[1..5] of integer;
i:integer;
s:real;
begin;
for i:=1 to 5 do
begin;
readln(ar[i]);
s:=s+ar[i];
end;
s:=s/5;
writeln(‘Среднее арифметическое:’,s);
writeln(‘Result:’);
for i:=1 to 5 do
if ar[i]>s then write(ar[i]:4);
end.