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

в функцию передается два строковых указателя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отсортировать массив структур по фамилии или по году http://www.cyberforum.ru/cpp-beginners/thread178230.html
// structura.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <windows.h> #include <stdlib.h> #include <stdio.h> #include <time.h>
C++ Динамическое решение Всем привет! Что-то никак не соображу, как решить 2 задачи методом динамического программирования. Задачи очень сходны и поняв, как решается одна из них, думаю, со второй проблем не будет. Задача 1 Даны N (2 ≤ N ≤ 24) целых чисел X1, X2, ..., XN (0 ≤ Xi ≤ 50 000 000). Расставить между ними знаки "+" и "-" так, чтобы значение получившегося выражения было равно заданному целому S (-1 000 000... http://www.cyberforum.ru/cpp-beginners/thread178221.html
Уножение разряженных матриц C++
Здравствуйте, у меня задание создать метод класса matrix, для умножения. Саму структуру классов я понимаю, я не могу понять, как перемножить матрицы без перебора всех индексов (как с обычными матрицами), так как тогда нету смысла в разряженности. Вот код: #ifndef rmatr #define rmatr #include<iostream.h> #include<conio.h> #include<stdio.h>
Печать всех квадратов в интервале от А до Б C++
Печать всех квадратов в интервале от А до Б. Пример: Input:15; 29 Output:14; 49 Пожалуйста дяди программисты помогите!:wall:
C++ В символьной строке удалить все слова состоящие из нечётного количества букв. http://www.cyberforum.ru/cpp-beginners/thread178208.html
В символьной строке удалить все слова состоящие из нечётного количества букв.
C++ Программа с использованием множественного выбора Здравствуйте!Помогите пож-та решить задачу на Си: Пользователь вводит с клавиатуры наименование геометрического тела (шар, куб, цилиндр, конус), а затем необходимые размеры (радиус, длина или длины сторон, высоту и т.п.). Программа возвращает массу тела. Плотность задается с клавиатуры. Заранее всем огромное спасибо!!! подробнее

Показать сообщение отдельно
Don Vito
 Аватар для Don Vito
9 / 9 / 1
Регистрация: 22.11.2009
Сообщений: 162
18.10.2010, 21:18     в функцию передается два строковых указателя
Добрый день!

Функции передается два указателя на массив строк. Пользователь вводит строки, необходимо найти количество совпадений второго массива в первом, причем нужно записать указатели на совпадающие элементы в динамически созданный массив указателей.

Собственно, на массиве указателей я запутался окончательно.

Так же, мне не понятно как освободить память, если нужно вернуть указатель на динамически созданный массив? Может быть, память освободится при выходе из блока функции?

Если у Вас есть минутка, посмотрите, пожалуйста, код.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <string>
using namespace std;
 
char** sbp (char *A, char *B){
 
 
       int sizeA = 0;
       int sizeB = 0;
       int quant = 0;
       int count = 0;
       while (*A) {
 
               sizeA++;
               A++;
       }
       while (*B){
 
               sizeB++;
           B++;
       }
 
       char **p;
 
       p = new char *[sizeA];
 
       if (sizeA < sizeB){
 
               cout << "The second world bigger than sentance!" << endl;
               return 0;
       }else{
 
               A-=sizeA;
               B-=sizeB;
 
       while (*A){
 
               if (*A == *B) {
 
 
                       p = &A;
                       p++;
                       quant++;
                       count++;
                       cout << "At " << count <<" index!" << endl;
 
               }else{
 
                       count++;
                       cout << "No!"<< endl;
               }
 
               A++;
       }
       }
 
      /* if (quant < sizeA){
 
               while (quant < (sizeA - 1)){
 
                       quant++;
                       p[quant] = "/0";
               }
       }*/
 
       p-=(quant);
 
       for (int i = 0; i < quant; i ++){
       
           cout << **p << endl;
           p++;
           
       }
 
       
       return p;
       
}
 
int main(){
 
char s1[80], s2[80];
 
gets(s1);
gets(s2);
char **q;
 
q = sbp(s1,s2);
 
}
Логика в коде недоработана, основной вопрос - это работа с указателем на массив указателей!

Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru