Форум программистов, компьютерный форум CyberForum.ru

Отсортировать массив структур по фамилии или по году - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическое решение http://www.cyberforum.ru/cpp-beginners/thread178221.html
Всем привет! Что-то никак не соображу, как решить 2 задачи методом динамического программирования. Задачи очень сходны и поняв, как решается одна из них, думаю, со второй проблем не будет. Задача 1 Даны N (2 ≤ N ≤ 24) целых чисел X1, X2, ..., XN (0 ≤ Xi ≤ 50 000 000). Расставить между ними знаки "+" и "-" так, чтобы значение получившегося выражения было равно заданному целому S (-1 000 000...
C++ Уножение разряженных матриц Здравствуйте, у меня задание создать метод класса matrix, для умножения. Саму структуру классов я понимаю, я не могу понять, как перемножить матрицы без перебора всех индексов (как с обычными матрицами), так как тогда нету смысла в разряженности. Вот код: #ifndef rmatr #define rmatr #include<iostream.h> #include<conio.h> #include<stdio.h> http://www.cyberforum.ru/cpp-beginners/thread178215.html
Печать всех квадратов в интервале от А до Б C++
Печать всех квадратов в интервале от А до Б. Пример: Input:15; 29 Output:14; 49 Пожалуйста дяди программисты помогите!:wall:
C++ В символьной строке удалить все слова состоящие из нечётного количества букв.
В символьной строке удалить все слова состоящие из нечётного количества букв.
C++ Программа с использованием множественного выбора http://www.cyberforum.ru/cpp-beginners/thread178204.html
Здравствуйте!Помогите пож-та решить задачу на Си: Пользователь вводит с клавиатуры наименование геометрического тела (шар, куб, цилиндр, конус), а затем необходимые размеры (радиус, длина или длины сторон, высоту и т.п.). Программа возвращает массу тела. Плотность задается с клавиатуры. Заранее всем огромное спасибо!!!
C++ Статус ввода-вывода. Данная программа выводит содержимое файла. Функция f(ifstream) используется для обнаружения возникших ошибок. Вызов этой функции после цикла считывания символов файла выдает 2 ошибки - failbit, eofbit. Если перед этим вызовом написать in.clear(ios::eofbit); то по идее eof bit должен сброситься. Но при этом вызов f() выдает именно eofbit (без failbit!!!) (и наооборот). Т.е эта функция... подробнее

Показать сообщение отдельно
Shepard90
5 / 5 / 0
Регистрация: 18.10.2010
Сообщений: 140
18.10.2010, 23:37     Отсортировать массив структур по фамилии или по году
Сам только что закончил писать подобную прогу. Лови может поможет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Structura.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include <iostream>
#include "string.h" //заголовочный файл содержащий ф-ции работы со строками
using namespace std;
 
void getline(char *str,int lim) //ф-ция для ввода строк
{
    int c,i;
    c=1;
    for(i=0;(i<lim-1) && (c!=(int)'\n');i++) //\n=Enter
    {
        c=getchar();    
        str[i]=c;
    }
        str[i]='\0'; //символ конца строки
    
    
}
int _tmain()
{
    const int n=7;
    const int lim=25;
    struct AEROFLOT //описание структуры
    {
        char PunktNaz[lim];  //пункт назначения
        char ReisNumber[lim]; //номер рейса
        char AirplaneType[lim]; //тип самолета
    }arr[n],max; //объявление экземпляров структуры и выделение памяти
    int i,j;
    char *str,*s1,*s2;
    char zapros[lim]; 
    bool err;
    printf("vnesite informaciyu o reisah\n");
    for(i=0;i<=n-1;i++)
    {
        printf("Zapis number %d\n",i+1);
        printf("Punct Naznatcheniya\n");
        str=&arr[i].PunktNaz[0]; //присвоение указателю адреса первого элемента символьного массива PunktNaz 
        getline(str,lim); //ввод строки с клавиатуры
        printf("Number of reis\n");
        str=&arr[i].ReisNumber[0];
        getline(str,lim);
        printf("Type Airplane\n");
        str=&arr[i].AirplaneType[0];
        getline(str,lim);
    }
    for(j=0;j<n-1;j++) //сортировка массива элементов типа Aeroflot в зависимости от названия пункта назначения по алфавиту
        for(i=0;i<=n-2;i++)
        {
            if((int)arr[i].PunktNaz[0]>(int)arr[i+1].PunktNaz[0])
            {
                max=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=max;
            }
        }
    printf("Vvedite zapros\n");
    str=&zapros[0];
    getline(str,lim);
    s1=strdup(zapros);
    err=false;
    for(i=0;i<=n-1;i++) //поиск среди элементов массива элемента отвечающего запросу пользователя
    {
        s2=strdup(arr[i].PunktNaz);
        if(strcmp(s1,s2)==0)
        {
            err=true;
            printf("Number of reis: ");
            cout<<arr[i].ReisNumber;
            printf("Type Airplane: ");
            cout<<arr[i].AirplaneType;
            break;
        }
    }
    if (err==false) printf("takogo reisa net!");
    _getch();
}
 
Текущее время: 12:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru