Кому порешать задачи - пишите сюда

Olena

New Member
Язык С++
Задача: Масив Х(х1;х2;..хn) не имеет нулевых елементов. Найти найменьшое за модулем отношение между соседними елементами.результат вывести на екран.
Помогите пожалуйста!!!!
 

Пух

كنت بلهاء
Модератор
Язык С++
Задача: Масив Х(х1;х2;..хn) не имеет нулевых елементов. Найти найменьшое за модулем отношение между соседними елементами.результат вывести на екран.
Помогите пожалуйста!!!!
Код:
#include <stdio.h>
#include <math.h>
#define n 10

int main(){
  int i;
  float x[n], min=32000;
 for (i = 0; i < n; i++)
  scanf("%f",&x[i]);
 for (i = 0; i < n-1; i++){
   if ( abs(x[i] / x[i+1]) < min)
    min=abs(x[i]  / x[i+1]);
 }
 printf("min=%f",min);
}
Примерно так. Писал прямо тут, могут быть опечатки.
 
Останнє редагування:

Olena

New Member
Язык С++
Задан масив В (b1; b2; .. bn). В первой его половине найти суму положительных чисел, во второй - суму отрицацельных чисел.Результат вывести на екран.
 

Storm_10

Member
всем привет, нужна помощь в решение такой задачи в Паскале: пользователь вводит текст с пробелами и нужно чтобы программа текст скопировала и написала до 1 пробела.

За раннее спасибо !
 

nuHrBuH

один
Так?
uses crt;
var s,s1:string[50];
n,i,k:byte;
begin
writeln('Введите строку:'); readln(s);
n:=ord(s[0]);
for i:=1 to n do
if s=' ' then
begin
s1:=copy(s,1,i-1);
break;
end;
writeln(s1);
end.
 

Storm_10

Member
Так?
uses crt;
var s,s1:string[50];
n,i,k:byte;
begin
writeln('Введите строку:'); readln(s);
n:=ord(s[0]);
for i:=1 to n do
if s=' ' then
begin
s1:=copy(s,1,i-1);
break;
end;
writeln(s1);
end.

:Dспс, не думал что тут так легко, ещё задачка есть сложнее =(, тоже надо помощь:
Символ — в HTML-документе представляют длинное тире, которое при просмотре страницы выглядит гораздо лучше обычного "-" . Поэтому используют именно его. Дана строка содержащая последовательности символов "-". Заменить их на последовательность символов "—"

 
Останнє редагування:

nuHrBuH

один
:)
uses wincrt;
var
s1,s:string[50];
l,i:byte;
begin
writeln('Введите строку:');readln(s);
s1:='-';
l:=ord(s[0]);
for i:=l downto 1 do
if s='-' then
insert(s1,s,i);
writeln(s);
end.
 

dreamer

Member
алгоритм понятен, конечно (хотя мне кажется указатель последнего элемента одного списка направить на начальный второго более ресурсноэкономно). проблема именно в реализации для классов, ведь linklist l1,l2, например, это не списки. возможно, я не так формулирую, но понять как реализовать объединение для конкретного случая без понятия
Если просто сцеплять узлы, то получатся зависимые структуры: изменение любого из сцепленных списков приведет к изменению результирующего большого списка. Не думаю, что это нормальное, удобное и очевидное поведение.
А чем вас смущают классы? У вас есть методы чтения элементов и добавления элементов в конец, это все что вам нужно будь то списки, массивы, таблицы, деревья или какие-нибудь другие структуры.
 

Storm_10

Member
нужна помощь в задаче со строками в паскале, нужно чтобы 1 букву слова переставляло в конец слова, ну и вывело на экран этот текст, ввод слов заканчивается точкой
лучше

uses crt;
label 1;
var max,s,s1:string;
m,k,n,i:integer;
begin
clrscr;
writeln ('-=* Vvedite slova 4erez probel, obezatelno zakon4iv to4koi *=-');
readln (s);
n:=length(s);
m:=0;
max:='';
while i<n do begin
s1:='';
while (s<>' ') and (s<>'.') do begin
s1:=s1+s;
i:=i+1;
end;
k:=length(s1);
if k>m then begin
m:=k;
max:=s1; end;
i:=i+1;
if s[n]<>'.' then begin writeln ('-=* nety tochki *=-'); goto 1 end;
end;
writeln ('-=* camoe dlinnoe slovo ',max,' *=-');
1:readkey;
end.

You must be registered for see images


сейчас вот так сделал, но мне такой вариант не очень нравиться.
uses crt;
label 1;
var s,s1,s2,s3:string;
k,d,n,i:integer;
begin
clrscr;
1:writeln ('Vvedite slova 4erez probel, obezatelno na4av probelom i zakon4iv to4koi');
readln (s);
n:=length(s);
s2:='';
while i<n do begin
s1:='';
while (s<>' ') and (s<>'.') do begin
s1:=s1+s;
i:=i+1;
end;
k:=length(s1);
s2:=s2+copy(s1,2,k)+copy(s1,1,1)+' ';
i:=i+1;
if (s[n]<>'.') and (s[1]<>' ') then begin
writeln ('--------------');
writeln (' nety tochki i probela v na4ale'); goto 1 end;
end;
d:=length(s2);
s3:=copy(s2,2,d-1);
writeln (s3);
readkey;
end.
 

Вкладення

  • 29.1 КБ Перегляди: 281
Останнє редагування:

KoLoB

KoLoB.cz
нужна помощь в задаче со строками в паскале, нужно чтобы 1 букву слова переставляло в конец слова, ну и вывело на экран этот текст, ввод слов заканчивается точкой
А переменную i до цикла разве не нужно инициализировать? Видимо от того символ и получается.
 
Зверху