0

como harían este programa (solo explicaciones no intento que me lo hagan)

Escribir un programa en lenguaje C que ordene las líneas de un texto leído, rodeado por un borde desde la entrada estándar, donde cada línea de texto tiene diferentes longitudes, tomando en cuenta que: Debe guardar todas las líneas en un arreglo de tipo char grande. Observando que \n marca el fin de cada línea. Guarde los apuntadores en un arreglo diferentes donde cada apuntador apunta al primer carácter de cada línea. Comparar dos líneas usando la función de la biblioteca estándar strcmp(). Si dos líneas tienen diferentes longitudes rellene con blancos para que tengan el mismo tamaño o longitud.

17th Sep 2020, 10:46 PM
michelle mendoza
michelle mendoza - avatar
5 Réponses
+ 1
hasta el momento tengo esto #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #define MAX 1000 void gotoxy (int x,int y){ HANDLE hcon; hcon=GetStdHandle(STD_OUTPUT_HANDLE); COORD dwPos; dwPos.X=x; dwPos.Y=y; SetConsoleCursorPosition(hcon,dwPos); } void texto (); int linea (char*); char arreglo [MAX]; int main(){ int i, j; char arreglo[MAX]; // Lo usamos para dibujar los bordes. for(i=2; i<78; i++){ //horizontal superior gotoxy (i,2); printf("%c",205); gotoxy(i,23); printf("%c",205); } for(j=3;j<23;j++){ //horizontal inferios gotoxy (2,j); printf("%c",186); gotoxy (77,j); printf("%c",186); } // bordes del marco gotoxy (2,2); printf("%c",201); gotoxy (2,23); printf("%c",200); gotoxy (77,2); printf("%c",187); gotoxy (77,23); printf("%c",188); gotoxy (35,5); printf ("Mensaje"); gotoxy(3,8); printf(" "); scanf("%c",arreglo); getch(); return 0; }
17th Sep 2020, 11:23 PM
michelle mendoza
michelle mendoza - avatar
+ 1
Su programa tiene comandos de Windows, no funciona en SoloLearn. Funciona solo en entornos Windows ... Publico un ejemplo de muestra de cómo leer cadenas en una matriz de caracteres y el uso del puntero para esas matrices, función strcmp ... Espero que puedas postularte a tu programa. #include <stdio.h> #include <string.h> int main () { char str1 [20], str2 [20]; fgets (str1,20, stdin); // leyendo una línea de string1 fgets (str2,20, stdin); // leyendo una línea si string2 char * p1 = str1; // asignando a fisrt char a un puntero si str1 char * p2 = str2; // asignando al primer carácter de str2 al puntero p2 printf ("% d", strcmp (str1, str2)); // función de comparación de cadenas usando .. printf ("% c% c", * p1, * p2); // imprimiendo los primeros caracteres de las cadenas por puntero return 0; } Esto es traducido por Google Copiar pegado, si no funciona en el patio de juegos de código, utilice el siguiente código original
18th Sep 2020, 3:46 PM
Jayakrishna 🇮🇳
+ 1
Your program has Windows commands, not works in SoloLearn. Works only on Windows environments... I posting a sample example of how to read strings into charecter array, and pointer use for those array, strcmp function.. Hope you can apply to your program.. #include <stdio.h> #include<string.h> int main() { char str1[20],str2[20]; fgets(str1,20,stdin); //reading a line of string1 fgets(str2,20,stdin); //reading a line if string2 char *p1=str1; //assigning to fisrt char to a pointer if str1 char *p2=str2; //assigning to first char of str2 to pointer p2 printf("%d ", strcmp(str1,str2)); //string compare function using.. printf("%c %c", *p1,*p2); //printing first charecters of strings by pointer return 0; }
18th Sep 2020, 3:46 PM
Jayakrishna 🇮🇳
0
Declarar matriz de caracteres. Utilice el método fgets (char_array, max_size, source) para leer la línea completa de cadena en char_array. Use la función strcmp en aquellos que usan bloques in if para mostrar la información necesaria ... Solo conozca fgets, strcmp, (matriz de caracteres del puntero que desee, luego también asigne memoria para el puntero)
17th Sep 2020, 11:04 PM
Jayakrishna 🇮🇳
0
Si tiene comando de Windows por el borde si no agregaba la esa librería me aparece múltiple errores en el programa y gracias ya tengo mas de como hacerlo.
18th Sep 2020, 5:48 PM
michelle mendoza
michelle mendoza - avatar