[C++]10 маленьких задач,великие программисты помогите ГАРЮ.. - Форум
Вторник, 06.12.2016, 08:43
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » [C++]10 маленьких задач,великие программисты помогите ГАРЮ..
[C++]10 маленьких задач,великие программисты помогите ГАРЮ..
Pasha_BlackДата: Среда, 20.01.2010, 12:05 | Сообщение # 1
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Я старался понять перечитал много книг но так нефига и не зделал уже гуглил по чёрному но всёравно нечего не получаеться прошу помощи спасибо большое всем даже тем кто просто заглянул в топик ......или может подскажетики какие либо решебники с подобными задачами заранее благодарен ..

1,29 У квадрата ABCD на плоско¬сти известны координаты двух противоположных вер¬шин — точек А и С. Найти координаты точек В и D. Примечание. Расположение квадрата произвольно; его стороны не обязательно параллельны координатным осям.

2,31 Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями

2,83 Напишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее название вре¬мени года. В случае, если пользователь введет недопустимое число, программа должна вывести сообщение "Ошибка ввода данных".
3,33 Дано натуральное число n и действительное x. Найти сумму n членов ряда:
S=sinx +sinx(икс в квадрате)+....+sinx(в степени n)

3,71Написать программу, которая выводит на экран работаю¬щие "электронные часы", которые работают в течение, например, трех минут или до тех пор, пока пользователь не нажмет любую клавишу.

3,116Дано натуральное число N. Переставить его цифры так, чтобы образовалось минимальное число, записанное теми же цифрами.

4,19 Дана последовательность действительных чисел. Заменить все её члены, большие данного Z, этим числом. Посчитать количество замен

4,83 Последовательность называется монотонно возрастающей, если каждый следующий её элемент не меньше предыдущего. В массиве найти самую длинную монотонно возрастающую последовательность.

6,3 Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: >, <, =.
6,20 Даны два натуральных числа. Выяснить в каком из них больше цифр, определив функцию для расчета количества цифр натурального числа.

 
[Nostr]Дата: Среда, 20.01.2010, 16:29 | Сообщение # 2
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
2,31 :
Code
if (m==n) {
   m=0;
   n=0;
}
else{
   t = (n>m)?n:m;
   n=t;
   m=t;
}

4.19

Code
t=0;
for (i=0;i<n;i++)
{
   if (a[i]>z){
     a[i] = z;
     t ++;
   }
}
cout << "4islo zamen : " << t;
 
Pasha_BlackДата: Вторник, 26.01.2010, 09:17 | Сообщение # 3
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Nostr спасибо тебе большое очень помог уже - 2 задачки СПАСИБО БОЛЬШОЕ ,,,,,,,,

Добавлено (26.01.2010, 09:17)
---------------------------------------------
пожалуйста кто нить помогите пожалуйста .......

 
LoremasterДата: Вторник, 26.01.2010, 11:03 | Сообщение # 4
Генерал-майор
Группа: Участник
Сообщений: 45
[ 3 ]
Статус: Offline
1.29

Code

         double Xa, Ya, Xc, Yc;
         double Xb, Yb, Xd, Yd;

         Xa = StrToFloat(Edit1->Text);
         Ya = StrToFloat(Edit2->Text);
         Xc = StrToFloat(Edit3->Text);
         Yc = StrToFloat(Edit4->Text);

         double dX = Xc - Xa;
         double dY = Yc - Ya;

         double angle = atan2(dY, dX);
         double R = sqrt(dX * dX + dY * dY) / 2;

         ListBox1->Items->Add("Angle = " + FloatToStr(angle));
         ListBox1->Items->Add("Radius = " + FloatToStr(R));

         double Xo, Yo;

         Xo = (Xa + Xc) / 2;
         Yo = (Ya + Yc) / 2;

         Xb = Xo + R * cos(M_PI_2 + angle);
         Yb = Yo + R * sin(M_PI_2 + angle);

         Xd = Xo + R * cos(M_PI + M_PI_2 + angle);
         Yd = Yo + R * sin(M_PI + M_PI_2 + angle);

         ListBox1->Items->Add("Xb = " + FloatToStr(Xb));
         ListBox1->Items->Add("Yb = " + FloatToStr(Yb));

         ListBox1->Items->Add("Xd = " + FloatToStr(Xd));
         ListBox1->Items->Add("Yd = " + FloatToStr(Yd));

         ListBox1->Items->Add(" ");

Приложение Windows (C++ Builder 6).
Для работы поместить на форму:


  • 4 элемента TEdit с именами Edit1, Edit2, Edit3, Edit4 (используются для задания начальных значений координат X и Y точек A и C);
  • кнопку TButton, на событие которой поместить выше указанный и код;
  • элемент TListBox, для вывода информации.

Или можно переделать в консольное приложение.

2.83

Code

#include <iostream.h>
#include <conio.h>

//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{
         int month;

         cin >> month;

         switch(month)
         {
              case 12:
              case 1:
              case 2:
                   cout << "Winter." << endl;
                   break;
              case 3:
              case 4:
              case 5:
                   cout << "Spring." << endl;
                   break;
              case 6:
              case 7:
              case 8:
                   cout << "Summer." << endl;
                   break;
              case 9:
              case 10:
              case 11:
                   cout << "Autumn." << endl;
                   break;
              default:
                   cout << "Input error." << endl;
         }

         getch();
         return 0;
}
//---------------------------------------------------------------------------

Скучные какие-то все задачи...

3.33

Code

double result = 0;
int n;
double x;

cout << "Enter N: ";
cin >> n;
cout << endl << "Enter X: ";
cin >> x;

for(int i=1; i<=n; i++)
{
      result += sin(pow(x, i));
}

cout << endl << "Result = " <<result << endl;

Это кусок кода не отлаживал / не запускал - просто идея, доводи до ума сам.

Сообщение отредактировал Loremaster - Вторник, 26.01.2010, 11:12
 
[Nostr]Дата: Среда, 27.01.2010, 07:20 | Сообщение # 5
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
Угу. Задачи скучные и тягомотные.
Вот только прогают они, похоже, под консолью
 
Pasha_BlackДата: Пятница, 29.01.2010, 09:14 | Сообщение # 6
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Loremaster спасибо большое очень помог ........

Добавлено (29.01.2010, 09:14)
---------------------------------------------
люди добрые помогите ещё чуток осталось пару штук
3,71
3,11
3,116
4,83
6,3
6,20

 
LoremasterДата: Пятница, 29.01.2010, 13:44 | Сообщение # 7
Генерал-майор
Группа: Участник
Сообщений: 45
[ 3 ]
Статус: Offline
3.71
Code
#include <dos.h>
#include <stdio.h>
#include <conio.h>

void main()
{
           struct time prevTime, curTime, endTime;

           gettime(&prevTime);

           endTime = prevTime;

           endTime.ti_hour += 0;
           endTime.ti_min += 3;
           endTime.ti_sec += 0;

           printf("End time: %2d:%02d:%02d", endTime.ti_hour, endTime.ti_min, endTime.ti_sec);

           gotoxy(5, 3);
           printf("%2d:%02d:%02d", prevTime.ti_hour, prevTime.ti_min, prevTime.ti_sec);

           gotoxy(1, 5);
           printf("Press any key to exit...");

           while (!kbhit())
           {
                gettime(&curTime);

                if((endTime.ti_hour == curTime.ti_hour) && (endTime.ti_min == curTime.ti_min) && (endTime.ti_sec == curTime.ti_sec))
                {
                     break;
                }

                if((prevTime.ti_hour != curTime.ti_hour) || (prevTime.ti_min != curTime.ti_min) || (prevTime.ti_sec != curTime.ti_sec))
                {
                     prevTime = curTime;
                     gotoxy(5, 3);
                     printf("%2d:%02d:%02d", curTime.ti_hour, curTime.ti_min, curTime.ti_sec);
                }
           }
}

3.116

Code
#include <iostream.h>
#include <conio.h>
#include <math.h>

void main()
{
          int number;

          cout << "Enter number: ";
          cin >> number;

          int numOfDigits = 0;

          while( (int)number / (int)pow10(numOfDigits) != 0 )
          {
               numOfDigits++;
          }

          int * digit = new int[numOfDigits];

          for(int i=0; i < numOfDigits; i++)
          {
               digit[numOfDigits - 1 - i] = (number % (int)pow10(i + 1)) / pow10(i);
          }

          for(int i=0; i<numOfDigits; i++)
          {
               for(int j=0; j<numOfDigits - 1; j++)
               {
                    if(digit[j] > digit[j+1])
                    {
                         int d = digit[j];
                         digit[j] = digit[j+1];
                         digit[j+1] = d;
                    }
               }
          }

          int resNumber = 0;
          for(int i=0; i<numOfDigits; i++)
          {
               resNumber += digit[i] * pow10(numOfDigits - i - 1);
          }

          cout << "Result number: " << resNumber;

          getch();
}

4.83

При запуске программа запрашивает длину массива и заполняет его случайными значениями в интервале от 0 до 99.

Ищется неубывающая последовательность максимальной длины и выводится на экран (причем в массиве может оказаться несколько неубывающих последовательностей длиной равной максимальной - результатом является та, которая встречается в массиве первой)

Code
#include <iostream.h>
#include <conio.h>

void main()
{
         int length = 0;

         cout << "Enter length of sequence: ";
         cin >> length;

         int * array = new int[length];

         randomize();

         for(int i=0; i<length; i++)
         {
              array[i] = random(100);
              cout << array[i] << " ";
         }

         int maxSequenceStart = -1;
         int maxSequenceEnd = -1;
         int maxSequenceLength = -1;

         int curSequenceStart = -1;
         int curSequenceEnd = -1;
         int curSequenceLength = -1;

         for(int i=0; i<length; i++)
         {
              if(curSequenceStart == -1)
              {
                   curSequenceStart = i;
                   curSequenceEnd = i;

                   curSequenceLength = 1;
              }

              if((i + 1) < length && array[i + 1] >= array[i])
              {
                   curSequenceEnd = i + 1;
                   curSequenceLength++;
              }
              else
              {
                   if(curSequenceLength > maxSequenceLength)
                   {
                        maxSequenceStart = curSequenceStart;
                        maxSequenceEnd = curSequenceEnd;
                        maxSequenceLength = curSequenceLength;
                   }
                       
                   curSequenceStart = -1;
              }
         }

         cout << "\n\nSequence starts at index: " << maxSequenceStart;
         cout << "\nSequence ends at index: " << maxSequenceEnd;
         cout << "\nLength of sequence: " << maxSequenceLength << "\n\n";

         for(int i=maxSequenceStart; i <=maxSequenceEnd; i++)
         {
              cout << array[i] << " ";
         }

         getch();
}

Добавлено (29.01.2010, 13:27)
---------------------------------------------
6.3

Code
#include <iostream.h>
#include <conio.h>

void main()
{
      int N1, N2;

      cout << "Enter number #1: ";
      cin >> N1;
      cout << "Enter number #2: ";
      cin >> N2;

      int delta = N1 - N2;

      if(delta > 0)
      {
           cout << "\n>";
      }
      else if(delta < 0)
      {
           cout << "\n<";
      }
      else
      {
           cout << "\n=";
      }

      getch();
}

Добавлено (29.01.2010, 13:36)
---------------------------------------------
6.20

Code
#include <iostream.h>
#include <conio.h>
#include <math.h>

int NumberOfDigits(int Number)
{
      int numOfDigits = 0;

      while((int)Number / (int)pow10(numOfDigits) != 0 )
      {
           numOfDigits++;
      }

      return numOfDigits;
}

int Compare(int A, int <img src="http://s16.ucoz.net/sm/1/cool.gif" border="0" align="absmiddle" alt="cool">
{
      if(A > <img src="http://s16.ucoz.net/sm/1/cool.gif" border="0" align="absmiddle" alt="cool">
           return 1;
      if(A < <img src="http://s16.ucoz.net/sm/1/cool.gif" border="0" align="absmiddle" alt="cool">
           return -1;
      if(A == <img src="http://s16.ucoz.net/sm/1/cool.gif" border="0" align="absmiddle" alt="cool">
           return 0;
}

void main()
{
      int N1, N2, Dig1, Dig2;

      cout << "Enter number #1: ";
      cin >> N1;
      cout << "Enter number #3: ";
      cin >> N2;

      switch(Compare(NumberOfDigits(N1), NumberOfDigits(N2)))
      {
           case 1:
                cout << "\nFirst number has more digits.\n";
                break;
           case -1:
                cout << "\nSecond number has more digits.\n";
                break;
           case 0:
                cout << "\nNumbers has equal number of digits.\n";
                break;
      }
      getch();
}

Добавлено (29.01.2010, 13:42)
---------------------------------------------
В задаче 6.20 "<img src="http://s16.ucoz.net/sm/1/cool.gif" border="0" align="absmiddle" alt="cool">" заменить на "C)"
Т.е. функция Compare должна выглядеть так:

Code
int Compare(int A, int С)
{  
       if(A > С)
            return 1;  
       if(A < С)
            return -1;  
       if(A == С)
            return 0;  
}

Добавлено (29.01.2010, 13:44)
---------------------------------------------
Движок форума решил разбавить сухой код C++ смайликами...

Сообщение отредактировал Loremaster - Пятница, 29.01.2010, 13:27
 
[Nostr]Дата: Суббота, 30.01.2010, 19:07 | Сообщение # 8
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
tongue
 
Pasha_BlackДата: Вторник, 02.02.2010, 14:21 | Сообщение # 9
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
спасибо спасибо большое очень помогли все стою на коленях и пишу это сообщение и благодарю всех кто помог
осталось одна 3.11
 
LoremasterДата: Вторник, 02.02.2010, 14:46 | Сообщение # 10
Генерал-майор
Группа: Участник
Сообщений: 45
[ 3 ]
Статус: Offline
А где условие задачи 3.11?

Сообщение отредактировал Loremaster - Вторник, 02.02.2010, 14:47
 
Pasha_BlackДата: Среда, 17.02.2010, 12:04 | Сообщение # 11
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
ой что то я напутал всё правельно готово 10 задач как здам контрольную сразу отпишусь спасибо всем большое люди добрые без вас бы этот мир был серым и мрачным СПАСИБО ВСЕМ ЕЩЁ РАЗ ОЧЕНь ПОМОГЛИ

Добавлено (17.02.2010, 12:04)
---------------------------------------------
извените я тока щас увидел что задача 1.29 и 3,33 выполнена в С++ Builder можно её зделать пожалуйста в Borland С++ заранее спасибо большое ....

Сообщение отредактировал Pasha_Black - Среда, 17.02.2010, 12:09
 
LoremasterДата: Среда, 17.02.2010, 12:25 | Сообщение # 12
Генерал-майор
Группа: Участник
Сообщений: 45
[ 3 ]
Статус: Offline
1.29*

Code
#include <iostream.h>
#include <math.h>
#include <conio.h>

void main()
{
       double Xa, Ya, Xc, Yc;
       double Xb, Yb, Xd, Yd;

       cout << "Point A:\n";
       cout << "X = ";
       cin >> Xa;
       cout << "Y = ";
       cin >> Ya;
       cout << "\nPoint C:\n";
       cout << "X = ";
       cin >> Xc;
       cout << "Y = ";
       cin >> Yc;

       double dX = Xc - Xa;
       double dY = Yc - Ya;

       double angle = atan2(dY, dX);
       double R = sqrt(dX * dX + dY * dY) / 2.0;

       double Xo, Yo;

       Xo = (Xa + Xc) / 2.0;
       Yo = (Ya + Yc) / 2.0;

       Xb = Xo + R * cos(M_PI_2 + angle);
       Yb = Yo + R * sin(M_PI_2 + angle);

       Xd = Xo + R * cos(M_PI + M_PI_2 + angle);
       Yd = Yo + R * sin(M_PI + M_PI_2 + angle);

       cout << "\nResult:\n";
       cout << "B [" << Xb << ", " << Yb << "]\n";
       cout << "D [" << Xd << ", " << Yd << "]\n";

       getch();
}

3.33*

Code

#include <iostream.h>
#include <conio.h>
#include <math.h>

void main()
{
       double result = 0;
       int n;
       double x;

       cout << "Enter N: ";
       cin >> n;
       cout << "Enter X: ";
       cin >> x;

       for(int i=1; i<=n; i++)
       {
             result += sin(pow(x, i));
       }

       cout << "\nResult = " << result;
       getch();
}


Сообщение отредактировал Loremaster - Среда, 17.02.2010, 12:26
 
Pasha_BlackДата: Пятница, 19.02.2010, 11:17 | Сообщение # 13
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
cgc большое ........
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » [C++]10 маленьких задач,великие программисты помогите ГАРЮ..
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016