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

Указатели :) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверьте правильность кода. Почему выдаёт ошибку? http://www.cyberforum.ru/cpp-beginners/thread250810.html
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте. Текст программы #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <windows.h>
C++ закрытие программы Здравствуйте господа програмисты!у меня такой вопрос-допустим известно что открыта какая то программа,могу ли я её програмно закрыть если да,то как? Всем заранее огромное спасибо!!! Добавлено через 1 минуту на языке с++ http://www.cyberforum.ru/cpp-beginners/thread250794.html
C++ Определить, пересекаются ли прямая и окружность
Задана окружность с центром в точке О(x0,y0) и радиусом R и прямая у=ах+b. Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения
Задание на C C++
Ребята помогите решить задание.
C++ Сформировать одномерный массив целых чисел, используя датчик случайных чисел http://www.cyberforum.ru/cpp-beginners/thread250778.html
Условие такое 1.Сформировать одномерный массив целых чисел, используя датчик случайных чисел. Распечатать полученный массив. 2.Удалить 5 последних элементов массива. 3.Добавить в начало массива 3 элемента с значением M+2. Распечатать полученный массив. Делаю. #include <iostream.h>
C++ Матрицы и строки Прошу помочь с решением задач: С клавиатуры вводится матрица размером n x m: 1)Вычислить сумму всех чисел кратных трем в этой матрице и заменить максимальный элемент на эту сумму. 2)Заменить все четные элементы в заданном столбце на минимальный элемент. Строки: 1)С клавиатуры вводится строка символов состоящая из слов. Удалить из строки все слова длиной четыре символа. 2)С клавиатуры... подробнее

Показать сообщение отдельно
dimon1984
40 / 38 / 0
Регистрация: 22.01.2011
Сообщений: 670
02.03.2011, 15:53  [ТС]     Указатели :)
lea eax,dword ptr m
правильней будет lea eax, m
немного вспомнил .Ещё есть offset (mov eax, offset m) но почему то не работает - ошибка
объявлен массив константных строк, в котором не возможно будет поменять значения сторок и непосредственно сам массив отсортировать не получится
про это я догадывался А можно пример, как отсортировать с помощью указателей, до того момента, пока я сам не придумал. Хотелось бы посмотреть на правильный пример

Добавлено через 1 час 15 минут
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
int main ( )
{
    const int DAYS =7; 
    void bsort(char**,int); //прототип 
    //массив указателей на char 
    char*arrptrs [DAYS] = {"Sunday ","Monday" ,"Tuesday","Wednesday",\
        "Thursday","Friday ","Saturday " };
 
    cout <<"Neuporyado4eniy : "<<endl; 
    for(int j=0;j<DAYS;j++) //вывести неупорядоченные 
    //строки 
    cout <<*(arrptrs+j)<<endl; 
    bsort(arrptrs,DAYS); //сортировать строки 
 
    cout <<"\nuporyado4eniy: "<<endl; 
    for(j=0;j<DAYS;j++) //вывести сортированные строки 
    cout <<*(arrptrs+j)<<endl; 
 
 
    system("pause");
    return 0;
}
 
void bsort(char**pp,int n) //сортировать указатели на строки 
{ 
    void order(char**,char**); //прототип 
    int j,k; //индексы массива 
    for(j=0;j<n-1;j++) //внешний цикл 
        for(k=j+1;k<n;k++) //внутренний цикл 
            order(pp+j,pp+k); //упорядочить содержимое 
// указателей 
}
void order(char**pp1,char**pp2) //сортирует два указателя 
{ //если в первом строка больше 
    if(strcmp(*pp1,*pp2)>0) //чем во втором 
    { 
        char*tempptr =*pp1; //обменять указатели 
        *pp1 = *pp2;
        *pp2 = tempptr;
    }
}
Нашёл решение ,и есть вопросы
C++
1
2
    char*arrptrs [DAYS] = {"Sunday ","Monday" ,"Tuesday","Wednesday",\
        "Thursday","Friday ","Saturday " };
arrptrs - указатель. Как этот arrptrs связан с [DAYS]? arrptrs++ нельзя так делать. Почему?
и в функцию передаётся указатель науказатель void order(char**pp1,char**pp2)
потом идёт if(strcmp(*pp1,*pp2)>0) (одна звёздочка)
Похожий ответ давали правда, думаю со временем пойму на разнообразных примерах.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru