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

Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
Роман Шутов
0 / 0 / 0
Регистрация: 16.09.2012
Сообщений: 41
17.09.2012, 01:34     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #1
Товарищи, простите что обращаюсь. Кому не сложно, помогите (решите) хоть сколько нибудь из этих 3 заданий. Сам я чайник, много проболел и упустил материал, а в срок не выучу его, чтобы сдать зачет. Очень хочу в универе остаться, нагнать упущенное, так что кому не сложно, помогите, напишите код.

1)Дан файл, содержащий несколько строк. Найти максимальную длину строки и вывести в новый файл все строки, имеющую такую длину.

2)Определить функцию, посчитывающую количество инверсий в последовательности цифр натурального числа, то есть количество таких пар соседних цифр, в которых большая находится слева от меньшей. Из массива целых чисел, генерируемом случайным образом, вывести на экран сначала все числа, в записи которых нет инверсий, затем числа, в записи которых 1 инверсия и т.д. до чисел, имеющих максимальное число инверсий в данном массиве. Например, элементы массива {3564, 123, 24, 87, 981, 9871, 54} должны быть выведены следующим образом: 0 инверсий: 123, 24; 1 инверсия: 3564, 87,54; 2 инверсии: 981; 3 инверсии: 9871.

3)Даны натуральные числа N и M (N>M). Вычислить http://www.cyberforum.ru/cgi-bin/latex.cgi?S=\sum_{k-M}^{N}k^2ln(k!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2012, 01:34     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину
Посмотрите здесь:

Вывести длину строки C++
C++ Определить длину строки,удалить из строки все символы, которые равны заданному
C++ Определить длину строки, вывести строку
C++ Строки. Найти длину самого короткого слова
C++ Дополнить строки знаками "+", чтобы все строки в нем имели длину 80 символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
17.09.2012, 07:17     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #2
вот код к 3 задаче , единственное не понятно про k , поэтому я принял равным его М так как, из факториала видно , что аргумент его не может быть меньше 0

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
unsigned long factfunc(unsigned long x)
{
  if(x > 0)
    return x * factfunc(x-1);     //рекурсия
  else
    return 1;
}
 
int main(){
    unsigned long sum=0;
    int m,n;
    cout<<"\n Введите N:"; cin>>n;
    cout<<"\n Введите M:"; cin>>m;
    for (int k=M; k<N ; k++)
        sum+=k*k*log(factfunc(k));
    cout<<"\n Сумма равна:"; cin>>sum;            
}
Добавлено через 2 минуты
по первой задаче обшарте форум тема избита!
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
17.09.2012, 10:03     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #3
2)Определить функцию, посчитывающую количество инверсий в последовательности цифр натурального числа, то есть количество таких пар соседних цифр, в которых большая находится слева от меньшей. Из массива целых чисел, генерируемом случайным образом, вывести на экран сначала все числа, в записи которых нет инверсий, затем числа, в записи которых 1 инверсия и т.д. до чисел, имеющих максимальное число инверсий в данном массиве. Например, элементы массива {3564, 123, 24, 87, 981, 9871, 54} должны быть выведены следующим образом: 0 инверсий: 123, 24; 1 инверсия: 3564, 87,54; 2 инверсии: 981; 3 инверсии: 9871:

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 20
 
int digits(int num, int* dv)
{
    int i = 0;
    while (i < 32 && num > 0)
    {
        dv[i++] = num % 10;
        num /= 10;
    }
 
    return i;
}
 
int inv(int num)
{
    int* dv = new int[32];
    int count = 0, n = digits(num,dv); 
    for (int q = n-1; q > 0; q--)
        if (dv[q] > dv[q-1]) count++;
 
    return count;
}
 
int main()
{
    int* nums = new int[N];
    for (int i = 0; i < N; i++)
    {
        nums[i] = rand() % 9999 + 1;
        printf("%d ",nums[i]);
    }
 
    printf("\n\n");
 
    int max_inv = 0, cnt = 0;
    for (int i = 0; i < N; i++)
        if ((cnt = inv(nums[i])) > max_inv) 
            max_inv = cnt;
 
    for (int t = 0; t <= max_inv; t++)
    {
        printf("%d inversions: ",t);
        for (int q = 0; q < N; q++)
            if (inv(nums[q]) == t) printf("%d ",nums[q]);
        printf("\n");
    }
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/78a2aa...d67426e314e3d9
Миниатюры
Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину  
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
17.09.2012, 10:13     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #4
1)Дан файл, содержащий несколько строк. Найти максимальную длину строки и вывести в новый файл все строки, имеющую такую длину:
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define MAX 256
 
int main()
{
    FILE* fp = NULL;
    const char* filename[2] = { "input.txt", "output.txt" };
 
    if ((fp = fopen(filename[0], "r")) == NULL)
    {
        printf("Unable to open file %s for reading\0",filename[0]);
        return 0;
    }
 
    char **ppsz = new char*[MAX], *str = "\0";
    for (int i = 0; fgets(str, MAX, fp) != NULL; i++)
    {
        ppsz[i] = new char[MAX];
        strcpy(ppsz[i++], str);
    }
 
    fclose(fp);
 
    int len = 0, max = 0;
    for (int t = 0; ppsz[t] != NULL; t++)
        if ((len = strlen(ppsz[t])) > max)
            max = len;
 
    if ((fp = fopen(filename[1], "w")) == NULL)
    {
        printf("Unable to open file %s for writing\0",filename[1]);
        return 0;
    }
 
    for (int q = 0; ppsz[q] != NULL; q++)
        if (strlen(ppsz[q]) == max) fprintf(fp,"%s\n",ppsz[q]);
 
    fclose(fp);
 
    _getch();
 
    return 0;
}
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
17.09.2012, 10:30     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #5
3)Даны натуральные числа N и M (N>M). Вычислить:

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int fact(int n)
{
    int mul = 1, i = mul;
    while (i <= n) mul*=i++;
    return mul;
}
 
int main()
{
    int N = 0, M = 0;
 
    printf("M = "); scanf("%d",&M);
    printf("N = "); scanf("%d",&N);
 
    if (M > N) { printf("error (M > N)\n"); return 0; }
 
    double sum = 0; int k = M, i = N, f = fact(k);
    while (--N >= (k - M)) sum+=pow((double)k,2) * log((double)f);
 
    printf("S = %lf\n",sum);
 
    _getch();
 
    return 0;
}
Миниатюры
Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину  
Роман Шутов
0 / 0 / 0
Регистрация: 16.09.2012
Сообщений: 41
18.09.2012, 00:40  [ТС]     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #6
Храни вас Бог, спасибо большое!

Добавлено через 32 минуты
zitxbit, прошу прощения, но что то проблемы с компиляцией в 1 задаче. Запускаю - сначала просто сразу заканчивал работу, только открывшись, потом стал выдавать ошибку о нарушении прав. Как быть?
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
18.09.2012, 08:26     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #7
Зайдите по ссылке в конце поста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2012, 23:38     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину
Еще ссылки по теме:

C++ Текст в файле, проверить длину строки
C++ В базовом классе вводится символьный массив, а в производном - проверка на максимальную длину строки
C++ Узнать длину строки и длину каждого слова

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Роман Шутов
0 / 0 / 0
Регистрация: 16.09.2012
Сообщений: 41
18.09.2012, 23:38  [ТС]     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину #8
В первой - я имел ввиду задачу 1). "Дан файл содержащий несколько строк..."
Yandex
Объявления
18.09.2012, 23:38     Найти в файле максимальную длину строки и вывести в новый файл все строки, имеющую такую длину
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru