Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите пожалуйста с четырьмя задачками (http://www.tehnari.ru/f41/t59783/)

Alena O. 15.11.2011 00:49

Помогите пожалуйста с четырьмя задачками
 
Задачи решаются в Паскале или Делфи.

1. Дан двухмерный массив, содержащий 5 строк и 3 столбца. Элементами массива являются вещественные числа. Упорядочить массив по не убыванию элементов первой строки.

2. Дана последовательность слов. Напечатать все слова, предварительно выполнив преобразования их по правилу:
а) заменить во всех словах первую букву заглавной;
б) в словах наибольшей длины удалить среднюю (средние) букву;
в) заменить в каждом слове первую встреченную букву «а» на «о».

3. Создать файл, содержащий сведения об ассортименте игрушек в магазине. Структура записи: название игрушки, цена, количество, возрастные границы, например, 2-5, т.е. от 2 до 5 лет. Количество записей – произвольное. Написать программу, в результате выполнения которой выдаются следующие сведения:
а) название игрушек, которые подходят детям от 1 до 3 лет;
б) стоимость самой дорогой игрушки и ее наименование;
в) название игрушки, которая по стоимости не превышает x руб. и подходит ребенку в возрасте от а до b лет. Значения x, a, b ввести с терминала.

4. В интервале от 1 до N найти все числа M такие, что M нацело делится на M1, где M1 – число M, записанное в обратном порядке.

Заранее благодарна!

Vladimir_S 15.11.2011 15:24

Цитата:

Сообщение от Alena O. (Сообщение 617744)
1. Дан двухмерный массив, содержащий 5 строк и 3 столбца. Элементами массива являются вещественные числа. Упорядочить массив по не убыванию элементов первой строки.

Если под "упорядочением" понимается перестановка столбцов, то так:
Код:

CONST
 M=5;
 N=3;
TYPE
 Vector=Array[1..M] of Real;
VAR
 A:Array[1..N] of Vector;
 D_A:Vector;
 i,j,k:integer;
BEGIN
 Randomize;
 Writeln('Initial array:');
 For i:=1 to M do
  begin
  For j:=1 to N do
    begin
    A[j][i]:=Random*100-50;
    write(A[j][i]:8:3);
    end;
  Writeln;
  end;
 writeln;
 Writeln('Ordered array:');
 For j:=1 to N do
  For k:=1 to N-j do
  if A[k,1]>A[k+1,1] then
    begin
    D_A:=A[k];
    A[k]:=A[k+1];
    A[k+1]:=D_A;
    end;
 For i:=1 to M do
  begin
  For j:=1 to N do
    write(A[j][i]:8:3);
  Writeln;
  end;
 Readln
END.


Vladimir_S 15.11.2011 15:46

Цитата:

Сообщение от Alena O. (Сообщение 617744)
4. В интервале от 1 до N найти все числа M такие, что M нацело делится на M1, где M1 – число M, записанное в обратном порядке.

Код:

VAR
 N,M,M1:LongInt;

Function Rev(M:LongInt):LongInt;
var
 S,S1:String;
 i:Byte;
 Code:Integer;
begin;
 STR(M,S);
 S1:=S;
 for i:=1 to length(S) do
  S1[i]:=S[length(S)-i+1];
 VAL(S1,Rev,Code);
end;

BEGIN
 Write('N= ');
 ReadLn(N);
 For M:=1 to N do
  begin
  M1:=Rev(M);
  If (M mod M1)=0 then write(M:8);
  end;
 Writeln;
 Writeln('Calculation complete');
 Readln
END.


Vladimir_S 15.11.2011 15:49

А что до заданий 2 и 3, то ими заниматься, извините, не буду: с 2 слишком много возни, на которую просто нет времени, а по 3 поищите: у нас была разобрана целая куча задач на работу с базами данных на основе записей - там ничего сложного, просто много опять же нудной черновой работы и писанины, а решаются все эти задачки одинаково.

Alena O. 15.11.2011 20:21

Спасибо большое!


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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.