Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задачки по с++ 
:(
    Опции темы
ckazu
Дата 20.12.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 3.6.2006

Репутация: нет
Всего: нет



Всем доброго времени суток!

Грядет сессия  smile начал разбираться в си, сдал 5 лаб,  а вот 3 не осилил, помогите плиз...
 
 1
Цитата

С клавиатуры вводятся вещественные числа. Признак конца ввода – 0. Определить, является ли вводимая последовательность геометрической прогрессией.


 2
Цитата

Дано n точек в пространстве. Упорядочить точки по неубыванию их расстояний до начала координат.


 3
Цитата

1. Описать структуру с именем STUDENT, содержащую следующие поля:
- фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов).
2. Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по алфавиту;
- вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2;
- если таких студентов нет, вывести соответствующее сообщение.


Вообщем нужна помощь знающего человека, а то я сам не разберусь...
PM MAIL   Вверх
mes
Дата 20.12.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



вот к номеру 2, только для length название более подходящее подберите.

Код
#include <iostream>
#include <vector>
#include <math.h>

struct Point
{
    Point(int _x, int _y) : x(_x), y(_y) {}
    int x, y;
};
double length (const Point pt)
{
    return sqrt (pt.x*pt.x+pt.y*pt.y);
}
bool operator <(const Point& pt1,const Point& pt2)
{
    return length(pt1)<length(pt2);

}
std::ostream& operator << (std::ostream& o, const Point& pt)
{
    o<<"["<<pt.x<<","<<pt.y<<"]";
    return o;
}
std::ostream& testcout (const std::string& text,  std::vector<Point>::iterator begin,  std::vector<Point>::iterator end)
{
  std::cout << text;
  for (std::vector<Point>::iterator it=begin; it!=end; ++it )
  std::cout <<*it<<" ";
  return std::cout;
}

int main( void )
{

  std::vector<Point> v;
  v.push_back (Point (3,5) );
  v.push_back (Point (1,8) );
  v.push_back (Point (7,4) );
  v.push_back (Point (1,1) );
  v.push_back (Point (1,2) );
  v.push_back (Point (2,1) );
  v.push_back (Point (4,4) ); // тестовый массив точек

  testcout ("before sort : ", v.begin(), v.end())<<std::endl;

  std::sort (v.begin(), v.end());

  testcout ("after sort : ", v.begin(), v.end())<<std::endl;

  system("pause");
}


Это сообщение отредактировал(а) mes - 20.12.2008, 16:00


--------------------
PM MAIL WWW   Вверх
Dmi3ev
Дата 20.12.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



по примеру mes, помогу новичку...  smile 
держи про студентов, вроде так, как-то... а первую и самому можно...  smile 
Код

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

#include <iostream.h>
#include <string.h>
//---------------------------------------------------------------------------

struct student
{
char fio[255];
char group[255];
int usp[5];
};
int main()
{
const int n=10;
const int sm=5;
student myp[n];

for (int i=0; i<n; i++)
 {
  cout<<"Enter FIO of student: "<<endl;
  cin>>myp[i].fio;

  cout<<"Enter name of his group: "<<endl;
  cin>>myp[i].group;

  cout<<"Enter his marks:"<<endl;
  for (int j=0; j<sm; j++)
   {
    cout<<"Mark "<<j+1<<" =";
    cin>>myp[i].usp[j];
    cout<<endl;
   }
 }

cout<<"Sort students: "<<endl;
for (int i=0; i<(n-1); i++)
 {
  for (int j=0; j<(n-i-1); j++)
   {
    if (strcmp(myp[j].fio, myp[j+1].fio)>0)
     {
      student v=myp[j];
      myp[j]=myp[j+1];
      myp[j+1]=v;
     }
   }
 }
for (int i=0; i<n; i++)
 cout<<myp[i].fio<<endl;

cout<<"Has 2:"<<endl;
for (int i=0; i<n; i++)
 {
  for (int j=0; j<sm; j++)
   {
    if (myp[i].usp[j]==2)
     {
      cout<<"FIO: "<<myp[i].fio<<" Group: "<<myp[i].group<<endl;
      break;
     }
   }
 }
return 0;
}
//---------------------------------------------------------------------------

если надо своими силами сортировку реализовать без использования strcmp, то есть куча примеров...(наверное)


--------------------

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.