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

Ссылочные типы.Списки(работа с указателями) - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Юляшка
3 / 3 / 1
Регистрация: 14.12.2008
Сообщений: 30
14.12.2008, 18:58     Ссылочные типы.Списки(работа с указателями) #1
Как эта задача записывается на С++?(условие написано на Pascal)
Одно из возможных представлений длинного текста-это разделить его на участки(строки) равной длины и создать массив ссылок на эти строки:
const d=...(длина строки)
n=...(макс число строк)
type строка =packed array[1..d] of char;
ссылка=*строка(это указатель)
текст=array[1..n] of ссылка;
Используя данное представление текста,описать:
1)процедуру перестановка (Т, i, j),меняющую местами i-ую j-ую строки текста Т

2)процедуру удалить(Т, i),удаляющую i-ую строку из текста Т
//неужели я не дождусь помощи?=(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2008, 18:58     Ссылочные типы.Списки(работа с указателями)
Посмотрите здесь:

C++ работа с указателями
работа с указателями C++
C++ Работа с указателями
Работа с указателями C++
C++ Работа с указателями
C++ Работа с указателями
работа с указателями C++
Работа с указателями C++
C++ работа с указателями
Работа с указателями C++
Работа с указателями C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Юляшка
3 / 3 / 1
Регистрация: 14.12.2008
Сообщений: 30
15.12.2008, 21:24  [ТС]     Ссылочные типы.Списки(работа с указателями) #2
задача 1,готова!!!
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
#include <iostream>
using namespace std;
int main()
{
const int maxLength=20;
const int Num_of_string=4;
char* Str[Num_of_string];
      for (int i=0;i<Num_of_string;i++)
cin.getline(*(Str[i][maxLength]));
int i,j;
cout<<"Input numbers from 0 to 4"<<endl;
cin>>i>>j;
      for (int k=0;k<maxLength;k++)
{
char tmp=*(Str[i][k]);
*(Str[i][k])=*(Str[j][k]);
*(Str[j][k])=tmp;
}
for (int v=0,v<Num_of_string;v++)
{
for (int w=0,w<maxLength;w++)
 
cout<<*(Str[v][w]);
 
}
return 0;
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.12.2008, 22:48     Ссылочные типы.Списки(работа с указателями) #3
Код
    for (int k = 0; k < maxLength; k++) {
        char tmp = *(Str[i][k]);
        *(Str[i][k]) = *(Str[j][k]);
        *(Str[j][k]) = tmp;
    }
    for (int v = 0; v < Num_of_string; v++)
        for (int w = 0; w < maxLength; w++)
            cout<<*(Str[v][w]);
у тебя там ошибки (запятые в циклах вместо точек с запятой)
я по поводу реализации алгоритма, твой вариант в определённой строке через определённую позицию символа прогоняет все символы из этой строки

на самом деле там (если твой способ с указателями) нужно строки сохранять в память, а потом указатели на них менять местами в массиве указателей
либо (что медленнее первого варианта) сохранять строки в массив строк, а потом в цикле через strcpy и tmp строку менять строки местами методом полного их копирования
первый вариант более быстрый и сложный
второй более медленный и простой
Юляшка
3 / 3 / 1
Регистрация: 14.12.2008
Сообщений: 30
15.12.2008, 22:58  [ТС]     Ссылочные типы.Списки(работа с указателями) #4
Да,я когда печатала ошиблась!

Добавлено через 6 минут 19 секунд
Цитата Сообщение от Юляшка Посмотреть сообщение
cin.getline(*(Str[i][maxLength]));
То есть здесь нам указатель не нужен?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.12.2008, 12:30     Ссылочные типы.Списки(работа с указателями) #5
это массив указателей
Код
    char *Str[Num_of_string];
для такой штуки надо выделять память для каждой строки и полученный указатель записывать в этот массив указателей на строки

cin.getline() видимо заполняет символьный массив (как раз getline'у надо дать указатель на выделенную память), лучше конечно getline'ом писать в промежуточный символьный массив, а его дублировать в память и указатель на эту память помещать в массив указателей (это для того чтобы можно было потом сортировать строки менять их местами и тд)
Yandex
Объявления
16.12.2008, 12:30     Ссылочные типы.Списки(работа с указателями)
Ответ Создать тему
Опции темы

Текущее время: 05:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru