Форум программистов, компьютерный форум, киберфорум
Наши страницы

Выделение памяти для строки символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Символы, которые встречаются один раз http://www.cyberforum.ru/cpp-beginners/thread542587.html
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте.
C++ Удалить гласные буквы, а согласные заменить на прописные. Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные. http://www.cyberforum.ru/cpp-beginners/thread542586.html
Дана строка, содержащая полное имя файла. Выделить из строки название последнего каталога C++
Разработать программу согласно варианту задания. Максимальная длина строк не менее 80 символов. При реализации программы необходимо использовать функции для обработки строк из библиотек stdlib.h и...
Вывод на экран сведений о периодических изданиях. C++
Составить программу, выводящую на экран сведения о периодических изданиях (наименование издания, тираж, годовая стоимость).
C++ Найти максимальный элемент одномерного массива и среднее арифметическое его положительных элементов http://www.cyberforum.ru/cpp-beginners/thread542570.html
Передача массивов в функцию (одномерные массивы) Дан одномерный массив, состоящий из N вещественных элементов. Найти максимальный элемент. Вычислить среднеарифметическое положительных элементов...
C++ Сформировать одномерный массив C(5) из среднегеометрических значений положительных элементов каждого столбца матрицы. Передача массивов в функцию (многомерные массивы) Дана матрица A(5,5). Сформировать одномерный массив C(5) из среднегеометрических значений положительных элементов каждого столбца матрицы. Еще... подробнее

Показать сообщение отдельно
Kuzia domovenok
1957 / 1810 / 142
Регистрация: 25.03.2012
Сообщений: 6,265
Записей в блоге: 1
08.04.2012, 16:45
что, сложно код в сообщение вставить.
Ты не выделил память под массив строк, и
сразу стал выделять в цикле память для каждой строки
надо так
C
1
p= (char**)malloc(n*sizeof(char*));
кроме того, когда ты делаешь scanf строки у тебя УЖЕ ЕСТЬ указатель на неё
C
1
scanf("%s",&p[i]);
и не требуется писать амперсант где не надо пиши так
C
1
scanf("%s",p[i]);
И наконец, память надо освобождать,
C
1
2
for(i=0;i<n;i++) free(p[i]);
free(p);
И ВСТАВЬ КОД В СВОЙ ПОСТ, НАКОНЕЦ!!!
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
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace System;
void vvod(int n);
int main(array<System::String ^> ^args)
{
    int n;
       
       printf("vvedite kol-vo strok\n");
       scanf("%d", &n);
       vvod(n);
       getch();
}
void vvod(int n)
{
    char **p;
    int i;
    p= (char**)malloc(n*sizeof(char*));  
    for(i=0;i<n;i++)
      {
      
          p[i]= (char*)malloc(80*sizeof(char));
      
       if(!p[i])
       {
           printf("pamyat ne videlena");
           exit (1);
       }
      
       scanf("%s",&p[i]);
     
      }   
    
      for(i=0;i<n;i++)
         printf("%s",p[i]);
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru