1 / 1 / 0
Регистрация: 22.09.2012
Сообщений: 16
1

Написать программу, которая считывает текст из файла и выводит его на экран, меняя каждые два соседних слова.

22.09.2012, 10:38. Показов 2472. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите дописать программу на Си.Написать программу, которая считывает текст из файла и выводит его на экран, меняя каждые два соседних слова.
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
#include "stdafx.h"             
#include "stdio.h"                  
#include <string.h>                 
#include <locale.h>
 
FILE *f;                                
 
int main()
{
    setlocale(LC_ALL, "Ukrainian");             
    int i=0,s=0;                                
    char str[256];
    f=fopen("in.txt", "wt");                    
    printf("введiть текст:\n");
        gets(str);              
        fputs(str,f);               
    fclose(f);                      
    FILE *f1;
    f1=fopen("in.txt","rt");            
    if(f==NULL) { printf("Fail not open"); }
    fgets(str,256,f);           
    while(!feof(f))
    {   
    
         ????вот тут незнаю как?????
                }           
    fclose(f1);                                         
    getchar();                                          
    return 0;                                           
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2012, 10:38
Ответы с готовыми решениями:

Считать текст из файла и вывести его на экран, меняя местами каждые два соседних слова
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...

Написать программу, которая считывает текст из файла и выводит его на экран
Написать программу, которая считывает текст из файла и выводит его на экран, заменяя цифры от 0 до...

Написать программу, которая считывает текст из файла и выводит его на экран
Доброго времени суток! Написать программу , которая считывает текст из файла и выводит его на экран...

Написать программу, которая считывает текст из файла и выводит на экран слова, начинающиеся с гласных букв
Написать программу, которая считывает текст из файла и выводит на экран слова, начинающиеся с...

3
Заблокирован
23.09.2012, 00:38 2
"Дописать" - это таки громко сказано. Особенно, учитывая строки 6 и 18 О_о
Мучает также любопытство по поводу "Fail not open". Сюжет из категории "Казнить нельзя помиловать"?.

Однако, решение:
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 <stdlib.h>
#include <string.h>
 
int main()
{   int start = 0, i = 0, j;
    char w[][20]={"",""}, ch;
    
    FILE *f;
    f = fopen("start.txt","r");
    if (f==NULL)
    {   printf("Epic fail opening source file\n");
        getchar();
        exit(1);
    }
 
    while(1)
    {   for(j=0; j<2;j++)
        {while(1)
          { ch = fgetc(f);
            if(ch==EOF || (ch==' ' && start)) 
            {   w[j][i]='\0';
                i = 0;
                start--;
                break;              //inner while
            }
            if(ch!=' ')
            {   if(!start) start++;
                w[j][i] = ch;
                i++;
            }
          }
        if(ch==EOF) break;          //for
       }
 
        printf(" %s %s", w[1],w[0]);
        if(ch==EOF) break;          //outer while
        for(j=0; j<2;j++)
            strcpy(w[j],"");
        
    }
 
    fclose(f);
    getchar();
    return 0;
}
Результат (исходный файл и "микс" на экране):
Миниатюры
Написать программу, которая считывает текст из файла и выводит его на экран, меняя каждые два соседних слова.  
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,312
23.09.2012, 12:03 3
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
#include <stdio.h>
 
#define WRD_LEN 256
#define WRD_MASK "%255s"
 
#define FILE_NAME "file.txt"
 
int main(void) {
    char w1[WRD_LEN], w2[WRD_LEN];
    FILE * f;
    
    if ( ! ( f = fopen(FILE_NAME, "r") ) ) {
        fprintf(stderr, "Can't open %s for input!\n", FILE_NAME);
        return 1;
    }
    
    while ( fscanf(f, WRD_MASK, w1) == 1 ) {
        if ( fscanf(f, WRD_MASK, w2) == 1 )
            printf("%s ", w2);
        printf("%s ", w1);
    }
    
    return ( ferror(f) || fclose(f) );
}
2
1 / 1 / 0
Регистрация: 22.09.2012
Сообщений: 16
25.09.2012, 16:05  [ТС] 4
спасибо, вы мне очень помогли.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2012, 16:05
Помогаю со студенческими работами здесь

Написать программу, которая считывает текст из файла и выводит на экран
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а...

Написать программу, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых
Написать программу, которая считывает текст из файла и выводит на экран только предложения, не...

Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие...

Вывести на экран строки, меняя местами два соседних слова
Задание: Из задания я понял что должен быть массив строк str. C массивами у меня плохо, со...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru