Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Четыре задачи начального уровня

Ответить
Настройки темы
C/C++ - [решено] Четыре задачи начального уровня

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Мусик
Дата: 06-11-2008
мне нужно решить задачи в Pascal
1)найти f(х)
1. х^2 если х кратно 3
2.х, если при делении на 3 остаток 1
3.х/3
2)Найти наибольший общий делитель.
3)Напечатать строку из к случайных символов
4) Стороны прямоугольника заданы натуральными числами м и к. Составить программу, которая находит на сколько квадратов можно разделить данный прямоугольник, если от него каждый раз отрезается квадрат мах площади.
За ранее спасибо))))

Отправлено: 13:03, 06-11-2008

 

Аватара для iskander-k

скептик-оптимист


Moderator


Сообщения: 5709
Благодарности: 1113

Профиль | Отправить PM | Цитировать


Для начала посмотрите здесь и исправьте заголовок.

-------
Мягкий и пушистый - если не гладить против шерсти.




Вам помог совет? Нажмите на ссылку Полезное сообщение .


Последний раз редактировалось iskander-k, 06-11-2008 в 13:57. Причина: C/C++- уже лучше, а то сразу - Помогите !!!!!!!!... и т.д.


Отправлено: 13:38, 06-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Мусик, Какой-то непонятный набор заданий. Да и название темы оставляет желать лучшего. Кстати, на каком языке это всё нужно написать?
2) Решение

Код: Выделить весь код
//Программа нахождения наибольшего общего делителя
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
// Функция нахождения НОД
int ged(int, int);

int main()
{
  int z,
      num1,
      num2,
      result;

  cout<<"  START '0'  FINISH '-1' :  ";
  cin>>z;
  while(z != -1){
     cout<<"\n  ENTER NUMBER1:  ";
     cin>>num1;
     cout<<"  ENTER NUMBER2:  ";
     cin>>num2;
     result = ged(num1, num2);
     cout<<"\n  MAXIMUM OBSCHIY DELITEL CHISEL: "<<num1
         <<"  I  "<<num2<<"   RAVEN:  "<<result<<endl;
     cout<<"\n\n  START '0'  FINISH '-1' :  ";
     cin>>z;
   }
   return 0;
}

//Функция нахождения НОД
int ged(int number1, int number2)
{
  int c = 1;
  while(c != 0){
     c = number1 % number2;
     number1 = number2;
     number2 = c;
    }
  return number1;
}
//---------------------------------------------------------------------------
Та же задача по русски
Код: Выделить весь код
//Программа нахождения наибольшего общего делителя
#include <windows.h>
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
// Функция перекодировки символов русского языка
char* Rus(const char* text);
char bufRus[256];

char* Rus(const char* text)
{
	CharToOem(text, bufRus);
	return bufRus;
}
// Функция нахождения НОД
int ged(int, int);

int main()
{
  int z,
      num1,
      num2,
      result;

  cout<<Rus(" Введите '0' для продолжения или '-1' для финиша :  ");
  cin>>z;
  while(z != -1){
     cout<<Rus("\n  Введите 1-е число:  ");
     cin>>num1;
     cout<<Rus("  Введите 2-е число:  ");
     cin>>num2;
     result = ged(num1, num2);
     cout<<Rus("\n  Максимальный общий делитель чисел: ")<<num1;
     cout<<Rus("  и  ")<<num2;
     cout<<Rus(" равен = ")<<result<<endl;
     cout<<Rus("\n\n  Введите '0' для продолжения или '-1' для финиша :  ");
     cin>>z;
   }
  return 0;
}

//Функция нахождения НОД
int ged(int number1, int number2)
{
  int c = 1;
  while(c != 0){
    c = number1 % number2;
    number1 = number2;
    number2 = c;
   }
  return number1;
}
//---------------------------------------------------------------------------

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 13:47, 06-11-2008 | #3


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Алгоритм решения №4 (привожу исключительно функцию нахождения без проверок ошибок и ввода/вывода), C:
Код: Выделить весь код
int getsquares(int x, int y){
 int count;
 while(x>0 && y>0){
  if(x>y){
   x -= y;
  }else{
   y -= x;
  }
  count++;
 }
 return count;
}
Алгоритм решения №1(аналогично), C :
Код: Выделить весь код
float f(int x){
 if(x % 3 == 0){
  return x*x;
 }
 if(x % 3 == 1){
  return x;
 }
 return x/3;
}
Задачу 3 решать самостоятельно, генеришь случайное число от 0 до 25, добавляешь к индексу первой буквы ASCII и кастуешь в char.

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:56, 06-11-2008 | #4


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Arrest,
Цитата Arrest:
Задачу 3 решать самостоятельно, генеришь случайное число от 0 до 25, добавляешь к индексу первой буквы ASCII и кастуешь в char. »
Можешь более подробнее объяснить? Я пробовал решить её, и знаю, что символ
Код: Выделить весь код
'A' = 65
..
..
'z' = 122
сделал так, но это не совсем получается верно.
Код: Выделить весь код
...
num2 = 65 + rand() % 122;
element = static_cast <char> (num2);
cout<<element;
...
Мне не понятно выражение.
Цитата Arrest:
добавляешь к индексу первой буквы ASCII »
Можно на примере только небольшого фрагмента кода показать как это будет?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 15:10, 06-11-2008 | #5


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
int randomnum = rand() % 26;
char randomchar = (char)randomnum+65;
как-то вот так

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:28, 06-11-2008 | #6


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Arrest, Точно, сработало. Только хочется, чтобы символы могли печататься в обоих регистрах:
num1 - переменная, которая показывает, сколько случайных символов генирировать..
Код: Выделить весь код
...
for(int i = 0; i <= num1; i++){
      num2 = rand() % 26;
      element = static_cast <char> (num2 + 65);
      cout<<element<<" ";
     }
...

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 15:59, 06-11-2008 | #7


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

for(int i 0<= num1i++){

      
num2 rand() % (26*2); // символы больших и малых регистров стоят подряд, так что можно и так
      
element static_cast <char> (num2 65);
      
cout<<element<<" ";
     } 

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:24, 07-11-2008 | #8


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Arrest,
PHP код: Выделить весь код

num2 rand() % (26*2); 


Значит можно выражение (26 * 2), заменить на результат произведения = 52.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:39, 08-11-2008 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Четыре задачи начального уровня

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - [решено] Задачи по информатики KIRAS Программирование и базы данных 2 24-05-2009 17:57
Выбор материнки для сервера начального уровня argus_k Железо во FreeBSD 7 20-07-2008 15:08
Загрузка - зацикливание начального процесса загрузки WChek Microsoft Windows 2000/XP 10 08-07-2008 02:20
Прочие БД - [решено] Задачи администратора lxa85 Программирование и базы данных 1 20-09-2007 12:34
[решено] установка приоритета задачи algou Microsoft Windows 2000/XP 3 25-11-2006 19:43




 
Переход