Помощь - Поиск - Пользователи - Календарь
Полная версия: олимпиадные задачи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
лейла
1) В процессе лечебного голодания вес пациента за 30 дней снизился с 96 до 70 кг. Было установлено, что ежедневные потери веса пропорциональны весу тела. Вычислить, чему был равен вес пациента через к дней после голодания для к=1,2,3,...,29. Номер дня к вводится с клавиатуры. Вес пациента м на к день выводится на экран.
2) Даны два целых числа - а и в. Необходимо найти сумму этих чисел. Входные данные: Входной файл состоит из двух строк: в первой строке находится число а, а во торой - в.
Выходные данные: Выходной файл должен состоять из одной строки, содержащей сумму чисел а и в. Ограничения 3*10000000000<=A, B<=10(в степени 360).
3) Дана матрица размером n*n (1<=N<=1000). Найти сумму элементов, расположенных внутри двух диагоналей матрицы(т.е. если взять квадрат и провести в нем диагонали, то считать следует элементы, расположенные в верхней части до диагоналей включительно и в нижней части квадрата от диагоналей включительно. Исходная матрица записана в файле matrix.in, результат поместить в файл matrix.out.
2 тур.
1) Пусть в трехзначном числе зачеркнули старшую цифру. Когда полученное число умножили на 7, то снова получили данное число. Найдите это число, также еще одно трехзначное число, обладающее аналогичным свойством.
2) Дана последовательность, состоящая из N (1<=N<=1000000) знаков. Знаком являются буквы латинского алфавита (a,b,...z). Необходимо определить, какая из букв встречается чаще всего, и вывести ее на экран. Если таких букв несколько, вывести их все. Входные данные находятся в файле stroka.in.
3) Пусть в игру крестики-нолики играют двое на поле размером 3*3. Начинают крестики, затем ходят нолики и т.д. Игра продолжается, пока кто-нибудь не одержит победу или все клетки не будут заполнены, а ряд из одинаковых фигур так и не будет построен. Игровое поле можно рассматривать как матрицу размера 3*3, где в какой-то клетке на очередном ходе появляется цифра, обозначающая номер хода (начиная с 1 и заканчивая 9). Написанная учащимися программа должна по этой матрице определять, кто выиграл, или определить ничью. Исходные данные программа должна считывать из файла input.dat, а результат анализа игры записывать в файл output.dat, записывая x, если победили крестики, о - если нолики, d - в случае ничьей.
Задачи должны быть решены на Паскале. Бьюсь уже довольно долго, но ничего не получается.
volvo
лейла, насчет
Цитата
Даны два целых числа - а и в. Необходимо найти сумму этих чисел. Входные данные: Входной файл состоит из двух строк: в первой строке находится число а, а во торой - в.
- тебе явно сюда: Длинная арифметика

Здесь:
Цитата
3) Дана матрица размером n*n (1<=N<=1000). Найти сумму элементов, расположенных внутри двух диагоналей матрицы
не совсем ясно, что именно считать, но идея заключается в том, что нельзя читать ВЕСЬ файл в матрицу, потомы что 1000*1000 = 1 миллион, и даже при размере каждой ячейки в 1 байт это гораздо больше того, что может позволить компилятор Турбо-Паскаля...

Читаешь матрицу построчно, при переходе на след. сроку увеличиваешь счетчик строк (и сбрысываешь счетчик столбцов в 1), при чтении очередного числа - увеличиваешь счетчик столбцов... И смотришь, по этим 2-м счетчикам, попадает ли только что прочитанный элемент в область для суммирования, или нет...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.