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

Вывод результата на экран - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка значений типа char http://www.cyberforum.ru/cpp-beginners/thread553877.html
Здравствуйте, есть у меня структура: ФИО ученика и класс в котором он учится. Класс состоит из цифры и буквы. Как можно отсортировать данные по классам в порядке: 9А, 9B, 9C, 10A и т.д. ? Добавлено через 17 минут #include <iostream.h> #include <conio.h> #include <stdio.h> struct school {char pib; char n;
C++ Странный глюк с вектором Я определил операции: Присвоения: bool s; std::vector<int> v; void operator=(int get_i){ s = get_i < 0; // знак if(abs(get_i) >= 1000){ v.resize(2); http://www.cyberforum.ru/cpp-beginners/thread553865.html
C++ Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой
Добрый вечер! Собственно суть задачи такова: Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой Я не совсем поняла списки, вы не могли бы помочь разобраться в программе? есть некие наброски, но сомневаюсь, что они верны: #include <iostream> using namespace std; template <typename T> class List {
Очищение памяти в ассемблерной вставке C++
/* Выделить из строки подстроку указанной длины, начиная с заданной позиции. */ #include <stdio.h> #include <iostream> #include <stdlib.h> void main () { setlocale (LC_ALL, "rus");
C++ Не проходит компиляция программы. Ошибки из-за graphics.h http://www.cyberforum.ru/cpp-beginners/thread553857.html
#include <graphics.h> #include <stdlib.h> #include <conio.h> int random (int k) { return rand() % k; } main() {
C++ While/For Здравствуйте. Нужна помощь в парочку задач: 1) Дано натуральные числа n,b1,b2,...,bn. Найти члены bk последовательности b1,b2,...,bn, имеют такое свойство: корни уравнения x^2+3*bk-5 действительны и положительными. k,1,2,n -индекс (через While) 2)Дано натуральное число n и действительные числа b1,b2,...,bn. Вычислить обратную величину для произведения тех чисел bk последовательности... подробнее

Показать сообщение отдельно
zewer
 Аватар для zewer
1019 / 710 / 71
Регистрация: 07.01.2011
Сообщений: 5,365
21.04.2012, 19:05  [ТС]     Вывод результата на экран
Цитата Сообщение от Xavier Посмотреть сообщение
ты пишешь в начале char *ar[37]; это ты создаешь массив указателей а не строку

а в этом коде:

ты указываешь этим указателем на эту строку т.е. присваиваешь указателю с индексом[h] из массива указателей адрес строки если я все правильно понял

так вот попробуй в конце там где у тебя ошибка написать
C++
1
2
or (int i = 0; i < m; i++)           /// сдесь ошибка
        cout << (*ar)[i];
вот так
у меня заработало после этого
у меня ничего. Еще меня беспокоит одна проблема, у меня в строках:
C++
1
2
3
4
5
        if (ar[h] == NULL)
        {
            ar[h] = l->ar; // ошибка 
            cout << "\tСлово занесено у хеш-таблицю\n";
        }
проха не заходит в if, т.е. наверное надо брать не char *ar[37]; а char ar[37]; потомучто в масиве походу не будет даже данных
но тогда в :
C++
1
ar[h] = l->ar;
будет ошибка

попробуй вот такой код:

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
#include <conio.h>
#include "iostream"    //////        Варіант:
#include "fstream"     /////    Хеш-ф-ія: 12.   h(key) = [7*(кількість символів в ключі)] % 37;
using namespace std;   /////    Колізія: 14.    методом рехешування з функцією повторного хешування 
                       /////    hi(key) = ( h(key) + p • i^2 ) % m ,  
//#define m 37           /////    де p – послідовність випадкових цілих чисел: p1 = 2, р2 = 5, p3 = 1, р4 = 3,  ... (за потребою, продовжити цей ряд);
 
struct List
{
    char ar[100];
};
int main ()
{
    setlocale (LC_ALL,"Ukrainian");
    List *l;
    int h;
    int key = 0;
    char ar[37];
    ifstream in("C:\\data.txt",ios::in);
    cout << "\t\t\tХеш-таблиця № 1\n";
 
    while(in && !in.eof())
    {
        cout << "\n\n";
        l = new List [100];
        in >> l->ar;
        cout << "Зчитане слово: " << l->ar;
        while ( l->ar[key] != NULL )
            key++;
        cout << "\nСлово (ключ) мiстить " << key << " слiв\n";
        h = (7*key)%37;
        cout << "\th(key) = " << h << "\n\n";
        if (ar[h] == NULL)
        {
            ar[h] = l->ar; // ошибка 
            cout << "\tСлово занесено у хеш-таблицю\n";
        }
        else
        {
            cout << "Слово не може бути занесеним у хеш-таблицю, оскiльки виявлено колiзiю\n";
            //while (  );
        }
        key = 0;
    }
    in.close();
    for(int i = 0; i < 36; i++)           /// сдесь ошибка
        cout << ar[i];
    return 0;
}
 
Текущее время: 19:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru