Программа ищет гласные и, если гласных больше заданного числа, то прекращается ввод - C (СИ)
Формулировка задачи:
Что не так? Программа ищет гласные и, если гласных больше заданного числа, то прекращается ввод
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "string.h"
#include "malloc.h"
#define size 500
int main()
{//Номер
int i;
//Файл
FILE *in_file;
// Массив, в который помещается считываемая строка
char *dinamic_array = (char*)malloc(size*sizeof(char));
for (i = 0; i < size; i++)
{
dinamic_array[i] = (char)malloc(size*sizeof(char));
}
//Условие
int uslovie = 5;
//Количество гласных латинских букв в тексте
int kolichestvo_glasnix = 0;
//Запрос ввода строки
printf("vvedite stroku:\n");
//Цикл
while (kolichestvo_glasnix != uslovie)
{
//Чтение строки из стандартного потока ввода
gets_s(&dinamic_array[i], size*sizeof(char));
//Поиск
if (dinamic_array[i] == 'a' || dinamic_array[i] == 'e' || dinamic_array[i] == 'i' || dinamic_array[i] == 'o'
|| dinamic_array[i] == 'u' || dinamic_array[i] == 'y')
{
kolichestvo_glasnix++;
}
}
//Вывод результата работы
fopen_s(&in_file, "D:\something.txt", "w+");
fputs(dinamic_array, in_file);
//Освобождение памяти
free(dinamic_array);
system("pause");
return 0;
}Решение задачи: «Программа ищет гласные и, если гласных больше заданного числа, то прекращается ввод»
textual
Листинг программы
#include <stdio.h>
int main()
{
char c;
FILE *in_file;
in_file = fopen("D:\\something.txt", "w");
int kolichestvo_glasnix = 0, uslovie = 5;
printf("vvedite stroku:\n");
while (kolichestvo_glasnix != uslovie){
c = getchar();
fprintf(in_file,"%c", c);
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'y')
kolichestvo_glasnix++;
}
return 0;
}