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

Переделать задачу, с использованием <string.h> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: Найти, сколько положительных элементов содержит данная матрица в каждом столбце http://www.cyberforum.ru/cpp-beginners/thread557190.html
Найти сумму наименьших элементов каждого столбца матрицы и их координаты , Найти, сколько положительных элементов содержит данная матрица в каждом столбце
C++ Строки Всем привет! Нам дали задачу по практике. С++. А препод по теории уехал. Строки мы не проходили ещё. Помогите пожалуйста. Задача: Дан файл с текстом программы на C++. Записать в выходной файл все переменные, указать в какой строке расположено объявление переменной и номера строк, где значение переменной изменяется. информация о новой переменной должна располагаться с новой строки. http://www.cyberforum.ru/cpp-beginners/thread557188.html
C++ Найдите ошибку
Плиз помогите найти ошибку в проге на функции #include <iostream> #include <conio.h> #include <time.h> #include <string.h> using namespace std; int sumCol(int **A,int m,int n,int k) {
Массив: Найти среднее арифметическое из всех положительных элементов этой матрицы C++
Привет всем) пожалуйста решите пару задач по теме массивы)) очень надо сдать эти задачи) а сроки поджимают) 1)Найти среднее арифметическое из всех положительных элементов этой матрицы 2)Задана квадратная матрица A размером N x N (N<=10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждого из четных столбцов этой матрицы 3)Получить новую матрицу путем...
C++ Описание функции http://www.cyberforum.ru/cpp-beginners/thread557166.html
Описать функцию Factors(A,N,F), находящую разложение натурального числа A на простые множители. Количество множителей возвращается в целой переменной N, а сами множители ( в порядке неубывания) - в целочисленном массиве F(N и F - выходные параметры; максимальное число элементов массива F считать равным 15). С помощью этой процедуры разложить на простые множители 5 данных чисел. Добавлено...
C++ Описать функцию SumCol Народ нужна помощь - помогите с нереально трудной задачей -умоляю вас, очень надо... Надо написать программу - никак не получается - я новичок... Описать функцию SumCol (A, M, N, k) вещественного типа, вычисляюущую сумму элементов вещественной матрицы A, размером M*N, расположенных в k-ом столбце (если k>N, то функция возраoftn 0). Для данной матрицы А размером M*N и трех данных k найти SumCol... подробнее

Показать сообщение отдельно
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
27.04.2012, 19:52  [ТС]     Переделать задачу, с использованием <string.h>
Цитата Сообщение от zss Посмотреть сообщение
Вот проверенный код
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
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <locale>
using namespace std; 
void main()
{
  char *a = new char [1000];
  char *a1 = new char [1000];
  int k = 1;
  puts("Vvedite stroku(na angliyskom):");
  gets(a);
  int n = strlen(a);
  if(n>80)
      *(a+80)=0;
  char *pa=a;
  char *pa1=a1;
  while(pa-a < n)
  {
     if(ispunct(*pa) || *pa==' ')
     {
        while(ispunct(*pa) || *pa==' ')
        {
           *pa1 = *pa;
           pa1++;pa++;
        }
        k++;
    }else
    if (k==3)
    {
           *pa1= '/';
           *(pa1+1) = *pa;
           pa1+=2;
           pa++;
    }else
    {
           *pa1 = *pa;
           pa1++;
           pa++;
           
    }
  }
  *pa1=0;
  puts(a1);
  delete[] a;
  delete[] a1;
  getch();
}
Это же мой дубляж, только переменные другие, всёравно спасибо поскольку с указателями у меня туго!
Есть одна ошибка программа ставит '/', только в одном слове, из-за 29 строчки k==3, работает только один раз, когда третье слово, а когда 6, 9, 12 и т.д. не работает!
Нуно добавить библиотеку
C++
1
#include <math.h>
и изменить 29 строчку на
C++
1
    if (fmod(k,3) == 0)
И всё прекрасно работает!
Вот полученный код, может кому пригодится :
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
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <locale>
   #include <math.h>
using namespace std; 
void main()
{
  char *a = new char [1000];
  char *a1 = new char [1000];
  int k = 1;
  puts("Vvedite stroku(na angliyskom):");
  gets(a);
  int n = strlen(a);
  if(n>80)
      *(a+80)=0;
  char *pa=a;
  char *pa1=a1;
  while(pa-a < n)
  {
     if(ispunct(*pa) || *pa==' ')
     {
        while(ispunct(*pa) || *pa==' ')
        {
           *pa1 = *pa;
           pa1++;pa++;
        }
        k++;
    }else
    if (fmod(k,3) == 0)
    {
           *pa1= '/';
           *(pa1+1) = *pa;
           pa1+=2;
           pa++;
    }else
    {
           *pa1 = *pa;
           pa1++;
           pa++;
           
    }
  }
  *pa1=0;
  puts(a1);
  delete[] a;
  delete[] a1;
  getch();
}
 
Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru