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

отладить программу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ спользуя прямоугольную матрицу сформировать два вектора: первый, полученный путём сложения элементов строк матрицы... http://www.cyberforum.ru/cpp-beginners/thread269875.html
Используя прямоугольную матрицу сформировать два вектора: первый, полученный путём сложения элементов строк матрицы, а второйЯ, полученный умножением матрицы на первый вектор.
C++ Константные функции-члены ? Для чего использовать #define ? не имеют права изменять поля класса почему ? class Array { ... inline double operator (int n) const; объявлен константной функцией-членом: class X { public: //??? http://www.cyberforum.ru/cpp-beginners/thread269874.html
C++ Подсчитать и вывести на экран количество отрицательных, положительных и нулевых элементов массива
1)Подсчитать и вывести на экран количество отрицательных, положительных и нулевых элементов массива. 2)Составить программу, которая вводит матрицу размерностью M на N, анализирует ее и выдает на экран номер строки с минимальной величиной суммы элементов. пожалуйста напишите обе программы полностью,за неимением времени не могу сделать,но очень нужно.
Решение матричных игр. Есть у кого такая программа написанная уже... C++
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?
C++ Для функции Y = f(X), вывести на экран значения Y для Х = 0, 0.5, 1.0, ... 20.5. шаг «Х» - 0,5 http://www.cyberforum.ru/cpp-beginners/thread269828.html
Ребята, снова обращаюсь к вам за помощью. если есть желание и возможность, помогите решить еще задачи) Циклы Для функции Y = f(X), вывести на экран значения Y для Х = 0, 0.5, 1.0, ... 20.5. шаг «Х» - 0,5 график для задачи по ссылке Массивы одномерные Ввести одномерный массив размерностью с клавиатуры. Поменять местами элементы между собой 1 и 3, 2 и 4, 5 и 7, 6 и 8, 9 и 11, 10 и...
C++ перераспределить значения переменных парни выручайте!контра пишу с телефона) написать на си а не на си++ задание- перераспределить значения переменных х и у так чтобы в х оказалось большее из этих значений а в у-меньшее Добавлено через 7 минут хелп =) подробнее

Показать сообщение отдельно
_AgreSsoR_666
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 16

отладить программу - C++

04.04.2011, 15:17. Просмотров 378. Ответов 6
Метки (Все метки)

программа компилируется,но выводит какие то иероглифы,помогите найти ошибки
#include<assert.h>
#include<iostream>
#include<string>
static const int N = 3; //количество "карточек" в массиве
static const int char_size = 256;

class note{
public:
char family_name[char_size];
int phone;
// и остальное.
private:
//nothing.
};

void add(note* const a, const int i); //заполняет i-тую "карточку"
void search(const char* const person,
const note* const a); //Поиск карточки по фамилии
void gsort(note* const a); //очевидно сортировка.

int main(void){
note a[N];
//заполняем:
for(int i = 0; i<N; i++) add(a,i);

//сортируем:
std::cout<<"==================================="<<std::endl;
for(int i = 0;i<N; i++)
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;

gsort(a);

std::cout<<"==================================="<<std::endl;
for(int i = 0;i<N; i++)
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;


//Ищем человека:
std::cout<<"кого ищем? : ";
char person[char_size];
std::cin>>person;

search(person,a);

return 0;
}

void add(note* const a, const int i){
assert((a!=NULL)&&(i>=0)&&(i<N));

//тут красивые запросы с проверкой вводимых данных.
//у нас - фамилия и телефон через пробел.
std::cout<<"\nфамилию и телефон через пробел введите пожалуйста."<<std::endl;
std::cin>>a[i].family_name>>a[i].phone;
}

void search(const char* const person, const note* const a){
assert( (a!=NULL)&&(person!=NULL)&&(N>0) );
//ниже должно быть красивое оформление и вывод всех данных
// по найденой карточке.
for(int i = 0;i<N; i++){
if(!strcmp(a[i].family_name, person)){
std::cout<<"найдено :";
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;
return;
}
}
std::cout<<"не найдено.";
}


void gsort(note* const a){
assert((a!=NULL)&&(N>0));
//гномья, разнообразия для:
int iterator = 1;
while(iterator<N){
if (a[iterator-1].phone > a[iterator].phone)
{
iterator++;}
else{
//обмен значениями (лучше написать функцию swap(a,b))
char str[char_size];
std::strcpy(str,a[iterator].family_name);
std::strcpy(a[iterator].family_name,
a[iterator-1].family_name);
std::strcpy(a[iterator-1].family_name,str);

int tmp = a[iterator].phone;
a[iterator].phone = a[iterator-1].phone;
a[iterator-1].phone = tmp;
//продолжаем:

iterator--;
if (iterator == 0) iterator = 1;
}
}
//отсортировано по убыванию.
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru