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

Работа с памятью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дописать программу (Заданы два человека – p и q. Ответить, являются ли они родственниками) http://www.cyberforum.ru/cpp-beginners/thread788946.html
Доброго времени суток! Заданы два человека – p и q. Ответить, являются ли они родственниками. (В программе должны быть заданы два массива натуральных чисел mother и father, такие, что mother – номер матери i-го человека, а father – номер его отца, для каждого i, удовлетворяющего неравенствам 0<= i <=n-1.) Прога в рабочем состоянии, но ее необходимо дополнить (или/и исправить), чтобы она...
C++ Генерирование случайных чисел и выборка значения из этих чисел Здравствуйте, помогите решить задачку. Нужно случайным образом сгенерировать числа от 0..9, 100 раз. Затем из генерированных чисел пользователь должен выбрать число, и в программе должен быть пересчет, сколько раз встретилось это число из 100 раз. Затем мы должны занести данные каждого числа от 0..9 (сколько раз оно встретилось) в массив... Спасибо.... Начало моего задания...... int... http://www.cyberforum.ru/cpp-beginners/thread788942.html
C++ Программа, определяющая для заданного целочисленного объекта определить количество ведущих единиц старшего его байта
Здравствуйте, помогите, пожалуйста, выполнить задачу. Нужна программа, позволяющая для заданного целочисленного объекта (int) определить количество ведущих единиц младшего его байта. И, если кто сможет, вторую: Определить указатель на константный указатель на целочисленный объект и указать возможные способы доступа к этому объекту. Заранее благодарю.
Вычислить значение выражения C++
#include <stdio.h> #include <conio.h> #include <math.h> int main() { printf("\nLaboratornaya rabota # 1"); printf("\nVariant # 5"); printf("\nIS-11-2"); printf("\nVasya Pupkin\n");
C++ Перевод Формулы на C++ http://www.cyberforum.ru/cpp-beginners/thread788909.html
Помогите пожалуйста перевести формулу. Спасибо.
C++ Замена символов на пробелы в string Здравствуйте, есть такое задание:Есть вектор page в котором находятся string в нем записан большой текст в котором есть русские буквы,английские буквы и символы как мне заменить в string все символы на пробелы вроде функция replace заменяет но я не понимаю как в этом случае её воспользоватся.Можете подсказать решение этой задачи? подробнее

Показать сообщение отдельно
Генри
12 / 12 / 2
Регистрация: 19.08.2012
Сообщений: 51
18.02.2013, 10:56     Работа с памятью
Задали программу написать которая удаляет слова с одинаковым количеством гласных и согласных букв. Слова вводятся через пробел, около 4 штук, а потом выводятся оставшиеся. Проблема в том, что иногда происходит сбой в работе с памятью. Иногда программа работает нормально. Можете подсказать, где ошибка?
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <Windows.h>
using namespace std;
 
int Probel(char*s, int n, int i)
{
    while(i<n && s[i]==' ') 
        i++;
    return i;
}
 
int DEL( char **ms, int m, int k)
{
    char *p=ms[k];
    for (int i=k; i<m; i++)
        ms[i]=ms[i+1];
    delete []p;
    return (m-1);
}
 
 
 
 void main ()
 {
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     cout<<"Дан массив из n строк. Удалим все строки, имеющие одинаковое количество\nгласных и согласных букв.\n";
     char *s, **ms; int i, k=0,j,n=25,g=0,h=0,TAB[256];
     s=new char[80];
     ms=new char* [20];
     puts("Введите строку:"); 
     gets(s); cout<<endl;
     while (s[i]!='\0')
     {
         i=Probel(s,n,i); 
         ms[k]=new char [30];
         for (j=0; s[i]!='\0' && s[i]!=' '; j++, i++)
            ms[k][j]=s[i];
         ms[k][j]='\0';
         k++;
     }
     cout<<"\nСтроки для исследования:\n";
    for (i=0;i<k;i++)
        puts(ms[i]);
    cout<<endl;
    for(h=0,g=0,j=0;j<k;) 
   {
       for(i=0;i<256;i++) 
           TAB[i]=0;
       for(i=0; ms[j][i]!='\0';i++) 
       {
           TAB[ms[j][i]]++; h++;
       }
    if(TAB['a'])  g+=TAB['a'];
    if(TAB['e'])  g+=TAB['e'];
    if(TAB['y'])  g+=TAB['y'];
    if(TAB['o'])  g+=TAB['o']; 
    if(TAB['i'])  g+=TAB['i'];
    if(TAB['u'])  g+=TAB['u'];
    if(g==h-g) 
        k=DEL(ms,k,j);
    else j++;h=0,g=0;
   }
    cout<<"Строки, с разным количеством гласных и согласный:\n";
    for(i=0;i<k;i++) puts(ms[i]);
    for(i=0;i<k;i++) delete[]ms[i];
    delete[]ms;
    delete s;
    _getch();
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru