Помогите решить задачи на С++ - Форум
Вторник, 06.12.2016, 08:44
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Помогите решить задачи на С++ (Сам ни когда не касался С++)
Помогите решить задачи на С++
Zloy_BaikeRДата: Вторник, 17.03.2009, 14:12 | Сообщение # 1
Рядовой
Группа: Новичок
Сообщений: 3
[ 0 ]
Статус: Offline
1. Вычислить среднее арифметическое чисел x, y, z.
2. Даны вещественные x,y,z. Наити min(x,y,z)
3. Дана непустая последовательность ненулевых целых чисел, за которой следует 0 (0 - признак конца последовательности).
!Определить наибольшее число.
4.Дан массив элементов длины N. Найти:
! Количество нулевых элементов, стоящих на четных местах
5.Дан массив элементов длины N.
-1. Наибольший элемент массива.
-2. Номер наибольшего элемента массива.
-3. Отсортировать массив по убыванию.

6.Задан числовой массив, состоящий из n элементов.
! Используя сортировку массива, определить значение второго максимума.
7.Даны натуpальное число n и действительная матpица (N x 9). Найти сpеднее аpифметическое: a) каждого из столбцов; б) каждого из стpок

 
notnotДата: Вторник, 17.03.2009, 20:17 | Сообщение # 2
Генерал-лейтенант
Группа: Активный пользователь
Сообщений: 54
[ 10 ]
Статус: Offline
Code
// zada4kiru.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <locale>
#include <iostream>
using namespace std;

void One()
{
   double x, y, z, srValue;
   wcout<<L"Задание 1\n\n";
   wcout<<L"Введите х = ";
   wcin>>x;
   wcout<<L"Введите у = ";
   wcin>>y;
   wcout<<L"Введите z = ";
   wcin>>z;
   srValue = (x+y+z)/3;
   wcout<<L"Среднее арифметическое заданных чисел = "<<srValue<<endl<<endl;
   wcout<<L"Для выполнения следующего задания нажмите любую клавишу..";
   _gettch();
}

void Two()
{
   int mas[3];
   int min;
   system("cls");
   wcout<<L"Задание 2\n\n";
   for (int i=0; i<3; i++)
   {
    wcout<<L"Введите "<<i+1<<L" число: ";
    wcin>>mas[i];
   }
   min=mas[0];
   for (int j=1; j<3; j++)
   {
    if (mas[j]<min)
     min = mas[j];
   }
   wcout<<L"\nЧисло "<<min<<L" является минимальным"<<endl<<endl;
   wcout<<L"Для выполнения следующего задания нажмите любую клавишу..";
   _gettch();
}

void Three()   
{
   system("cls");
   wcout<<L"Задание 3\n\n";
   const int n = 10;
   int mas[n];
   int max;
   srand(time(NULL));   
   for (int i=0; i<n-1; i++)
   {
    mas[i] = rand()*10/20000+3*i;
    wcout<<mas[i]<<L"   ";
   }
   mas[n-1]=0;
   wcout<<mas[n-1]<<endl;
   max = mas[0];
   for (int j=1; j<n-1; j++)
   {
    if (mas[j]>max)
     max = mas[j];
   }
   wcout<<L"\nЧисло "<<max<<L" является максимальным"<<endl<<endl;
   wcout<<L"Для выполнения следующего задания нажмите любую клавишу..";
   _gettch();

}

void Array(int* a, int size)
{
   srand(time(NULL));
   for (int i=0; i<size; i++)
   {
    a[i] = rand()*10/20000-3;
    cout<<a[i]<<"   ";
   }
   wcout<<endl<<endl;
}

void Four()
{
   system("cls");
   wcout<<L"Задание 4\n\n";
   const int n=10;
   int mas[n];
   int count = 0;
   Array(mas,n);
   for (int i=0; i<n; i++)
   {
    if (i%2 == 0 && mas[i] != 0)
     count++;
   }
   wcout<<L"Число ненулевых элементов, стоящих на четных местах = "<<count<<endl<<endl;
   wcout<<L"Для выполнения следующего задания нажмите любую клавишу..";
   _gettch();
}
void FiveSix()
{
  system("cls");
  wcout<<L"Задание 5\n\n";
  const int n=10;
  int mas[n];
  int max, number;
  Array(mas,n);
  max=mas[0];
  for (int i=1; i<n; i++)
  {
   if (mas[i]>max)
   {
    max = mas[i];
    number = i+1;
   }
  }
  wcout<<L"Наибольший элемент массива = "<<max<<L", находится на "<<number<<L" месте\n\n";
  for (int j=0; j<n-1; j++)
  {
   for (int k=n-1; k>j; k--)
   {
    if (mas[j]<mas[k])
    {
     int temp = mas[k];
     mas[k]=mas[j];
     mas[j]=temp;
    }
   }
  }
  wcout<<L"Отсортированный массив:\n";
  for (int i=0; i<n; i++)
  {
   wcout<<mas[i]<<L"   ";
  }
  wcout<<L"\n\nДля выполнения следующего задания нажмите любую клавишу..";
  _gettch();
  //system("cls");
  wcout<<L"\n\n\nЗадание 6\n\n";
  number=0;
  for (int i=1; i<n; i++)
  {
   if (mas[0]!=mas[i])
   {
    number = i;
    break;
   }
  }
  wcout<<L"Вторым максимумом массива является элемент = "<<mas[number];
  wcout<<L"\n\nДля выполнения следующего задания нажмите любую клавишу..";
  _gettch();
}

void Seven()
{
  system("cls");
  const int m = 9;
  int n;
  wcout<<L"Задание 7\n\n";
  double (*mas)[m];
  wcout<<L"Введите количество строк N = ";
  cin>>n;
  mas = new double [n][m];
  wcout<<endl;
  srand(time(NULL));
  for (int i=0; i<n; i++)
  {
   for (int j=0; j<m; j++)
   {
    mas[i][j] = rand()*20.6/20000+1.3;
    printf (" %7.2f",mas[i][j]);
   }
   wcout<<endl<<endl;
  }
  double sum=0;
  wcout<<L"Средние арифметические по строкам:\n\n";
  for (int i=0; i<n; i++)
  {
   for (int j=0; j<m; j++)
   {
    sum = sum + mas[i][j];
   }
   double simple = sum/m;
   printf(" %0.2f\n\n",simple);
   sum=0;
  }
   wcout<<L"Средние арифметические по столбцам:\n\n";
  for (int i=0; i<m; i++)
  {
   for (int j=0; j<n; j++)
   {
    sum = sum + mas[j][i];
   }
   double simple = sum/n;
   printf(" %7.2f",simple);
   sum=0;
  }
  delete[] mas;
  wcout<<L"\n\nДля завершения работы программы нажмите любую клавишу..";
  _gettch();
}

int _tmain(int argc, _TCHAR* argv[])
{
  setlocale(LC_ALL,".OCP");
  One();
  Two();
  Three();
  Four();
  FiveSix();
  Seven();
  return 0;
}



я - девушка!! +_+

Сообщение отредактировал notnot - Вторник, 17.03.2009, 20:17
 
Zloy_BaikeRДата: Среда, 18.03.2009, 06:28 | Сообщение # 3
Рядовой
Группа: Новичок
Сообщений: 3
[ 0 ]
Статус: Offline
ППЦ огромнейшее спс!!!!! ПРосто спас меня!!!! СПС ЕЩЕ РАЗ))) ГРОМАДНО ТЕБЕ ПРИЗАТЕЛЕН!!!!!!!
 
notnotДата: Среда, 18.03.2009, 19:55 | Сообщение # 4
Генерал-лейтенант
Группа: Активный пользователь
Сообщений: 54
[ 10 ]
Статус: Offline
блин, я девушка!!!!!!

я - девушка!! +_+
 
Zloy_BaikeRДата: Четверг, 19.03.2009, 05:59 | Сообщение # 5
Рядовой
Группа: Новичок
Сообщений: 3
[ 0 ]
Статус: Offline
Прости по нику не поймешь((( Я очень тебе признателен ты меня спасла!!!)))
Не хорошо как то получилось)
 
notnotДата: Четверг, 19.03.2009, 11:17 | Сообщение # 6
Генерал-лейтенант
Группа: Активный пользователь
Сообщений: 54
[ 10 ]
Статус: Offline
да лан.. :)) круто, что спасла))

я - девушка!! +_+
 
SergeiДата: Суббота, 21.03.2009, 02:49 | Сообщение # 7
Рядовой
Группа: Новичок
Сообщений: 2
[ 0 ]
Статус: Offline
Помогите с задачей!

Задача о замочной скважине.
В двух различных текстовых файлах находятся изображения замочной скважины и ключа (10 * 10)
Определить, подойдёт ли данный ключ к замочной скважине, используя операции сдвига и поворота на 90*.Имена файлов ключа и скважины спросить у пользователя.

Заранее спасибо!!!

 
student49Дата: Понедельник, 28.02.2011, 00:21 | Сообщение # 8
Рядовой
Группа: Новичок
Сообщений: 1
[ 0 ]
Статус: Offline
Помогите с задачей.
Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и минуты. Используйте перегруженные функции. Например, при вводе 134 мин будет выдано значение 2 час 14 мин, а при вводе 2 час 14 мин – значение 134 мин.

Добавлено (28.02.2011, 00:21)
---------------------------------------------
Составьте программу для решения задачи. Выясните, что больше: среднее арифметическое или среднее геометрическое трех положительных чисел. Разработайте перегруженные функции нахождения среднего арифметического и среднего геометрического трех целых и вещественных чисел.

 
NailДата: Понедельник, 28.02.2011, 13:53 | Сообщение # 9
Генералиссимус
Группа: Заблокированные
Сообщений: 127
[ 0 ]
Статус: Offline
Все сделаю... Пиши
Mail: shakurovnail@mail.ru
Icq: 6688101
Skype: shakurovnail
 
kpekepДата: Четверг, 05.05.2011, 20:47 | Сообщение # 10
Рядовой
Группа: Новичок
Сообщений: 2
[ 0 ]
Статус: Offline
Помогите плиз двоишнику
что тут неправильно?

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale (LC_ALL, "Russian");
double x, y;
const double e=2.71828;
cout<<"Введите x: "; cin>>x;
y=0;
y=(x<-3) ? cos(x)/(x+10) : y;
y=(x>=-3) ? e^(0.1*x) : y;
y=(x>=4) ? lg(x) : y;
y=(x>=6) ? sin^2(x) : y;
cout<<"y = "<<y<<endl;
system ("pause");
return 0;
}

 
roguДата: Пятница, 06.05.2011, 12:25 | Сообщение # 11
Генерал-лейтенант
Группа: Новичок
Сообщений: 52
[ 1 ]
Статус: Offline
А какой вопрос задачи ?
 
АйраэльДата: Пятница, 06.05.2011, 17:25 | Сообщение # 12
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
kpekep, у вас неверно записаны формулы:
для возведения в степень в Си используется функция pow(число,степень)
e^(0.1*x) будет записываться как pow(e,0.1*x), синус в квадрате pow(sin(x),2)
Что у вас за lg? Если нужен натуральный логарифм, то пишется log
Строка system ("pause") не будет работать без необходимой библиотеки - #include <stdlib.h>


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.
 
kpekepДата: Пятница, 06.05.2011, 17:42 | Сообщение # 13
Рядовой
Группа: Новичок
Сообщений: 2
[ 0 ]
Статус: Offline
Код поправил
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale (LC_ALL, "Russian");
double x, y;
const double exp=2.71828;
cout<<"Введите x: "; cin>>x;
y=0;
y=(x<-3) ? cos(x)/(x+10) : y;
y=(x>=-3) ? exp(0.1*x) : y;
y=(x>=4) ? log(x) : y;
y=(x>=6) ? sin(x)*sin(x) : y;
cout<<"y = "<<y<<endl;
system ("pause");
return 0;
}

Добавлено (06.05.2011, 17:42)
---------------------------------------------
спасибо) заработало всё) а про pow(,) от вас узнал только)

 
Elen98Дата: Суббота, 07.05.2011, 18:34 | Сообщение # 14
Рядовой
Группа: Новичок
Сообщений: 4
[ 0 ]
Статус: Offline
Помогите пожалуйста решить!А то ничего не получается(((
Написать программу, которая заполняет линейный массивб размер которого задается с клавиатуры, случайными натуральными числами в заданном диаппазоне, сортирует его методом быстрой сортировки по убыванию и записывает в файл.

Вот что у меня получилось
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <String.h>
#include <ctype.h>
#include <fstream>
#include <windows.h>
#include <cstdlib>
using namespace std;
int main ()
{
ofstream out ("test");
if(!out)
cout <<"не могу открыть файл.\n";
return 1;
int nums [10];
int a, b, t;
int size;
size=10;
for (t=0; t<size; t++) nums[t]=rand();
cout<<"ischodni massive:\n";
for (t=0; t<size; t++)cout << nums [t]<<' ';
cout <<'\n';
for (a=1; a<size; a++)
for (b=size-1; b>=a;b--){
if (nums [b-1] > nums [b] ){
//esli ne v tom poradce elementi obmenivautsa mestami
t=nums [b-1];
nums [b-1]=nums [b];
nums[b]=t;
}
}
cout <<" Uporadochenni massive:\n ";
for (t=0; t<size; t++)
cout << nums[t]<<' ';
out <<10<<" "<<nums<<"\n";
out<<"Это текстовый файл."
out.close();
return 0;
}

Сообщение отредактировал Elen98 - Суббота, 07.05.2011, 18:43
 
SnowmanДата: Суббота, 07.05.2011, 18:36 | Сообщение # 15
Подполковник
Группа: Новичок
Сообщений: 21
[ 0 ]
Статус: Offline
Пожалуйста помогите мне решить всего одну задачу.Она мне не даётся:
Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом ("перевертышем"), т. е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево. (Определить функцию, позволяющую распознавать числа-палиндромы.)
Заранее огромное спасибо.


Сообщение отредактировал Snowman - Суббота, 07.05.2011, 20:14
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Помогите решить задачи на С++ (Сам ни когда не касался С++)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016