Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 18:26   #1
kura007
 
Регистрация: 23.03.2013
Сообщений: 5
По умолчанию Объяснение кода

Задание: Создать массив строк. Удалить все строки начинающиеся на букву "а".





Код:
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    char **a;
    int n = 5;
    a = (char **) malloc(n * sizeof(char *));
    for (int i = 0; i < n; ++i) {
        a[i] = (char *) malloc(100 * sizeof(char));
        gets(a[i]);
    }
    for (int i = n - 1; i >= 0; --i) {
        if(a[i][0] == 'a') {
            free(a[i]);
            --n;
            for (int j = i; j < n; ++j) {
                a[j] = a[j + 1];
            }
        }
    }
    a = (char **) realloc(a, n * sizeof(char *));
    printf("Edited array:\n");
    for(int i = 0; i < n; ++i) {
        puts(a[i]);
        free(a[i]);
    }
    free(a);
    system("pause");
}
kura007 вне форума Ответить с цитированием
Старый 02.05.2013, 19:05   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Что Вам не понятно в этой программе?
(могли бы задать вопросы и в старой теме )
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.05.2013, 23:31   #3
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Сразу что бросается в глаза это вот это:
Код:
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <iostream>
#include <stdio.h>
зачем вы 2 раза включаете библиотеку iostream и stdio.h в проект.

да и тут непонятно на каком языке вы пишите...Пол библиотек С++ и половину С. Делать так можно, компилятор ругаться не будет, а вот препод или на работе такое врятли одобрят. Лучше смеси языков не допускать
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 03.05.2013, 15:29   #4
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Вместо функций C для работы с памятью, которые из-за своего синтаксиса не совсем удобны для использования, лучше используйте соответствующие операторы C++.
Igor95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ объяснение Alexlive Помощь студентам 4 11.04.2013 01:00
Объяснение работы кода С++ dandelion1988 Помощь студентам 0 25.05.2012 17:29
объяснение задачи Екатерина Воробей Паскаль, Turbo Pascal, PascalABC.NET 13 10.10.2011 17:02
Объяснение программы man-utd- Помощь студентам 4 23.11.2010 21:46
Turbo Pascal Объяснение кода hills Паскаль, Turbo Pascal, PascalABC.NET 0 14.04.2009 16:18