Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 15.10.2019, 11:43   #1 (permalink)
Gasphord
Новичок
 
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Даны натуральные числа K, N. Вещественные числа a1,a2...akn

Помогите написать такой код.
Миниатюры
img_20191015_094101.jpg  
Gasphord вне форума   Ответить с цитированием

Старый 15.10.2019, 11:43
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Моя задача - дать вам знать о том, что на форуме есть похожие посты

Даны три положительных вещественных числа x, y, z
Паскаль.Даны 2 целых числа. Есть ли у них одинаковые(по значению) разряды?
Даны целые числа K и L
В двоичном представлении числа инвертировать две последние цифры числа
Даны три вещественных числа...

Старый 15.10.2019, 14:34   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Gasphord Посмотреть сообщение
Помогите написать такой код.
Задачка абсолютно детская, примитивная, а потому можем только помочь отладить Ваше решение, когда оно будет выложено. Никаких "вы пишите — я скатаю" не будет.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.10.2019, 20:04   #3 (permalink)
Gasphord
Новичок
 
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Задачка абсолютно детская, примитивная, а потому можем только помочь отладить Ваше решение, когда оно будет выложено. Никаких "вы пишите — я скатаю" не будет.
Код:
uses
  System.SysUtils,
  Windows;

Var
  n,k,i,x :integer;
  max1,max2,max3,a :real;

Begin
 Readln(k,n,max1);

    for i:=2 to k do
    begin
    readln(max1);
    if a>max1 then max1:=a;
    end;

  readln(max2);
  for i:=k+2 to 2*k do
     begin
     readln(a);
     if a>max2  then max2:=a;
     end;
x:=2*k;
while x<=k*(n-1)+1 do
begin
 read(a);
x:=x+1;
end;
max3:=a;
for i:= x to k*n do
  begin
  read(a);
  if a>max3 then max3:=a;
  end;
  Writeln(max1,max2,max3);
  readln;
end.
Gasphord вне форума   Ответить с цитированием
Старый 16.10.2019, 12:18   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Так, понятно.
Очень нездорово.
Явно бездумная компиляция из чего-то.
Ладно, давайте разберём задачку.
Итак, у нас есть последовательность вещественных чисел, которая может быть разбита на n "звеньев" по k элементов в каждом. Вот и давайте, прежде всего, зададим эти самые n и k, причем лучше в виде констант — так проще будет задать массивы.
Далее описываем переменные.
Вводим два массива: нашу последовательность длиной kn и искомую последовательность максимумов длиной n. Кроме того, зададим переменные циклов i и j.
Можно, конечно, вводить последовательность с клавиатуры, но проще и быстрее воспользоваться генератором случайных чисел, причём следует использовать команду Random без параметров, поскольку последовательность по условиям задачи вещественная, а не целая. Результат выводим на экран.
Дальше обычным образом ищем максимумы "звеньев" и их тоже выводим.
Программа и результат представлены ниже. Сразу оговорюсь: у меня обычный Turbo (Free) Pascal, у Вас же, похоже, ABC. За неумелки последнего — не отвечаю. Извините.
Код:
Const
 n=4;
 k=3;

Var
 A:Array[1..n*k] of Real;
 Max:Array[1..n] of Real;
 i,j:Integer;

Begin
 Randomize;
 Writeln('Initial array:');
 for i:=1 to n*k do
  begin
   A[i]:=Random*99;
   Write(A[i]:8:3);
  end;
 Writeln;
 Writeln;
 Writeln('Maximal values in ',k,'-component groups:');
 for i:=1 to n do Max[i]:=0;
 for i:=1 to n do
  for j:=1 to k do
   if A[j+k*(i-1)]>Max[i] then Max[i]:=A[j+k*(i-1)];
 for i:=1 to n do Write(Max[i]:8:3);
 Readln
End.
Миниатюры
aaa01.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 16.10.2019, 12:37   #5 (permalink)
Gasphord
Новичок
 
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огромное за объяснение, очень сильно помогли. Попробую сделать сам,без массивов. Еще раз спасибо.
Не могли вы бы посоветовать какую-нибудь литературу, пособия и тд, для новичка ("программирую" на делфи 10)
Только начал и хочу научиться хотя бы азам написания кода.
Gasphord вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 16.10.2019, 12:53   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Gasphord Посмотреть сообщение
Не могли вы бы посоветовать какую-нибудь литературу, пособия и тд, для новичка ("программирую" на делфи 10) Только начал и хочу научиться хотя бы азам написания кода.
На все подобные вопросы отвечаю одинаково: начните с любых пособий-справочников, благо их в Сети полнО, а дальше — главное: практика, практика и ещё раз практика!
Цитата:
Сообщение от Gasphord Посмотреть сообщение
Попробую сделать сам,без массивов.
Массивы-то чем Вам не угодили?
Vladimir_S вне форума   Ответить с цитированием
Старый 16.10.2019, 13:04   #7 (permalink)
Gasphord
Новичок
 
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
На все подобные вопросы отвечаю одинаково: начните с любых пособий-справочников, благо их в Сети полнО, а дальше — главное: практика, практика и ещё раз практика!Массивы-то чем Вам не угодили?
Просто я совершенно не умею работать с массивами, и хочу попытаться решить эту задачу без массивов.Спасибо за совет. И еще вопрос, сколько лет вы уже занимаетесь программированием, я так понял что уже больше 11 лет?
Gasphord вне форума   Ответить с цитированием
Старый 16.10.2019, 14:01   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Gasphord Посмотреть сообщение
Просто я совершенно не умею работать с массивами, и хочу попытаться решить эту задачу без массивов.
Решение неверное: тупиковый путь в никуда. Не умеете работать с массивами? Так учитесь, черт побери, с ними работать, тем более, что ничего сложного в этом нет. А если завтра Вам понадобится работать, скажем, с файлами, то тоже скажете — не умею, попытаюсь обойтись без них? Нет, так нельзя.
Цитата:
Сообщение от Gasphord Посмотреть сообщение
Спасибо за совет.
Да не за что...
Цитата:
Сообщение от Gasphord Посмотреть сообщение
И еще вопрос, сколько лет вы уже занимаетесь программированием, я так понял что уже больше 11 лет?
"Уже больше" 41 года.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:22.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.