5 / 5 / 1
Регистрация: 13.09.2009
Сообщений: 225

Составить программу для обработки многомерных массивов с использованием циклов.

01.04.2010, 15:09. Показов 1405. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу для обработки многомерных массивов с использованием циклов:
Дана цело-численная квадратная матрица. Определить: а) сумму элементов в тех столбцах, которые не содержат отрицательных элементов, б) минимум среди сумм модулей элементов Диагоналей, параллельных побочной Диагонали матрицы.

Задание сделать эту программу на С++ и на Паскале.

Вот есть листинг этой программы на С++:

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 <stdio.h>
#include <math.h>
#define N 3
void main()
{
int A[N][N];
int i, j, z, sum, min;
 
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d",&A[i][j]);
 
for (j = 0; j < N; j++)
{
sum = 0;
for (i = 0; i < N; i++) 
{
if(A[i][j] >= 0 )
sum += A[i][j];
else
break;
}
if ( i == N) printf(" %d Suma elementov v stolbce = %d\n",j,sum);
}
sum = 0;
 
for(j = N-2; j > 0; j--,sum = 0)
{
for(i = N-1,z = j; z < N; i--,z++)
sum += abs(A[i][z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
 
for(j = N-2; j > 0  ; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(A[i][z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
}

А вот на Паскале не могу написать это же. Помогите решить. Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2010, 15:09
Ответы с готовыми решениями:

Программирование алгоритмов обработки многомерных массивов
В массиве А(N;N) включить столбец номердва с числом 0. Вывести новый и старый массив. Заранее спасибо!

программирование алгоритмов обработки многомерных массивов
в заданном массиве A(N;N) определить сумму элементов в каждом столбце .сформируйте одномерный массив.содержащий полученные суммы,...

Составить программу с использованием рекурсивной функции для сравнения двух одномерных массивов.
Составить программу с использованием рекурсивной функции для сравнения двух одномерных массивов.

4
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.04.2010, 15:55
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
45
46
47
48
49
50
51
52
53
54
55
uses crt;
var n,i,j,l,sum,min:integer;
    a:array[1..20,1..20]of integer;
begin
clrscr;
write('n=');readln(n);
randomize;
Writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20)-2;
    write(a[i,j]:4);
   end;
  writeln;
 end;
sum:=0;
for j:=1 to n do
 begin
  l:=0;
  for i:=1 to n do
  if a[i,j]<0 then
   begin
    l:=1;
    break;
   end;
  if l=0 then for i:=1 to n do
  sum:=sum+a[i,j];
 end;
writeln('Сумма в столбцах, не содержащих отрицательных элементов=',sum);
min:=abs(a[1,1]);
For l:=1 to 2*n-1 do{количество диагоналей}
  begin
    sum:=0;
    if l<=n then{выше диагонали и она}
      begin
       for i:=1 to l do
       for j:=1 to l do
       if j=l-i+1 then sum:=sum+abs(a[i,j]);
       if sum<min then min:=sum;
      end
    else if l>n then{ниже диагонали}
      begin
       for i:=l-n+1 to n do
       for j:=l-n+1 to n do
       if j=l-i+1 then sum:=sum+abs(a[i,j]);
       if sum<min then min:=sum;
      end;
  writeln('Сумма модулей диагонали ',l,' = ',sum);
 end;
writeln;
write('Минимальная сумма=',min);
readln
end.
1
5 / 5 / 1
Регистрация: 13.09.2009
Сообщений: 225
01.04.2010, 16:09  [ТС]
Очень большое спасибо, но мне необходимо чтоб считало не сумму всех элеменнтов столбиков без 0, а каждый столбик отдельно. Напирмер в 1 и 3 толбике нет 0, а в 2 столбике есть. и чтоб писалонапример)
сумма елементов в столбце = 24
сумма елементов в столбце = 18
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.04.2010, 16:14
Я вам поражаюсь. Сели на шею и ноги свесили. А самому одну строку дописать и одну убрать, влом?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
for j:=1 to n do
 begin
  l:=0;
  for i:=1 to n do
  if a[i,j]<0 then
   begin
    l:=1;
    break;
   end;
  if l=0 then for i:=1 to n do
  sum:=sum+a[i,j];
  writeln('Сумма в столбце ',j,'=',sum);
 end;
Это убрать
Pascal
1
writeln('Сумма в столбцах, не содержащих отрицательных элементов=',sum);
1
5 / 5 / 1
Регистрация: 13.09.2009
Сообщений: 225
01.04.2010, 20:34  [ТС]
Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2010, 20:34
Помогаю со студенческими работами здесь

Составить программу с использованием динамических массивов
Дана целочисленная прямоугольная матрица. Определить: количество строк, содержащих хотя бы один нулевой элемент и номер столбца, в которой...

Составить программу с использованием формальных массивов в процедурах
Составить программу, исходными данными которой является матрица А из n строк и n столбцов, либо два массива В1, В2,...,Вn; C1, C2,..., Cm,...

Составить программу для обработки информации о кадрах предприятия
нужно Составить программу для обработки информации о кадрах предприятия. Один элемент информации содержит следующие поля: фамилия, имя,...

Составить программу для ввода двухмерных массивов А и В
помогите плиз:wall: Составить программу для ввода двухмерных массивов А и В размерностью 4х5 , А=(Akn); b=(Bkn); k:=1,2,3,4;...

Составить программу для вычисления w с использованием функций
Помогите решить пожалуйста. 1)Составить программу для вычисления w с использованием функций. 2)По этому условию составить программу с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru