Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 2
Регистрация: 01.10.2013
Сообщений: 57

Исправить ошибки в задаче на массив

23.01.2014, 20:11. Показов 851. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот задание: Дан двумерный массив a, размером (nхm). Найти минимальный элемент и его номер в каждой строке матрицы. Затем из каждого элемента каждой строки вычесть номер минимального элемента строки.

Учитель сказал что ошибка в этом:
Pascal
1
min:=1;
В этом
Pascal
1
2
k:=min;
a[i,j]:=a[i,j]-k;
- сказала мол это("k") не номер min.

вот мое решение:
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
program e6;
uses CRT;
const n=4; m=5;
var a:array [1..n,1..m] of integer;
    i,j,i1,j1:integer;
    min,k:integer;
begin
  randomize;
  for i:=1 to n do
  begin
  min:=1;
  for j:=1 to m do
   begin
     a[i,j]:=random(15)-3;
     write(a[i,j]:4);
      if a[i,j]<min then
      begin
      min:=a[i,j]; i1:=i; j1:=j;
      end;
   end;
   write(' min=',min,' строка=',i1,'столбец=',j1);
   writeln;
   k:=min;
   end;
   for i:=1 to n do
   for j:=1 to m do
   begin
   a[i,j]:=a[i,j]-k;
   write(a[i,j], ' ');
   end;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2014, 20:11
Ответы с готовыми решениями:

