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

Работа с массивами и списками. Методы сортировки и поиска. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структурная переменная http://www.cyberforum.ru/cpp-beginners/thread81789.html
Помагите решить плис... Ввести структуру (с полями числитель и знаменатель)для описания понятия рациональное число.Составить и протестировать функции: а)РАВНО (А,В), которая проверяет,равны ли друг другу рациональные числа А,В; б)МАКС (X,N), которая возвращает наибольшее из массива X рациональных чисел; в) СЛОЖ (А,В,С,), которая...
C++ двумерный массив помогите решить задачки плиз!!!!! №1. Дана матрица размера M x N (M-четное число).Поменять местами верхнюю и нижнюю половины матрицы. №2. Дана матрица размера M x N(N-четное число).Поменять местами верхнюю и нижнюю половины матрицы. №3.Описать функцию IsSquare(K)логического типа,возвращающую True,если целый параметр K (>0) является квадратом некоторого целого числа,и False в противном... http://www.cyberforum.ru/cpp-beginners/thread81786.html
Сумма всех чисел записаных в десятичной системе счисления. C++
Помогите найти ошибку в моей программе. За любую помощь заранее спасибо. Условие задачи: Дана строка. Найти сумму всех чисел, записанных в десятичной системе счисления в виде слов данной строки. мой код программы: //--------------------------------------------------------------------------- #pragma hdrstop
C++ Для числа найти сумму с обратным по записи числом
Для числа найти сумму с обратным по записи числом язык С++ Добавлено через 1 минуту пример: 123+321=444 #include <stdio.h> #include <conio.h> int main() {
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread81752.html
#include<iostream> using namespace std; int main(){ const int n=10; int a={1,3,-5,16,-2,2,-1,3,9,4}; int i,imax,imin,count; for(i=imax=imin=0;i<n;i++){ if (a>imax) imax=i; if (a<imin)
C++ Безразмерный файл забить структурами и осуществить их сортировку Очень не понятно что в этой задачке от меня требуется)) Текст задачи: Безразмерный файл забить структурами и осуществить их сортировку. Данные: //структуры struct A { double x; подробнее

Показать сообщение отдельно
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
31.12.2009, 03:25     Работа с массивами и списками. Методы сортировки и поиска.
помогите написать програму

Задачa
Написать программу которая выполняет следующие действия:
1) считывает данные из файла и сохраняет их в памяти в виде списока с двойными связями
2) Выводит данные на экран в виде двух столбцов. , Разделенных тремя символами пробела. Столбцы должны иметь заголовки X и Y соответственно.
3) Сортировать данные по возрастанию или по убыванию по выбору пользователя ,методом обмена
4) Выводить на экран отсортированную последовательность.
5) Осуществлять бинарный поиск введенного с клавиатуры величины и выводить на экран результат поиска. Величины для поиска (ключи поиска) должны храниться в программе в виде очереди, размер которой также вводится с клавиатуры. Результаты поиска будут отображаться на экране в порядке ввода ключей поиска.



Есть написани функция для сортировки и функция для поиска:
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
void sort_choice(float *mas,int size)    //функция для сортировки
{
    float tmp;
    int i,j,e;
    tmp=mas[0];            //временная переменная
    for(i=0;i<size;i++)    //цикл для сортировки
    {
        e=i;
        tmp=mas[i];        //первое число массива присваиваем временной переменной
        for(j=i;j<size;j++)        
        {                        
            if(mas[j]<tmp)    //выбираем элемент с найменьшим значением    (1)
            {                    
                tmp=mas[j];        
                e=j;            
            }
        }
        if(e!=i)                //и обмениваем этот элемент с первым числом массива
        {                        
            mas[e]=mas[i];        
            mas[i]=tmp;            
        }
    }
    return;
}
 
 
////////////////////////////////////////
 
 
int binar_search(float *mas,float search_key,int size) //функция для поиска
{
    int min,mid,max;
    min=0;
    max=size-1;
    while(min<=max)     //цикл поиска выполняется пока мин значение меньше или равно максимальному
    {
        mid=(min+max)/2;        //находим середину массива
        if(search_key<mas[mid])    //если запрошенное нами значение меньше,чем середина массива,            (2)
        {
            max=mid-1;        //то присваиваем максимальному значению "среднее-1"
        }
        else                        
        {
            if(search_key>mas[mid])    //если запрошенное нами значение больше,чем середина массива,    (3)
            {
                min=mid+1;    //то присваиваем максимальному значению "среднее+1"
            }
            else
            {
            cout<<endl<<"Found element n = "<<mid+1<<endl; //выводим найденное значение
                return mid;
            }
        }
    }
    cout<<endl<<"Element not found"<<endl;
    return -1;
}



связь между даными одинаковой строчки в файле должна сохраняться!
Вложения
Тип файла: txt DP8106.txt (158 байт, 19 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru