Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/23: Рейтинг темы: голосов - 23, средняя оценка - 4.74
 Аватар для POPOV
2 / 2 / 0
Регистрация: 22.05.2007
Сообщений: 44

Из всех положительных элементов матрицы извлечь квадратный корень и округлить до ближайшего целого

03.06.2007, 13:51. Показов 4863. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень прошу, помогите с задачей:

Дана матрица A(n,n). Из всех положительных извлечь квадратный корень и округлить до ближайшего целого.

Данную задачу нужно сделать 3 способами:
1. Используя объект TStringGrid(Готовая таблица для матриц)
2. Используя объект TMemo
3. Чтение из файла

Пожалуйста, помогите хоть с каким-нибудь способом..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.06.2007, 13:51
Ответы с готовыми решениями:

Извлечь квадратный корень из элементов строк состоящих из положительных значений
Сама задача: Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит числа, разделённые пробелами....

Из положительных элементов исходного массива извлечь квадратный корень, отрицательные возвести в квадрат
program fg; var a,n:integer; mac: array of integer; begin writeln('введите n= ', n); readln(n); for i:=1 to n do mac:=a; if...

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

7
 Аватар для Delphiist
1230 / 66 / 16
Регистрация: 23.04.2007
Сообщений: 127
03.06.2007, 23:20
Массив под матрицу:

Code
1
2
var
  A: array[0..n-1,0..n-1] of Integer; {Если размер заранее неизвестен, то здесь динамический массив.}
Для загрузки матрицы:

Code
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
// 1. Загрузка из TStringGrid
  for i := 0 to n - 1 do
    for j := 0 to n - 1 do
      A[i,j] := StringGrid1.Cells[i,j];
 
// 2. Загрузка из TMemo (Разделители - пробелы)
var
  S: String;
 
...
 
  for i := 0 to n - 1 do begin
    S := Memo1.Lines.Strings[i];
    if S[Length(S)] <> ' ' then S := S + ' ';
    for j := 0 to n - 1 do begin
      A[i,j] := StrToInt( Copy(S, 1, Pos(' ', S) - 1) );
      Delete(S, 1, Pos(' ', S));
    end;
  end;
 
// 3. Загрузка из файла
var 
  f: TextFile;
 
...
 
  AssingFile(f, 'FileName.txt');
  Reset(f);
  for i := 0 to n - 1 do
    for j := 0 to n - 1 do
      if j = n - 1 then ReadLn(f, A[i,j]) else Read(f, A[i,j]);
  CloseFile(f);
Решение задачи:

Code
1
2
3
  for i := 0 to n - 1 do 
    for j := 0 to n - 1 do 
      if A[i,j] >= 0 then A[i,j] := Round( Sqrt(A[i,j]) );
Сам не пробовал, но вроде должно работать
0
 Аватар для POPOV
2 / 2 / 0
Регистрация: 22.05.2007
Сообщений: 44
04.06.2007, 17:08  [ТС]
Спасибо конечно огромное, но не мог бы помочь с 3 способом(из файла).. ?
Нифига я чёт не понимаю...

Смотри.. Объясняю подробнее задание..

У меня на форме есть объект TEdit1 для ввода имени загружаемого файла, TEdit2 для ввода размерности матрицы, ну и самое главное - кнопка "Создать"(TButton1)
Да, и ещё объект TMemo для загрузки туда информации зи файла..

Вот как нужно всё запрограмировать, чтобы матрицу из файла загружать....

Прошу помоги пожалста...
0
 Аватар для Delphiist
1230 / 66 / 16
Регистрация: 23.04.2007
Сообщений: 127
04.06.2007, 21:56
При нажатии на Button1 происходит загрузка матрицы из файла, ее решение, и вывод в TMemo

Code
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
procedure TForm1.Button1Click(Sender: TObject);
var
  f: TextFile; // Переменная для работы с файлом
  i,j,n: Integer;
  X: Integer; // Для загрузки элемента матрицы
  S: String; 
begin
  AssignFile(f, Edit1.Text); // Связываем файловую переменную с файлом
  Reset(f); // Открываем файл
 
  n := StrToInt(Edit2.Text); // Размерность матрицы, загружаемой из файла
  Memo1.Clear; // Очищаем Memo
 
  for i := 0 to n - 1 do begin
    S := '';
    for j := 0 to n - 1 do begin
      Read(f, X); // Загружаем элемент строки матрицы из файла
      if X >= 0 then X := Round( Sqrt(X) ); // Вычисляем
      S := S + IntToStr(X) + ' '; // Записываем через пробел (составляем строку матрицы)
    end;
    Memo1.Lines.Add(S); // Добавляем строку матрицы в Memo
  end;
 
  CloseFile(f); // Закрываем файл
end;
0
 Аватар для POPOV
2 / 2 / 0
Регистрация: 22.05.2007
Сообщений: 44
05.06.2007, 00:48  [ТС]
УРААААА)))
Супер! Спасибо, огромное дружище... Ты не представляешь, как помог мне...
Спасибо что убил на меня драгоценное время...
До встречи
0
 Аватар для Delphiist
1230 / 66 / 16
Регистрация: 23.04.2007
Сообщений: 127
05.06.2007, 22:35
Пожалуйста. Обращайся еще, чем смогу помогу.
0
SerzHSanycH
19.11.2008, 09:05
Помогите сделать программу в Delphi 7.
Условие-"Решение задач матречным методом"
Если есть у кого дайте плиз очень надо)))
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.11.2008, 09:46
"Решение задач матречным методом"
Сам понял, что написал? Каких задач? По астрономии?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2008, 09:46
Помогаю со студенческими работами здесь

Из положительных элементов извлечь квадратный корень, отрицательные возвести в квадрат, нулевые заменить на число В
Задан массив, состоящий из 10 элементов. Из положительных элементов извлечь квадратный корень, отрицательные возвести в квадрат, нулевые...

Из положительных элементов исходного массива извлечь квадратный корень, отрицательные элементы возвести в квадрат
Из положительных элементов исходного массива извлечь квадратный корень, отрицательные элементы возвести в квадрат; как это сделать??

Из положительных элементов исходного массива извлечь квадратный корень, отрицательные элементы возвести в квадрат
Проблема такова, есть 40 заданий, для таких людей как вы я уверен это оооочень легко, вы же варитесь в этом 24 часа в сутки) Посмотрите...

Ввести два массива, содержащих соответственно 6 и 7 компонентов. Извлечь квадратный корень из положительных элементов массивов. Операции ввода-вывода
Задание: Ввести два массива, содержащих соответственно 6 и 7 компонентов. Извлечь квадратный корень из положительных элементов массивов....

Найти квадратный корень из суммы всех положительных элементов двухмерного массива
помогите очень-очень решить две задачки по массивам 1.Вычислить сумму элементов, больше, чем середнеарифметичне значение всех...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru