Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 32

Доработка кода

13.06.2016, 16:08. Показов 626. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане. Необходима помощь в доработке кода.

Программа должна считать сумму положительных элементов в нечетных строках матрицы. (все считает)
Но я столкнулся с проблемой, когда все отрицательные числа написаны, то нужно вывести ошибку, что "положительных элементов нет". У меня не получается это сделать. Помогите. Заранее спасибо)))))




Delphi
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
SysUtils,Windows;
 
var
  x: array of array of integer;
  y: array of integer;
  n, m, k, i, j, s: integer;
 
begin
  SetConsoleCp( 1251 );
  SetConsoleOutputCp( 1251 );
  s:=0;
  write( 'n=' );
  readln( n );
  write( 'm=' );
  readln( m );
  setlength( x, n, m );
 
   writeln( 'Ввод элементов матрицы:' );
  for i := 0 to n - 1 do
  begin
    for j := 0 to m - 1 do
    begin
      Write( 'x[ ', i, ' ', j, ' ] = ' );
      ReadLn( x[ i, j ] );
        if x[i,j]=0 then
          inc(s);
    end;
    writeln;
  end;
 
  writeln( 'Матрица вида:' );
  for i := 0 to n - 1 do
    begin
      for j := 0 to m - 1 do
        write( x[ i, j ] : 4 );
    writeln;
    end;
 
  if s=m*n then
    begin
      writeln('Нулевая матрица');
      {sleep(5000);
      halt;}
      readln;
    end
  else
  begin
    k := 0;
    i := 0;
    while i < n do
      begin
        inc( k );
        setlength( y, k );
 
        for j := 0 to m - 1 do begin
          if x[ i,j ] < 0 then
             writeln( 'Положительных чисел нет' );
          if x[ i,j ] > 0 then
            y[ k - 1 ] := y[ k - 1 ] + x[ i, j ];
            end;
               inc( i,2 );
  end;
  writeln( 'Одномерный массив' );
  for i := 0 to k - 1 do
    write( y[ i ] : 4 );
  readln;
  end;
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2016, 16:08
Ответы с готовыми решениями:

Доработка кода: Сохранить картинку из TWebBrowser
uses UrlMon; function DownloadFile(SourceFile, DestFile: string): Boolean; begin try Result := UrlDownloadToFile(nil,...

Доработка кода
Подскажите как от сюда грамотно убрать web? Так чтобы приложение запускалось без текста и нормально отображались картинки import...

Доработка кода
Приветствую форумчане. Прошу помощи у понимающих. Имеется код, отвечающий за вывод цены в карточке товара на сайте. Прошу помочь допилить...

2
500 / 356 / 231
Регистрация: 29.03.2015
Сообщений: 675
13.06.2016, 17:32
Программа выводит: сумму положительных элементов для каждой нечётной строки и общую сумму; сообщения о том, что нет положительных элементов и о нулевой матрице.
Код:
Delphi
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
program Matrix;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
var
z:boolean;
a:array of array of integer;
n,m,i,j,k,s,r:integer;
 
procedure rus(s:string);
var
p:PChar;
begin
p:=StrAlloc(Length(s)+1);
CharToOem(PChar(s),p);
write(p);
StrDispose(p);
end;
 
procedure rusln(s:string);
begin
rus(s);
writeln;
end;
 
begin
rusln('Ввод матрицы A.');
rus('Введите количество строк n: ');
readln(n);
rus('Введите количество столбцов m: ');
readln(m);
setlength(a,n,m);
for i:=0 to n-1 do
for j:=0 to m-1 do
begin
rus('Введите элемент A[');
write(i+1,',',j+1,']: ');
ReadLn(a[i,j]);
end;
writeln;
rusln('Вывод матрицы A.');
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
write(a[i,j],' ');
writeln;
end;
writeln;
rusln('Результаты вычисления.');
z:=true;
for i:=0 to n-1 do
for j:=0 to m-1 do
if a[i,j]<>0 then
z:=false;
if z then
rusln('Нулевая матрица')
else
begin
z:=true;
s:=0;
for i:=0 to n-1 do
begin
k:=i+1;
if k mod 2=1 then
begin
r:=0;
for j:=0 to m-1 do
if a[i,j]>0 then
r:=r+a[i,j];
rus('Сумма положительных элементов в строке '+inttostr(k)+': ');
if r=0 then
rusln('положительных элементов нет.')
else
begin
writeln(r);
z:=false;
end;
s:=s+r;
end;
end;
rus('Общая сумма положительных элементов в нечетных строках матрицы A: ');
if z then
rusln('положительных элементов нет.')
else
writeln(s);
end;
readln;
end.
Прилагаю проект на Delphi.
Миниатюры
Доработка кода  
Вложения
Тип файла: zip Matrix.zip (27.2 Кб, 1 просмотров)
1
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 32
13.06.2016, 20:23  [ТС]
unifikator, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2016, 20:23
Помогаю со студенческими работами здесь

Доработка кода
Здравствуйте, господа! Мы имеем три объекта типа &lt;li&gt;, по клику на которые происходит подгрузка контента с других страницу в блок...

Доработка кода
Здравствуйте! Помогите, пожалуйста, попросить макрос (если это в его силах) поработать на выделенном участке текста. Записанный...

Доработка кода
Помогите пожалуйста доработать код. Нужно чтобы при принудительной остановке программы , а не через выход имена пользователей все равно...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru