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.
5 Answers
+ 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;
}
+ 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
+ 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;
}
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)
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.