Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2008, 15:56   #1
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию Помогите решить задачи девушке!

Пожалуйста! Срочно надо! До 06.01.2008г до вечера надо решить эти задачи!
на строки: форматирование
дан текст, состоящий из предложений разделимых точками. напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоят хотя бы один пробел, первое слово в предложении должно начинаться с прописной буквы. Замечание: текст должен быть как на русском, так и на английском языке
одномерный массив:
• задана последовательность из N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами.
• дан целочисленный массив A[n], среди элементов есть одинаковые. создать массив из различных элементов A[n].
двумерный массив:
расположить столбцы матрицы D[M,N] в порядке возрастания элементов k-ой строки (1<=k<=M).
подпрограммы:
найти все натуральные числа, не превосходящие данного n, которые делятся на каждую из своих цифр
целочисленная арифметика:
• Дано натуральное k. напечатать k-ю цифру последовательности 12345678910111213..., в которой выписаны поряд все натуральные числа.
Lapyle4ek вне форума Ответить с цитированием
Старый 05.01.2008, 16:20   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Одномерный массив(1):
Код:
program mas;
const n=1000;
var
  m: array[1..n]of real;
  s: real;
  i: integer;
  
function prostoe(x:integer):boolean;
var
  k: integer;
begin
  result:=true;
  for k:=2 to round(x/2) do
    if x mod k=0 then
    begin
      result:=false;
      break;
    end;
end;

begin
  cls;
  for i:=1 to n do
    m[i]:=random(10000)/(1+random(10000));
  s:=0;
  for i:=1 to n do
    if prostoe(i) then
      s:=s+m[i];
  writeln(s);
end.
Писал на Паскале.
Kostia вне форума Ответить с цитированием
Старый 05.01.2008, 16:34   #3
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

Спасибо большое! А можно её решить без функций?
Lapyle4ek вне форума Ответить с цитированием
Старый 05.01.2008, 16:38   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
Восклицание

Код:
program mas;   
const n=1000;   
var   
  m: array[1..n]of real;   
  s: real;   
  x: integer;    
  k: integer;  
  prostoe: boolean;   
  
begin   
  cls;   
  for x:=1 to n do   
    m[x]:=random(10000)/(1+random(10000));   
  s:=0;   
  for x:=1 to n do 
  begin
     prostoe:= true;   
     for k:=2 to round(x/2) do   
     if x mod k=0 then   
     begin   
       prostoe:=false;   
       break   
     end;   
     if prostoe then   
       s:=s+m[x];
  end;   
  writeln(s);   
end.
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 05.01.2008, 16:44   #5
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

Спасибо! А что такое
begin
cls;???
Lapyle4ek вне форума Ответить с цитированием
Старый 05.01.2008, 16:51   #6
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

cls чистит экран(можно стереть)

Одномерный массив(2):

Код:
program mas;
const n=50;
var
  m: array[1..n]of real;
  i,k: integer;
  t: boolean;
begin
  for i:=1 to n do
  begin
    m[i]:=random(n);
    write(m[i],' ');
  end;
  for i:=1 to n do
    repeat
      t:=false;
      for k:=1 to n do
        if (m[i]=m[k])and(k<>i) then
        begin
          t:=false;
          m[i]:=random(n);
          break;
        end
        else
          t:=true;
    until t;
  writeln(' ');
  for i:=1 to n do
    write(m[i],' ');
end.
Kostia вне форума Ответить с цитированием
Старый 05.01.2008, 20:54   #7
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

буду сильно благодарна если решите еще задачки!
Lapyle4ek вне форума Ответить с цитированием
Старый 05.01.2008, 22:24   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
на строки: форматирование
дан текст, состоящий из предложений разделимых точками. напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоят хотя бы один пробел, первое слово в предложении должно начинаться с прописной буквы. Замечание: текст должен быть как на русском, так и на английском языке
Код:
var s:string;
    i:integer;
begin
clrscr;
Write('Text:');readln(s);
for i:=length(s) downto 1 do
    begin
      if (s[i]='.')and (s[i+1]<>' ')and (i<length(s)) then
      insert(' ',s,i+1);
    end;
for i:=length(s) downto 1 do
    begin
      if (i=1)or (s[i-2]='.')then
        case s[i] of
        'a'..'z':s[i]:=UpCase(s[i]);
        'а'..'п':dec(s[i],32);
        'р'..'я':dec(s[i],80);
             'ё':s[i]:='Ё';
        end;
    end;
write(s);readln;
end.
Что-то поторопился и не совсем правильно написал. Хотел уточнить: между предложениями может быть сколько угодно пробелов или один?
Еще раз поправил. Сейчас нормально работает если при вводе текста между предложениями нет пробела или один пробел.

Последний раз редактировалось puporev; 05.01.2008 в 23:29.
puporev вне форума Ответить с цитированием
Старый 05.01.2008, 23:33   #9
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

По идее должен быть один пробел. Как обычное предложение
Lapyle4ek вне форума Ответить с цитированием
Старый 05.01.2008, 23:35   #10
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

А еще, её можно переписать в делфи?
Lapyle4ek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачи proq Паскаль, Turbo Pascal, PascalABC.NET 2 17.07.2008 22:14
Помогите решить 3 задачи VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 16 12.05.2008 22:04
Помогите решить задачи в C++ marsius Помощь студентам 4 18.04.2008 23:33
Помогите решить задачи Andyst Помощь студентам 3 25.12.2007 15:14