Не могу исправить ошибки в задаче
Задание(В квадратичной матрице 5*5 построить вектор,содержащий положительные элементы матрицы) program p1; uses crt; type ...

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как)
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void main() { int xa, ya, xb, yb; cprintf(&quot;vvod xa, ya, xb, yb&quot;); ...

массив:выдает ошибки не могу исправить
#include &lt;iostream&gt; #include &quot;stdafx.h&quot; #include&quot;math.h&quot; using namespace std; int main() { srand(time(0)); const int N = 3, M...

8
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
23.01.2014, 20:18
11 строка:
Pascal
1
min := 100;
Добавлено через 2 минуты
то есть, смысл... если собираемся искать минимум, то изначально нужно значению min присвоить значение заведомо большее чем самое большое из тех, что по условию... Поэтому при первой же проверке это значение в строке 18 заменится на текущее минимальное... и так далее...

Добавлено через 1 минуту
у нас тут числа получаются так... каждое число есть случайное от [0..14] - 3
1
1 / 1 / 2
Регистрация: 01.10.2013
Сообщений: 57
23.01.2014, 20:24  [ТС]
Цитата Сообщение от ildwine Посмотреть сообщение
11 строка:
Pascal
1
min := 100;
Добавлено через 2 минуты
то есть, смысл... если собираемся искать минимум, то изначально нужно значению min присвоить значение заведомо большее чем самое большое из тех, что по условию... Поэтому при первой же проверке это значение в строке 18 заменится на текущее минимальное... и так далее...

Добавлено через 1 минуту
у нас тут числа получаются так... каждое число есть случайное от [0..14] - 3
и все ошибка тока в этом?

а как же, то что она выделила "k" и написала что это не номер min?
0
1 / 1 / 2
Регистрация: 01.10.2013
Сообщений: 57
23.01.2014, 20:52  [ТС]
Слушай, он не так считает, он должен считать минимальный элемент и его номер в каждой строке матрицы, Затем из каждого элемента каждой строки вычесть номер минимального элемента строки.

а считает номер минимального элемента в каждой строке, а вычитает из каждого элемента минимальный элемент последней строки. если не понял о чем я, вот пример тестовый
Миниатюры
Исправить ошибки в задаче на массив  
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
23.01.2014, 20:57
maks_rnd, всё правильно...
i1 = номер строки минимального элемента,
j1 = столбец мин. элемента...
k = сам этот элемент...

Добавлено через 1 минуту
Цитата Сообщение от maks_rnd Посмотреть сообщение
Слушай, он не так считает, он должен считать минимальный элемент и его номер в каждой строке матрицы
Сегодня убегаю, если смогу буду разбираться только завтра...
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
24.01.2014, 02:39
maks_rnd, а если вот так сделать:
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
program e6;
 
uses CRT;
 
const
  n = 4; m = 5;
 
var
  a: array [1..n, 1..m] of integer;
  i, j: integer;
  min: integer;
 
begin
  randomize;
  for i := 1 to n do
  begin
    min := 1; // пускай теперь только попробует сказать, что это не индекс минимума
    for j := 1 to m do
    begin
      a[i, j] := random(15) - 3;
      write(a[i, j]:4);
      if a[i, j] < a[i, min] then
      begin
        min := j;
      end;
    end;
    
    write(' (min = ', a[i, min]:4, ' строка = ', i:2, ' столбец = ', min:2, ')');
    writeln;
    
    for j := 1 to m do
      a[i, j] := a[i, j] - min;
  end;
  writeln;
  
  for i := 1 to n do
  begin
    for j := 1 to m do
      write(a[i, j]:4);
    writeln;
  end;
end.
?
1
1 / 1 / 2
Регистрация: 01.10.2013
Сообщений: 57
24.01.2014, 03:53  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
maks_rnd, а если вот так сделать:
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
program e6;
 
uses CRT;
 
const
  n = 4; m = 5;
 
var
  a: array [1..n, 1..m] of integer;
  i, j: integer;
  min: integer;
 
begin
  randomize;
  for i := 1 to n do
  begin
    min := 1; // пускай теперь только попробует сказать, что это не индекс минимума
    for j := 1 to m do
    begin
      a[i, j] := random(15) - 3;
      write(a[i, j]:4);
      if a[i, j] < a[i, min] then
      begin
        min := j;
      end;
    end;
    
    write(' (min = ', a[i, min]:4, ' строка = ', i:2, ' столбец = ', min:2, ')');
    writeln;
    
    for j := 1 to m do
      a[i, j] := a[i, j] - min;
  end;
  writeln;
  
  for i := 1 to n do
  begin
    for j := 1 to m do
      write(a[i, j]:4);
    writeln;
  end;
end.
?
Спасибо за помощь))) смотри, я думаю что правильно, но когда показывает решение не все данные сходятся, то другие числа вычитаются и каждого элемента, то вообще нет)
Миниатюры
Исправить ошибки в задаче на массив  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
24.01.2014, 04:34
Какие же "другие"? Из каждого элемента строки вычитается индекс минимального (в этой строке) элемента, везде все совпадает... Где ты видишь несоответствия?
1
1 / 1 / 2
Регистрация: 01.10.2013
Сообщений: 57
24.01.2014, 04:40  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Какие же "другие"? Из каждого элемента строки вычитается индекс минимального (в этой строке) элемента, везде все совпадает... Где ты видишь несоответствия?
тю, ой все, спасибо большое))) я просто условие не так понял))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.01.2014, 04:40
Помогаю со студенческими работами здесь

Преобразование из int в массив. Исправить ошибки
Здравствуйте. Задача:напишите программу преобразования значений переменной типа int,вводимого из стандартного потока, в массив из 12...

Решение системы, запись решения в массив (исправить ошибки)
Есть исходный код программы, которая строит прямые, заданные неявно в окрестности особой точки. Но в ней допущены синтаксические ошибки. Я...

Добавление строки в двумерный динамический массив (исправить ошибки)
Выкладываю лаб. Помогите исправить ошибки в функции с добавлением строки в двумерный динамический массив , уже противно смотреть эту на...

Дан массив чисел. Упорядочить его по возрастанию. Исправить ошибки программы
ПОЯСНЕНИЯ: Введём понятия неправильной пары. Пусть пара рядом стоящих элементов массива называется неправильной, если первый элемент пары...

Переписать в массив Y элементы массива X c нечетными номерами, исправить ошибки в коде
Здравствуйте. Из целочисленного массива X(N), N≤20, сгенерированного случайным образом, пере-писать в массив Y элементы массива X c...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru