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

Указатели на указатель - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ алгоритм удаление записей http://www.cyberforum.ru/cpp-beginners/thread554795.html
напишите мне плиз алгоритм удаление записей из базы данных из куче!! буду очень благодарен! #include "stdafx.h" #include <conio.h> #include <locale.h> #include <iostream> #include <windows.h> #include <iomanip>
C++ Класс || первый опыт Привет всем не спящим в этот поздний(ранний) час! Как можно увидеть из заголовка, я пытаюсь освоить классы. Написал простенький код: #include "stdafx.h" #include <iostream> using namespace std; class f_class{ int x, y; public: http://www.cyberforum.ru/cpp-beginners/thread554780.html
C++ ASCII код последного символа в слове
Здраствуйте. Помогите пжл с примерной реализацией на С++ или просто на словах: как можна получить ASCII код последного символа в слове. Слово береться з текстового файла data2.txt. Под словом нужно понимать или буквы, например abcdef, или числа, например 12345. даю код проги, которая извлекает из текстового документа слова, и подсчитывает в них количество букв или цифр. Для примера...
C++ Определить, сколько раз повторяется определенный элемент матрицы
Народ, помогите пожалуйста! Что то я запутался. допустим у меня есть массив: 1 3 1 4 6 7 1 4 5 8 1 2 9 1 4 6 10 Моя задача: Перебрать по строчкам и столбцам и найти допустим сколько раз повторяется (1 4), потом просмотреть строчки, где есть 1 4 и найти МАКС по кол-ву эллементов в этой строке. Необходимо, чтобы программа находил для любых рядом стоящих символов (6 7) (5 8) (4...
C++ Написать программу которая вычисляет объем параллелепипеда на языке C++ http://www.cyberforum.ru/cpp-beginners/thread554751.html
1) Написать программу вычисления объема параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление объема параллелепипеда. Введите исходные данные: Длина (см) = 9 Ширина (см) = 7.5 Высота (см) = 5
C++ Реализация синуса ряды Тейлора Здрасте, помогите пожалуйста, пытаюсь реализовать функцию, которая считает синус через ряды Тейлора, но результат получается отрицательный, где может быть проблема? И можно ли как-то с оптимизировать? #include "stdafx.h" #include "math.h" #define PI 3.1415926535 void main() { long double g,r,s=0,v; подробнее

Показать сообщение отдельно
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
22.04.2012, 05:36     Указатели на указатель
void print(char** p) не будет выводить с первого элемента, т.к. вы передаете в функцию указатель ps, который на момент передачи равен адресу ps[1]
Вот тут вы увеличиваете значение указателя, и он перестает указывать в начало
C++
1
*ps++ = p; //ps[0] = p ?
чтобы все получилось, нужно вызвать print так:
C++
1
print(--ps);
Подумайте почему)

А по поводу того, что
C++
1
while(*p)
не прерывает функцию... в скобках, после while, должно быть условие, а условие имеет знаки >,<,<=,>=,==,!=.
Если вы подразумеваете здесь условие *p!=NULL или *p!=0, то попробуйте найти место в программе, где элементу ps[2] присваевается 0 или NULL.

Добавлено через 10 минут
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
#include <iostream>
 
void print(char** p)
{
    while(*p!=0)
        std::cout << *p++ << '\n'; //ps[0] а потом ps[1] ? теперь так
}
 
void main()
{
    std::cout << "Test string \n";
    char* s[10] = {0}; // теперь условие в 5-ой строке этого кода сработает
    // здесь не обязательно выделять память new
    char** ps = s;
    char p[256];
    std::cin >> p;
    *ps++ = p; //ps[0] = p ? да
    char k[256];
    std::cin >> k;
    *ps = k; // ps[1] = k? да
    ps = s; // возвращаем указатель в начало
    print(ps);
    // если выделяете new, то очищайте память при помощи delete
}
 
Текущее время: 21:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru